summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-02-20 12:09:15 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-02-20 12:09:15 +0100
commit6f64349bfe42b795a6c50e9c2093d38e7a992e7a (patch)
tree23f1fd42b7b83fa875b02707cf74c78a92c0fc90
parent32a29977fbc030ad0d41b3b8eb3b165864cd5833 (diff)
i18n: Sync translations with Weblate
-rw-r--r--doc/translations/es.po930
-rw-r--r--doc/translations/fr.po425
-rw-r--r--doc/translations/zh_CN.po27209
-rw-r--r--editor/translations/editor/ar.po302
-rw-r--r--editor/translations/editor/bg.po719
-rw-r--r--editor/translations/editor/ca.po12
-rw-r--r--editor/translations/editor/cs.po302
-rw-r--r--editor/translations/editor/de.po5102
-rw-r--r--editor/translations/editor/el.po15
-rw-r--r--editor/translations/editor/eo.po23
-rw-r--r--editor/translations/editor/es.po830
-rw-r--r--editor/translations/editor/es_AR.po18
-rw-r--r--editor/translations/editor/fi.po18
-rw-r--r--editor/translations/editor/fr.po426
-rw-r--r--editor/translations/editor/gl.po9
-rw-r--r--editor/translations/editor/he.po15
-rw-r--r--editor/translations/editor/hu.po9
-rw-r--r--editor/translations/editor/id.po18
-rw-r--r--editor/translations/editor/it.po5430
-rw-r--r--editor/translations/editor/ja.po263
-rw-r--r--editor/translations/editor/ko.po18
-rw-r--r--editor/translations/editor/lv.po15
-rw-r--r--editor/translations/editor/ms.po12
-rw-r--r--editor/translations/editor/nb.po9
-rw-r--r--editor/translations/editor/nl.po242
-rw-r--r--editor/translations/editor/pl.po985
-rw-r--r--editor/translations/editor/pt.po99
-rw-r--r--editor/translations/editor/pt_BR.po1298
-rw-r--r--editor/translations/editor/ro.po12
-rw-r--r--editor/translations/editor/ru.po1104
-rw-r--r--editor/translations/editor/sk.po9
-rw-r--r--editor/translations/editor/sv.po21
-rw-r--r--editor/translations/editor/th.po28
-rw-r--r--editor/translations/editor/tr.po86
-rw-r--r--editor/translations/editor/uk.po157
-rw-r--r--editor/translations/editor/vi.po15
-rw-r--r--editor/translations/editor/zh_CN.po401
-rw-r--r--editor/translations/editor/zh_TW.po649
-rw-r--r--editor/translations/properties/de.po281
-rw-r--r--editor/translations/properties/es.po317
-rw-r--r--editor/translations/properties/fr.po156
-rw-r--r--editor/translations/properties/it.po198
-rw-r--r--editor/translations/properties/ja.po96
-rw-r--r--editor/translations/properties/ko.po72
-rw-r--r--editor/translations/properties/pl.po248
-rw-r--r--editor/translations/properties/pt.po93
-rw-r--r--editor/translations/properties/pt_BR.po106
-rw-r--r--editor/translations/properties/ru.po120
-rw-r--r--editor/translations/properties/uk.po130
-rw-r--r--editor/translations/properties/zh_CN.po1201
-rw-r--r--editor/translations/properties/zh_TW.po101
51 files changed, 46027 insertions, 4327 deletions
diff --git a/doc/translations/es.po b/doc/translations/es.po
index 66093519c4..9970d15c1c 100644
--- a/doc/translations/es.po
+++ b/doc/translations/es.po
@@ -1,6 +1,6 @@
# Spanish translation of the Godot Engine class reference.
-# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
+# Copyright (c) 2014-present Godot Engine contributors.
+# Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
# This file is distributed under the same license as the Godot source code.
#
# 44pes Games <44pes.games@gmail.com>, 2020.
@@ -43,12 +43,13 @@
# Alan Arrecis <alan.arrecis@gmail.com>, 2023.
# Fernando Sacó <saco.fernando@gmail.com>, 2023.
# Damien Monasterios <monasterio13septiembre@gmail.com>, 2023.
+# andres gallegos <andresgg.prog@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2023-02-10 14:12+0000\n"
-"Last-Translator: Damien Monasterios <monasterio13septiembre@gmail.com>\n"
+"PO-Revision-Date: 2023-02-18 04:11+0000\n"
+"Last-Translator: andres gallegos <andresgg.prog@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/es/>\n"
"Language: es\n"
@@ -163,37 +164,10 @@ msgstr ""
msgid "Built-in GDScript functions."
msgstr "Funciones GDScript integradas."
-msgid ""
-"A list of GDScript-specific utility functions accessed in any script.\n"
-"For the list of the global functions and constants see [@GlobalScope]."
-msgstr ""
-"Una lista de funciones de utilidad de script específico GD accedidas en "
-"cualquier script.\n"
-"Para la lista de funciones globales y constantes ver [@GlobalScope]."
-
msgid "GDScript exports"
msgstr "Exportaciones de Scripts GD"
msgid ""
-"Returns a [Color] constructed from red ([param r8]), green ([param g8]), "
-"blue ([param b8]), and optionally alpha ([param a8]) integer channels, each "
-"divided by [code]255.0[/code] for their final value.\n"
-"[codeblock]\n"
-"var red = Color8(255, 0, 0) # Same as Color(1, 0, 0)\n"
-"var dark_blue = Color8(0, 0, 51) # Same as Color(0, 0, 0.2).\n"
-"var my_color = Color8(306, 255, 0, 102) # Same as Color(1.2, 1, 0, 0.4).\n"
-"[/codeblock]"
-msgstr ""
-"Devuelve un [Color] construido desde rojo ([param r8]), verde ([param "
-"g8]), azul ([param b8]), y opcionalmente alfa ([param a8]) valores "
-"enteros, cada uno dividido por [code]255.0[/code] por su valor final.\n"
-"[codeblock]\n"
-"var red = Color8(255, 0, 0) # Igual que Color(1, 0, 0)\n"
-"var dark_blue = Color8(0, 0, 51) # Igual que Color(0, 0, 0.2).\n"
-"var my_color = Color8(306, 255, 0, 102) # Igual que Color(1.2, 1, 0, 0.4).\n"
-"[/codeblock]"
-
-msgid ""
"Returns a single character (as a [String]) of the given Unicode code point "
"(which is compatible with ASCII code).\n"
"[codeblock]\n"
@@ -878,9 +852,6 @@ msgstr "Tecla modificar máscara."
msgid "Shift key mask."
msgstr "Tecla desplazamiento de la máscara."
-msgid "Ctrl key mask."
-msgstr "Tecla Control máscara."
-
msgid "Keypad key mask."
msgstr "Tecla máscara keypad."
@@ -890,12 +861,6 @@ msgstr "Tecla máscara intercambio grupo."
msgid "Middle mouse button."
msgstr "Botón central del ratón."
-msgid "Mouse wheel up."
-msgstr "Rueda de ratón arriba."
-
-msgid "Mouse wheel down."
-msgstr "Rueda de ratón abajo."
-
msgid "Mouse wheel left button (only present on some mice)."
msgstr ""
"Botón izquierdo de la rueda del ratón (sólo presente en algunos ratones)."
@@ -1409,9 +1374,6 @@ msgstr ""
msgid "Proxy texture for simple frame-based animations."
msgstr "Textura de conexión para animaciones simples basadas en fotogramas."
-msgid "Sets the currently visible frame of the texture."
-msgstr "Establece el fotograma actualmente visible de la textura."
-
msgid ""
"Number of frames to use in the animation. While you can create the frames "
"independently with [method set_frame_texture], you need to set this value "
@@ -1941,22 +1903,6 @@ msgstr "La conexion ya existe."
msgid "Plays an animation once in [AnimationNodeBlendTree]."
msgstr "Reproduce una animacion una vez en [AnimationNodeBlendTree]."
-msgid ""
-"A resource to add to an [AnimationNodeBlendTree]. This node will execute a "
-"sub-animation and return once it finishes. Blend times for fading in and out "
-"can be customized, as well as filters."
-msgstr ""
-"Un recurso para añadir a un [AnimationNodeBlendTree]. Este nodo ejecutara "
-"una subanimacion y devolvera cuando termine. Mezcla de tiempos para "
-"desvanecer y aparecer pueden ser personalizados, incluido filtros."
-
-msgid ""
-"If [code]true[/code], the sub-animation will restart automatically after "
-"finishing."
-msgstr ""
-"Si [code]true[/code], las subanimaciones se reiniciaran automaticamente "
-"despues de acabar."
-
msgid "The delay after which the automatic restart is triggered, in seconds."
msgstr "El retardo con el cual un reinicio automatico es lanzado, en segundos."
@@ -2038,10 +1984,6 @@ msgstr ""
msgid "Playback control for [AnimationNodeStateMachine]."
msgstr "Control de reproduccion para el [AnimationNodeStateMachine]."
-msgid "Returns the currently playing animation state."
-msgstr ""
-"Devuelve el estado de la animacion que se esta reproduciendo actualmente."
-
msgid ""
"Returns the current travel path as computed internally by the A* algorithm."
msgstr ""
@@ -2104,15 +2046,6 @@ msgid "A generic animation transition node for [AnimationTree]."
msgstr "Un nodo de transicion generica para [AnimationTree]."
msgid ""
-"Simple state machine for cases which don't require a more advanced "
-"[AnimationNodeStateMachine]. Animations can be connected to the inputs and "
-"transition times can be specified."
-msgstr ""
-"Simple estado de maquina para casos que no requieren un "
-"[AnimationNodeStateMachine]. Las animaciones pueden ser conectadas a las "
-"salidas y tiempos de transicion pueden ser especificados."
-
-msgid ""
"Cross-fading time (in seconds) between each animation connected to the "
"inputs."
msgstr ""
@@ -2491,13 +2424,6 @@ msgid "Returns the next available point ID with no point associated to it."
msgstr ""
"Devuelve el punto de Ide proximo disponible con ningun punto asociado a el."
-msgid ""
-"Returns the capacity of the structure backing the points, useful in "
-"conjunction with [code]reserve_space[/code]."
-msgstr ""
-"Devuelve la capacidad de la estructura que respalda los puntos, usado junto "
-"con [code]reserve_space[/code]."
-
msgid "Returns the number of points currently in the points pool."
msgstr "Devuelve el numero de puntos actualmente en el grupo(pool) de puntos."
@@ -2515,6 +2441,13 @@ msgstr ""
"Deshabilita o habilita el punto especificado para el buscador de rutas. Util "
"para crear obstaculos temporales."
+msgid ""
+"Returns the capacity of the structure backing the points, useful in "
+"conjunction with [code]reserve_space[/code]."
+msgstr ""
+"Devuelve la capacidad de la estructura que respalda los puntos, usado junto "
+"con [code]reserve_space[/code]."
+
msgid "Stores information about the audio buses."
msgstr "Almacena informacion sobre los buses de audio."
@@ -3718,9 +3651,6 @@ msgstr ""
"Si [code]true[/code], el objeto se renderiza con el mismo tamaño "
"independientemente de la distancia."
-msgid "Grows object vertices in the direction of their normals."
-msgstr "Crecen los vértices de los objetos en la dirección de sus normales."
-
msgid ""
"A high value makes the material appear more like a metal. Non-metals use "
"their albedo as the diffuse color and add diffuse to the specular "
@@ -3769,9 +3699,6 @@ msgstr ""
"Si [code]true[/code], la prueba de profundidad está desactivada y el objeto "
"se dibujará en orden de renderización."
-msgid "If [code]true[/code], normal mapping is enabled."
-msgstr "Si [code]true[/code], se habilita el mapeado normal."
-
msgid "The strength of the normal map's effect."
msgstr "La fuerza del efecto del mapa normal."
@@ -4017,9 +3944,6 @@ msgstr "El color del objeto se resta del fondo."
msgid "The color of the object is multiplied by the background."
msgstr "El color del objeto se multiplica por el fondo."
-msgid "No culling is performed."
-msgstr "No se realiza ningún descarte."
-
msgid "Set [code]ALBEDO[/code] to the per-vertex color specified in the mesh."
msgstr ""
"Ponga [code]ALBEDO[/code] en el color por vértice especificado en la malla."
@@ -4100,9 +4024,6 @@ msgid "Toon blob which changes size based on roughness."
msgstr ""
"La mancha de un dibujo que cambia de tamaño en función de la rugosidad."
-msgid "No specular blob."
-msgstr "No hay manchas especulares."
-
msgid "Billboard mode is disabled."
msgstr "Modo Billboard esta desactivado."
@@ -4141,30 +4062,6 @@ msgstr ""
"Suavemente se desvanece el objeto en base a la distancia de cada píxel de la "
"cámara usando el canal alfa."
-msgid ""
-"Smoothly fades the object out based on each pixel's distance from the camera "
-"using a dither approach. Dithering discards pixels based on a set pattern to "
-"smoothly fade without enabling transparency. On certain hardware this can be "
-"faster than [constant DISTANCE_FADE_PIXEL_ALPHA]."
-msgstr ""
-"Suavemente desvanece el objeto en base a la distancia de cada píxel de la "
-"cámara usando un enfoque de titubeo. Los píxeles descartados siguen un "
-"patrón establecido para desvanecerse suavemente sin permitir la "
-"transparencia. En cierto hardware esto puede ser más rápido que [constant "
-"DISTANCE_FADE_PIXEL_ALPHA]."
-
-msgid ""
-"Smoothly fades the object out based on the object's distance from the camera "
-"using a dither approach. Dithering discards pixels based on a set pattern to "
-"smoothly fade without enabling transparency. On certain hardware this can be "
-"faster than [constant DISTANCE_FADE_PIXEL_ALPHA]."
-msgstr ""
-"Suavemente desvanece el objeto en base a la distancia de cada píxel de la "
-"cámara usando un enfoque de titubeo. Los píxeles descartados siguen un "
-"patrón establecido para desvanecerse suavemente sin permitir la "
-"transparencia. En cierto hardware esto puede ser más rápido que [constant "
-"DISTANCE_FADE_PIXEL_ALPHA]."
-
msgid "3×3 matrix datatype."
msgstr "Tipo de datos de matriz 3×3."
@@ -4751,13 +4648,6 @@ msgstr ""
"[MultiMeshInstance2D] para la documentación relacionada."
msgid ""
-"Sets a custom transform for drawing via components. Anything drawn "
-"afterwards will be transformed by this."
-msgstr ""
-"Establece una transformación personalizada para el dibujo a través de los "
-"componentes. Todo lo que se dibuje después será transformado por esto."
-
-msgid ""
"Sets a custom transform for drawing via matrix. Anything drawn afterwards "
"will be transformed by this."
msgstr ""
@@ -4958,11 +4848,6 @@ msgstr ""
"El nodo personalizado [Viewport] asignado al [CanvasLayer]. Si [code]null[/"
"code], utiliza en su lugar la vista por defecto."
-msgid "Layer index for draw order. Lower values are drawn first."
-msgstr ""
-"Índice de capas para el orden de dibujado. Los valores más bajos se dibujan "
-"primero."
-
msgid "The layer's base offset."
msgstr "El desplazamiento de la capa base."
@@ -8325,17 +8210,6 @@ msgstr ""
"es 1). Efectivo sólo si [code]adjustment_enabled[/code] es [code]true[/code]."
msgid ""
-"If [code]true[/code], enables the [code]adjustment_*[/code] properties "
-"provided by this resource. If [code]false[/code], modifications to the "
-"[code]adjustment_*[/code] properties will have no effect on the rendered "
-"scene."
-msgstr ""
-"Si [code]true[/code], activa las propiedades [code]adjustment_*[/code] "
-"proporcionadas por este recurso. Si [code]false[/code], las modificaciones "
-"de las propiedades de [code]adjustment_*[/code] no tendrán ningún efecto en "
-"la escena renderizada."
-
-msgid ""
"The global color saturation value of the rendered scene (default value is "
"1). Effective only if [code]adjustment_enabled[/code] is [code]true[/code]."
msgstr ""
@@ -11538,13 +11412,6 @@ msgstr ""
"puede ser asignado a una acción de entrada."
msgid ""
-"Returns [code]true[/code] if this input event is an echo event (only for "
-"events of type [InputEventKey])."
-msgstr ""
-"Devuelve [code]true[/code] si este evento de entrada es un evento de eco "
-"(sólo para eventos del tipo [InputEventKey])."
-
-msgid ""
"The event's device ID.\n"
"[b]Note:[/b] This device ID will always be [code]-1[/code] for emulated "
"mouse input from a touchscreen. This can be used to distinguish emulated "
@@ -12333,13 +12200,6 @@ msgstr ""
"El valor energético de Light2D. Cuanto mayor sea el valor, más fuerte es la "
"luz."
-msgid ""
-"The layer mask. Only objects with a matching mask will be affected by the "
-"Light2D."
-msgstr ""
-"La máscara de la capa. Sólo los objetos con una máscara adecuada se verán "
-"afectados por Light2D."
-
msgid "Maximum layer value of objects that are affected by the Light2D."
msgstr "Valor máximo de la capa de los objetos afectados por Light2D."
@@ -12365,13 +12225,6 @@ msgstr ""
"Tipo de filtro de sombra. Ver [enum ShadowFilter] para los posibles valores."
msgid ""
-"The shadow mask. Used with [LightOccluder2D] to cast shadows. Only occluders "
-"with a matching light mask will cast shadows."
-msgstr ""
-"La máscara de sombra. Se usa con [LightOccluder2D] para proyectar sombras. "
-"Sólo los oclusores con una máscara de luz pueden proyectar sombras."
-
-msgid ""
"Adds the value of pixels corresponding to the Light2D to the values of "
"pixels under it. This is the common behavior of a light."
msgstr ""
@@ -14242,20 +14095,15 @@ msgid "Omnidirectional light, such as a light bulb or a candle."
msgstr "Luz omnidireccional, como una bombilla o una vela."
msgid ""
-"The light's attenuation (drop-off) curve. A number of presets are available "
-"in the [b]Inspector[/b] by right-clicking the curve."
-msgstr ""
-"La curva de atenuación de la luz. En el [b]Inspector[/b] se puede acceder a "
-"una serie de preajustes haciendo clic con el botón derecho del ratón en la "
-"curva."
-
-msgid ""
"Shadows are rendered to a dual-paraboloid texture. Faster than [constant "
"SHADOW_CUBE], but lower-quality."
msgstr ""
"Las sombras se convierten en una textura de doble paraboloide. Más rápido "
"que [constant SHADOW_CUBE], pero de menor calidad."
+msgid "Add an action set."
+msgstr "Añadir un conjunto de acciones."
+
msgid "Optimized translation."
msgstr "Traducción optimizada."
@@ -15157,366 +15005,6 @@ msgid "Server interface for low-level 2D physics access."
msgstr "Interfaz de servidor para acceso a la física 2D de bajo nivel."
msgid ""
-"Adds a shape to the area, along with a transform matrix. Shapes are usually "
-"referenced by their index, so you should track which shape has a given index."
-msgstr ""
-"Añade una forma a la zona, junto con una matriz de transformación. Las "
-"formas suelen estar referenciadas por su índice, por lo que se debe rastrear "
-"qué forma tiene un índice determinado."
-
-msgid ""
-"Assigns the area to a descendant of [Object], so it can exist in the node "
-"tree."
-msgstr ""
-"Asigna el área a un descendiente de [Object], para que pueda existir en el "
-"árbol de nodos."
-
-msgid ""
-"Removes all shapes from an area. It does not delete the shapes, so they can "
-"be reassigned later."
-msgstr ""
-"Elimina todas las formas de un área. No elimina las formas, por lo que "
-"pueden ser reasignadas más tarde."
-
-msgid "Gets the instance ID of the object the area is assigned to."
-msgstr "Obtiene el ID de la instancia del objeto al que está asignada el área."
-
-msgid ""
-"Returns an area parameter value. See [enum AreaParameter] for a list of "
-"available parameters."
-msgstr ""
-"Devuelve un valor de parámetro de área. Véase [enum AreaParameter] para una "
-"lista de parámetros disponibles."
-
-msgid "Returns the [RID] of the nth shape of an area."
-msgstr "Devuelve el [RID] de la forma enésima de un área."
-
-msgid "Returns the number of shapes assigned to an area."
-msgstr "Devuelve el número de formas asignadas a un área."
-
-msgid "Returns the transform matrix of a shape within an area."
-msgstr "Devuelve la matriz de transformación de una forma dentro de un área."
-
-msgid "Returns the space assigned to the area."
-msgstr "Devuelve el espacio asignado a la zona."
-
-msgid "Returns the transform matrix for an area."
-msgstr "Devuelve la matriz de transformación de un área."
-
-msgid ""
-"Removes a shape from an area. It does not delete the shape, so it can be "
-"reassigned later."
-msgstr ""
-"Elimina una forma de un área. No borra la forma, por lo que puede ser "
-"reasignada más tarde."
-
-msgid "Assigns the area to one or many physics layers."
-msgstr "Asigna el área a una o varias capas de la física."
-
-msgid "Sets which physics layers the area will monitor."
-msgstr "Establece qué capas de la física monitoreará el área."
-
-msgid ""
-"Sets the function to call when any body/area enters or exits the area. This "
-"callback will be called for any object interacting with the area, and takes "
-"five parameters:\n"
-"1: [constant AREA_BODY_ADDED] or [constant AREA_BODY_REMOVED], depending on "
-"whether the object entered or exited the area.\n"
-"2: [RID] of the object that entered/exited the area.\n"
-"3: Instance ID of the object that entered/exited the area.\n"
-"4: The shape index of the object that entered/exited the area.\n"
-"5: The shape index of the area where the object entered/exited."
-msgstr ""
-"Establece la función de llamar cuando cualquier cuerpo/área entra o sale del "
-"área. Esta llamada será llamada para cualquier objeto que interactúe con el "
-"área, y toma cinco parámetros:\n"
-"1: [constant AREA_BODY_ADDED] o [constant AREA_BODY_REMOVED], dependiendo de "
-"si el objeto entró o salió del área.\n"
-"2: [RID] del objeto que entró/salió del área.\n"
-"3: ID del objeto que entró/salió del área.\n"
-"4: El índice de forma del objeto que entró/salió del área.\n"
-"5: El índice de forma del área donde el objeto entró/salió del área."
-
-msgid ""
-"Sets the value for an area parameter. See [enum AreaParameter] for a list of "
-"available parameters."
-msgstr ""
-"Establece el valor de un parámetro de área. Véase [enum AreaParameter] para "
-"una lista de parámetros disponibles."
-
-msgid ""
-"Substitutes a given area shape by another. The old shape is selected by its "
-"index, the new one by its [RID]."
-msgstr ""
-"Sustituye una forma de área dada por otra. La forma antigua es seleccionada "
-"por su índice, la nueva por su [RID]."
-
-msgid "Disables a given shape in an area."
-msgstr "Deshabilita una forma determinada en un área."
-
-msgid "Sets the transform matrix for an area shape."
-msgstr "Establece la matriz de transformación para la forma de un área."
-
-msgid "Assigns a space to the area."
-msgstr "Asigna un espacio a la zona."
-
-msgid "Sets the transform matrix for an area."
-msgstr "Establece la matriz de transformación para un área."
-
-msgid "Adds a body to the list of bodies exempt from collisions."
-msgstr "Añade un cuerpo a la lista de cuerpos exentos de colisiones."
-
-msgid ""
-"Adds a shape to the body, along with a transform matrix. Shapes are usually "
-"referenced by their index, so you should track which shape has a given index."
-msgstr ""
-"Añade una forma al cuerpo, junto con una matriz de transformación. Las "
-"formas suelen estar referenciadas por su índice, así que debes rastrear qué "
-"forma tiene un índice determinado."
-
-msgid "Removes all shapes from a body."
-msgstr "Elimina todas las formas de un cuerpo."
-
-msgid "Creates a physics body."
-msgstr "Crea un cuerpo físico."
-
-msgid "Returns the physics layer or layers a body belongs to."
-msgstr "Devuelve la capa o capas físicas a las que pertenece un cuerpo."
-
-msgid "Returns the physics layer or layers a body can collide with."
-msgstr ""
-"Devuelve la capa física o las capas con las que un cuerpo puede colisionar."
-
-msgid "Returns the continuous collision detection mode."
-msgstr "Devuelve el modo de detección de colisión continua."
-
-msgid ""
-"Returns the maximum contacts that can be reported. See [method "
-"body_set_max_contacts_reported]."
-msgstr ""
-"Devuelve el máximo de contactos que se pueden reportar. Ver [method "
-"body_set_max_contacts_reported]."
-
-msgid "Returns the body mode."
-msgstr "Devuelve el modo de cuerpo."
-
-msgid ""
-"Returns the value of a body parameter. See [enum BodyParameter] for a list "
-"of available parameters."
-msgstr ""
-"Devuelve el valor de un parámetro corporal. Véase [enum BodyParameter] para "
-"una lista de parámetros disponibles."
-
-msgid "Returns the [RID] of the nth shape of a body."
-msgstr "Devuelve el [RID] de la enésima forma de un cuerpo."
-
-msgid "Returns the number of shapes assigned to a body."
-msgstr "Devuelve el número de formas asignadas a un cuerpo."
-
-msgid "Returns the transform matrix of a body shape."
-msgstr "Devuelve la matriz de transformación de una forma corporal."
-
-msgid "Returns the [RID] of the space assigned to a body."
-msgstr "Devuelve el [RID] del espacio asignado a un cuerpo."
-
-msgid "Returns a body state."
-msgstr "Devuelve un estado corporal."
-
-msgid ""
-"Returns whether a body uses a callback function to calculate its own physics "
-"(see [method body_set_force_integration_callback])."
-msgstr ""
-"Devuelve si un cuerpo utiliza una función de retrollamada para calcular su "
-"propia física (ver [method body_set_force_integration_callback])."
-
-msgid "Removes a body from the list of bodies exempt from collisions."
-msgstr "Elimina un cuerpo de la lista de cuerpos exentos de colisiones."
-
-msgid ""
-"Removes a shape from a body. The shape is not deleted, so it can be reused "
-"afterwards."
-msgstr ""
-"Quita una forma de un cuerpo. La forma no se borra, por lo que puede ser "
-"reutilizada después."
-
-msgid ""
-"Sets an axis velocity. The velocity in the given vector axis will be set as "
-"the given vector length. This is useful for jumping behavior."
-msgstr ""
-"Establece una velocidad del eje. La velocidad en el eje vectorial dado se "
-"fijará como la longitud del vector dado. Esto es útil para el comportamiento "
-"de salto."
-
-msgid "Sets the physics layer or layers a body belongs to."
-msgstr "Establece la capa o capas físicas a las que pertenece un cuerpo."
-
-msgid "Sets the physics layer or layers a body can collide with."
-msgstr ""
-"Establece la capa física o las capas con las que un cuerpo puede colisionar."
-
-msgid ""
-"Sets the continuous collision detection mode using one of the [enum CCDMode] "
-"constants.\n"
-"Continuous collision detection tries to predict where a moving body will "
-"collide, instead of moving it and correcting its movement if it collided."
-msgstr ""
-"Establece el modo de detección de colisión continua usando una de las "
-"constantes [enum CCDMode].\n"
-"La detección de colisión continua trata de predecir dónde colisionará un "
-"cuerpo en movimiento, en lugar de moverlo y corregir su movimiento si "
-"colisionara."
-
-msgid "Sets the body mode using one of the [enum BodyMode] constants."
-msgstr ""
-"Establece el modo corporal usando una de las constantes de [enum BodyMode]."
-
-msgid ""
-"Sets whether a body uses a callback function to calculate its own physics "
-"(see [method body_set_force_integration_callback])."
-msgstr ""
-"Establece si un cuerpo utiliza una función de llamada de retorno para "
-"calcular su propia física (ver [method body_set_force_integration_callback])."
-
-msgid ""
-"Sets a body parameter. See [enum BodyParameter] for a list of available "
-"parameters."
-msgstr ""
-"Establece un parámetro corporal. Véase [enum BodyParameter] para una lista "
-"de parámetros disponibles."
-
-msgid ""
-"Substitutes a given body shape by another. The old shape is selected by its "
-"index, the new one by its [RID]."
-msgstr ""
-"Sustituye una forma corporal dada por otra. La forma antigua es seleccionada "
-"por su índice, la nueva por su [RID]."
-
-msgid "Sets the transform matrix for a body shape."
-msgstr "Establece la matriz de transformación para una forma corporal."
-
-msgid "Assigns a space to the body (see [method space_create])."
-msgstr "Asigna un espacio al cuerpo (ver [method space_create])."
-
-msgid ""
-"Returns information about the current state of the 2D physics engine. See "
-"[enum ProcessInfo] for a list of available states."
-msgstr ""
-"Devuelve información sobre el estado actual del motor de física 2D. Ver "
-"[enum ProcessInfo] para una lista de los estados disponibles."
-
-msgid "Returns the value of a joint parameter."
-msgstr "Devuelve el valor de un parámetro de una articulación."
-
-msgid "Returns a joint's type (see [enum JointType])."
-msgstr "Devuelve el tipo de articulación (véase [enum JointType])."
-
-msgid ""
-"Sets a joint parameter. See [enum JointParam] for a list of available "
-"parameters."
-msgstr ""
-"Establece un parámetro de una articulación. Véase [enum JointParam] para una "
-"lista de parámetros disponibles."
-
-msgid "Activates or deactivates the 2D physics engine."
-msgstr "Activa o desactiva el motor de física 2D."
-
-msgid "Returns the shape data."
-msgstr "Devuelve los datos de la forma."
-
-msgid "Returns a shape's type (see [enum ShapeType])."
-msgstr "Devuelve el tipo de una forma (ver [enum ShapeType])."
-
-msgid ""
-"Sets the shape data that defines its shape and size. The data to be passed "
-"depends on the kind of shape created [method shape_get_type]."
-msgstr ""
-"Establece los datos de forma que definen su forma y tamaño. Los datos que se "
-"pasarán dependen del tipo de forma creada [method shape_get_type]."
-
-msgid ""
-"Creates a space. A space is a collection of parameters for the physics "
-"engine that can be assigned to an area or a body. It can be assigned to an "
-"area with [method area_set_space], or to a body with [method body_set_space]."
-msgstr ""
-"Crea un espacio. Un espacio es una colección de parámetros para el motor de "
-"la física que puede ser asignado a un área o a un cuerpo. Puede ser asignado "
-"a un área con [method area_set_space], o a un cuerpo con [method "
-"body_set_space]."
-
-msgid "Returns the value of a space parameter."
-msgstr "Devuelve el valor de un parámetro espacial."
-
-msgid "Returns whether the space is active."
-msgstr "Devuelve si el espacio está activo."
-
-msgid ""
-"Marks a space as active. It will not have an effect, unless it is assigned "
-"to an area or body."
-msgstr ""
-"Marca un espacio como activo. No tendrá efecto, a menos que se asigne a un "
-"área o cuerpo."
-
-msgid ""
-"Sets the value for a space parameter. See [enum SpaceParameter] for a list "
-"of available parameters."
-msgstr ""
-"Establece el valor de un parámetro espacial. Véase [enum SpaceParameter] "
-"para una lista de parámetros disponibles."
-
-msgid ""
-"Constant to set/get the maximum distance a pair of bodies has to move before "
-"their collision status has to be recalculated."
-msgstr ""
-"Constante para fijar/obtener la máxima distancia que un par de cuerpos tiene "
-"que moverse antes de que su estado de colisión tenga que ser recalculado."
-
-msgid ""
-"Constant to set/get the maximum distance a shape can penetrate another shape "
-"before it is considered a collision."
-msgstr ""
-"Constante para fijar/obtener la máxima distancia que una forma puede "
-"penetrar en otra forma antes de que se considere una colisión."
-
-msgid ""
-"Constant to set/get the threshold linear velocity of activity. A body marked "
-"as potentially inactive for both linear and angular velocity will be put to "
-"sleep after the time given."
-msgstr ""
-"Constante para fijar/obtener el umbral de velocidad lineal de actividad. Un "
-"cuerpo marcado como potencialmente inactivo tanto para la velocidad lineal "
-"como para la angular será puesto a dormir después del tiempo dado."
-
-msgid ""
-"Constant to set/get the threshold angular velocity of activity. A body "
-"marked as potentially inactive for both linear and angular velocity will be "
-"put to sleep after the time given."
-msgstr ""
-"Constante para fijar/obtener el umbral de velocidad angular de actividad. Un "
-"cuerpo marcado como potencialmente inactivo tanto para la velocidad lineal "
-"como para la angular será puesto a dormir después del tiempo dado."
-
-msgid ""
-"Constant to set/get the maximum time of activity. A body marked as "
-"potentially inactive for both linear and angular velocity will be put to "
-"sleep after this time."
-msgstr ""
-"Constante para fijar/obtener el tiempo máximo de actividad. Un cuerpo "
-"marcado como potencialmente inactivo tanto para la velocidad lineal como "
-"para la angular será puesto a dormir después de este tiempo."
-
-msgid ""
-"Constant to set/get the default solver bias for all physics constraints. A "
-"solver bias is a factor controlling how much two objects \"rebound\", after "
-"violating a constraint, to avoid leaving them in that state because of "
-"numerical imprecision."
-msgstr ""
-"Constante para establecer/obtener el sesgo del solucionador por defecto para "
-"todas las restricciones de la física. Un sesgo del solucionador es un factor "
-"que controla cuánto \"rebotan\" dos objetos, después de violar una "
-"restricción, para evitar dejarlos en ese estado debido a la imprecisión "
-"numérica."
-
-msgid ""
"This is the constant for creating circle shapes. A circle shape only has a "
"radius. It can be used for intersections and inside/outside checks."
msgstr ""
@@ -15543,20 +15031,6 @@ msgstr ""
"controles internos y externos."
msgid ""
-"This is the constant for creating convex polygon shapes. A polygon is "
-"defined by a list of points. It can be used for intersections and inside/"
-"outside checks. Unlike the [member CollisionPolygon2D.polygon] property, "
-"polygons modified with [method shape_set_data] do not verify that the points "
-"supplied form is a convex polygon."
-msgstr ""
-"Esta es la constante para crear formas poligonales convexas. Un polígono se "
-"define por una lista de puntos. Puede ser usado para intersecciones y "
-"controles internos/externos. A diferencia de la propiedad [member "
-"CollisionPolygon2D.polygon], los polígonos modificados con [method "
-"shape_set_data] no verifican que la forma de los puntos suministrados es un "
-"polígono convexo."
-
-msgid ""
"This is the constant for creating concave polygon shapes. A polygon is "
"defined by a list of points. It can be used for intersections checks, but "
"not for inside/outside checks."
@@ -15572,24 +15046,6 @@ msgstr ""
"Esta constante es utilizada internamente por el motor. Cualquier intento de "
"crear este tipo de forma resulta en un error."
-msgid "Constant to set/get gravity strength in an area."
-msgstr "Constante para fijar/obtener la fuerza de gravedad en un área."
-
-msgid "Constant to set/get gravity vector/center in an area."
-msgstr "Constante para fijar/obtener el vector/centro de gravedad en un área."
-
-msgid ""
-"Constant to set/get whether the gravity vector of an area is a direction, or "
-"a center point."
-msgstr ""
-"Constante para establecer/obtener si el vector de gravedad de un área es una "
-"dirección, o un punto central."
-
-msgid "Constant to set/get the priority (order of processing) of an area."
-msgstr ""
-"Constante para establecer/obtener la prioridad (orden de procesamiento) de "
-"un área."
-
msgid ""
"This area does not affect gravity/damp. These are generally areas that exist "
"only to detect collisions, and objects entering or exiting them."
@@ -15629,22 +15085,6 @@ msgstr ""
"Esta área reemplaza cualquier gravedad/amortiguación calculada hasta ahora, "
"pero sigue calculando el resto de las áreas, hasta la predeterminada."
-msgid "Constant to set/get a body's bounce factor."
-msgstr "Constante para fijar/obtener el factor de rebote de un cuerpo."
-
-msgid "Constant to set/get a body's friction."
-msgstr "Constante para fijar/obtener la fricción de un cuerpo."
-
-msgid "Constant to set/get a body's mass."
-msgstr "Constante para fijar/obtener la masa de un cuerpo."
-
-msgid "Constant to set/get a body's inertia."
-msgstr "Constante para fijar/obtener la inercia de un cuerpo."
-
-msgid "Constant to set/get a body's gravity multiplier."
-msgstr ""
-"Constante para fijar/obtener el multiplicador de gravedad de un cuerpo."
-
msgid "Represents the size of the [enum BodyParameter] enum."
msgstr "Representa el tamaño del enum [enum BodyParameter]."
@@ -15676,37 +15116,6 @@ msgid "Constant to create damped spring joints."
msgstr "Constante para crear juntas de resorte amortiguadas."
msgid ""
-"Sets the resting length of the spring joint. The joint will always try to go "
-"to back this length when pulled apart."
-msgstr ""
-"Establece la longitud de reposo de la articulación del resorte. La "
-"articulación siempre intentará volver a esta longitud cuando se separe."
-
-msgid ""
-"Sets the stiffness of the spring joint. The joint applies a force equal to "
-"the stiffness times the distance from its resting length."
-msgstr ""
-"Establece la rigidez de la articulación del resorte. La articulación aplica "
-"una fuerza igual a la rigidez por la distancia de su longitud en reposo."
-
-msgid ""
-"Sets the damping ratio of the spring joint. A value of 0 indicates an "
-"undamped spring, while 1 causes the system to reach equilibrium as fast as "
-"possible (critical damping)."
-msgstr ""
-"Establece la relación de amortiguación de la articulación del resorte. Un "
-"valor de 0 indica un resorte no amortiguado, mientras que 1 hace que el "
-"sistema alcance el equilibrio lo más rápido posible (amortiguación crítica)."
-
-msgid ""
-"Disables continuous collision detection. This is the fastest way to detect "
-"body collisions, but can miss small, fast-moving objects."
-msgstr ""
-"Desactiva la detección de colisión continua. Es la forma más rápida de "
-"detectar colisiones corporales, pero puede pasar por alto pequeños objetos "
-"de movimiento rápido."
-
-msgid ""
"Enables continuous collision detection by raycasting. It is faster than "
"shapecasting, but less precise."
msgstr ""
@@ -15750,12 +15159,86 @@ msgid "Server interface for low-level physics access."
msgstr "Interfaz de servidor para acceso a la física de bajo nivel."
msgid ""
+"Adds a shape to the area, along with a transform matrix. Shapes are usually "
+"referenced by their index, so you should track which shape has a given index."
+msgstr ""
+"Añade una forma a la zona, junto con una matriz de transformación. Las "
+"formas suelen estar referenciadas por su índice, por lo que se debe rastrear "
+"qué forma tiene un índice determinado."
+
+msgid ""
+"Assigns the area to a descendant of [Object], so it can exist in the node "
+"tree."
+msgstr ""
+"Asigna el área a un descendiente de [Object], para que pueda existir en el "
+"árbol de nodos."
+
+msgid ""
+"Removes all shapes from an area. It does not delete the shapes, so they can "
+"be reassigned later."
+msgstr ""
+"Elimina todas las formas de un área. No elimina las formas, por lo que "
+"pueden ser reasignadas más tarde."
+
+msgid "Gets the instance ID of the object the area is assigned to."
+msgstr "Obtiene el ID de la instancia del objeto al que está asignada el área."
+
+msgid ""
"Returns an area parameter value. A list of available parameters is on the "
"[enum AreaParameter] constants."
msgstr ""
"Devuelve un valor de parámetro de área. Una lista de los parámetros "
"disponibles se encuentra en las constantes [enum AreaParameter]."
+msgid "Returns the [RID] of the nth shape of an area."
+msgstr "Devuelve el [RID] de la forma enésima de un área."
+
+msgid "Returns the number of shapes assigned to an area."
+msgstr "Devuelve el número de formas asignadas a un área."
+
+msgid "Returns the transform matrix of a shape within an area."
+msgstr "Devuelve la matriz de transformación de una forma dentro de un área."
+
+msgid "Returns the space assigned to the area."
+msgstr "Devuelve el espacio asignado a la zona."
+
+msgid "Returns the transform matrix for an area."
+msgstr "Devuelve la matriz de transformación de un área."
+
+msgid ""
+"Removes a shape from an area. It does not delete the shape, so it can be "
+"reassigned later."
+msgstr ""
+"Elimina una forma de un área. No borra la forma, por lo que puede ser "
+"reasignada más tarde."
+
+msgid "Assigns the area to one or many physics layers."
+msgstr "Asigna el área a una o varias capas de la física."
+
+msgid "Sets which physics layers the area will monitor."
+msgstr "Establece qué capas de la física monitoreará el área."
+
+msgid ""
+"Sets the function to call when any body/area enters or exits the area. This "
+"callback will be called for any object interacting with the area, and takes "
+"five parameters:\n"
+"1: [constant AREA_BODY_ADDED] or [constant AREA_BODY_REMOVED], depending on "
+"whether the object entered or exited the area.\n"
+"2: [RID] of the object that entered/exited the area.\n"
+"3: Instance ID of the object that entered/exited the area.\n"
+"4: The shape index of the object that entered/exited the area.\n"
+"5: The shape index of the area where the object entered/exited."
+msgstr ""
+"Establece la función de llamar cuando cualquier cuerpo/área entra o sale del "
+"área. Esta llamada será llamada para cualquier objeto que interactúe con el "
+"área, y toma cinco parámetros:\n"
+"1: [constant AREA_BODY_ADDED] o [constant AREA_BODY_REMOVED], dependiendo de "
+"si el objeto entró o salió del área.\n"
+"2: [RID] del objeto que entró/salió del área.\n"
+"3: ID del objeto que entró/salió del área.\n"
+"4: El índice de forma del objeto que entró/salió del área.\n"
+"5: El índice de forma del área donde el objeto entró/salió del área."
+
msgid ""
"Sets the value for an area parameter. A list of available parameters is on "
"the [enum AreaParameter] constants."
@@ -15767,18 +15250,87 @@ msgid "Sets object pickable with rays."
msgstr "Establece un objeto que se puede recoger con los rayos."
msgid ""
+"Substitutes a given area shape by another. The old shape is selected by its "
+"index, the new one by its [RID]."
+msgstr ""
+"Sustituye una forma de área dada por otra. La forma antigua es seleccionada "
+"por su índice, la nueva por su [RID]."
+
+msgid "Sets the transform matrix for an area shape."
+msgstr "Establece la matriz de transformación para la forma de un área."
+
+msgid "Assigns a space to the area."
+msgstr "Asigna un espacio a la zona."
+
+msgid "Sets the transform matrix for an area."
+msgstr "Establece la matriz de transformación para un área."
+
+msgid "Adds a body to the list of bodies exempt from collisions."
+msgstr "Añade un cuerpo a la lista de cuerpos exentos de colisiones."
+
+msgid ""
+"Adds a shape to the body, along with a transform matrix. Shapes are usually "
+"referenced by their index, so you should track which shape has a given index."
+msgstr ""
+"Añade una forma al cuerpo, junto con una matriz de transformación. Las "
+"formas suelen estar referenciadas por su índice, así que debes rastrear qué "
+"forma tiene un índice determinado."
+
+msgid "Removes all shapes from a body."
+msgstr "Elimina todas las formas de un cuerpo."
+
+msgid "Returns the physics layer or layers a body belongs to."
+msgstr "Devuelve la capa o capas físicas a las que pertenece un cuerpo."
+
+msgid "Returns the physics layer or layers a body can collide with."
+msgstr ""
+"Devuelve la capa física o las capas con las que un cuerpo puede colisionar."
+
+msgid ""
+"Returns the maximum contacts that can be reported. See [method "
+"body_set_max_contacts_reported]."
+msgstr ""
+"Devuelve el máximo de contactos que se pueden reportar. Ver [method "
+"body_set_max_contacts_reported]."
+
+msgid "Returns the body mode."
+msgstr "Devuelve el modo de cuerpo."
+
+msgid ""
"Returns the value of a body parameter. A list of available parameters is on "
"the [enum BodyParameter] constants."
msgstr ""
"Devuelve el valor de un parámetro corporal. Una lista de parámetros "
"disponibles se encuentra en las constantes [enum BodyParameter]."
+msgid "Returns the [RID] of the nth shape of a body."
+msgstr "Devuelve el [RID] de la enésima forma de un cuerpo."
+
+msgid "Returns the number of shapes assigned to a body."
+msgstr "Devuelve el número de formas asignadas a un cuerpo."
+
+msgid "Returns the transform matrix of a body shape."
+msgstr "Devuelve la matriz de transformación de una forma corporal."
+
+msgid "Returns the [RID] of the space assigned to a body."
+msgstr "Devuelve el [RID] del espacio asignado a un cuerpo."
+
+msgid "Returns a body state."
+msgstr "Devuelve un estado corporal."
+
msgid ""
"If [code]true[/code], the continuous collision detection mode is enabled."
msgstr ""
"Si [code]true[/code], se activa el modo de detección de colisión continua."
msgid ""
+"Returns whether a body uses a callback function to calculate its own physics "
+"(see [method body_set_force_integration_callback])."
+msgstr ""
+"Devuelve si un cuerpo utiliza una función de retrollamada para calcular su "
+"propia física (ver [method body_set_force_integration_callback])."
+
+msgid ""
"Removes a body from the list of bodies exempt from collisions.\n"
"Continuous collision detection tries to predict where a moving body will "
"collide, instead of moving it and correcting its movement if it collided."
@@ -15789,6 +15341,28 @@ msgstr ""
"colisionara."
msgid ""
+"Removes a shape from a body. The shape is not deleted, so it can be reused "
+"afterwards."
+msgstr ""
+"Quita una forma de un cuerpo. La forma no se borra, por lo que puede ser "
+"reutilizada después."
+
+msgid ""
+"Sets an axis velocity. The velocity in the given vector axis will be set as "
+"the given vector length. This is useful for jumping behavior."
+msgstr ""
+"Establece una velocidad del eje. La velocidad en el eje vectorial dado se "
+"fijará como la longitud del vector dado. Esto es útil para el comportamiento "
+"de salto."
+
+msgid "Sets the physics layer or layers a body belongs to."
+msgstr "Establece la capa o capas físicas a las que pertenece un cuerpo."
+
+msgid "Sets the physics layer or layers a body can collide with."
+msgstr ""
+"Establece la capa física o las capas con las que un cuerpo puede colisionar."
+
+msgid ""
"If [code]true[/code], the continuous collision detection mode is enabled.\n"
"Continuous collision detection tries to predict where a moving body will "
"collide, instead of moving it and correcting its movement if it collided."
@@ -15804,12 +15378,32 @@ msgstr ""
"BodyMode]."
msgid ""
+"Sets whether a body uses a callback function to calculate its own physics "
+"(see [method body_set_force_integration_callback])."
+msgstr ""
+"Establece si un cuerpo utiliza una función de llamada de retorno para "
+"calcular su propia física (ver [method body_set_force_integration_callback])."
+
+msgid ""
"Sets a body parameter. A list of available parameters is on the [enum "
"BodyParameter] constants."
msgstr ""
"Establece un parámetro corporal. Una lista de parámetros disponibles se "
"encuentra en las constantes [enum BodyParameter]."
+msgid ""
+"Substitutes a given body shape by another. The old shape is selected by its "
+"index, the new one by its [RID]."
+msgstr ""
+"Sustituye una forma corporal dada por otra. La forma antigua es seleccionada "
+"por su índice, la nueva por su [RID]."
+
+msgid "Sets the transform matrix for a body shape."
+msgstr "Establece la matriz de transformación para una forma corporal."
+
+msgid "Assigns a space to the body (see [method space_create])."
+msgstr "Asigna un espacio al cuerpo (ver [method space_create])."
+
msgid "Sets a body state (see [enum BodyState] constants)."
msgstr ""
"Obtiene un parámetro cone_twist_joint (ver las constantes [enum "
@@ -15902,15 +15496,48 @@ msgstr ""
msgid "Activates or deactivates the 3D physics engine."
msgstr "Activa o desactiva el motor de física 3D."
+msgid "Returns the shape data."
+msgstr "Devuelve los datos de la forma."
+
msgid "Returns the type of shape (see [enum ShapeType] constants)."
msgstr "Devuelve el tipo de forma (ver las constantes [enum ShapeType])."
+msgid ""
+"Sets the shape data that defines its shape and size. The data to be passed "
+"depends on the kind of shape created [method shape_get_type]."
+msgstr ""
+"Establece los datos de forma que definen su forma y tamaño. Los datos que se "
+"pasarán dependen del tipo de forma creada [method shape_get_type]."
+
msgid "Gets a slider_joint parameter (see [enum SliderJointParam] constants)."
msgstr ""
"Obtiene un parámetro slider_joint (ver las constantes [enum "
"SliderJointParam])."
msgid ""
+"Creates a space. A space is a collection of parameters for the physics "
+"engine that can be assigned to an area or a body. It can be assigned to an "
+"area with [method area_set_space], or to a body with [method body_set_space]."
+msgstr ""
+"Crea un espacio. Un espacio es una colección de parámetros para el motor de "
+"la física que puede ser asignado a un área o a un cuerpo. Puede ser asignado "
+"a un área con [method area_set_space], o a un cuerpo con [method "
+"body_set_space]."
+
+msgid "Returns the value of a space parameter."
+msgstr "Devuelve el valor de un parámetro espacial."
+
+msgid "Returns whether the space is active."
+msgstr "Devuelve si el espacio está activo."
+
+msgid ""
+"Marks a space as active. It will not have an effect, unless it is assigned "
+"to an area or body."
+msgstr ""
+"Marca un espacio como activo. No tendrá efecto, a menos que se asigne a un "
+"área o cuerpo."
+
+msgid ""
"Sets the value for a space parameter. A list of available parameters is on "
"the [enum SpaceParameter] constants."
msgstr ""
@@ -16096,6 +15723,81 @@ msgstr ""
"este factor de tolerancia al error define cuánto se ralentiza la corrección. "
"Cuanto más bajo, más lento."
+msgid "Constant to set/get gravity strength in an area."
+msgstr "Constante para fijar/obtener la fuerza de gravedad en un área."
+
+msgid "Constant to set/get gravity vector/center in an area."
+msgstr "Constante para fijar/obtener el vector/centro de gravedad en un área."
+
+msgid ""
+"Constant to set/get whether the gravity vector of an area is a direction, or "
+"a center point."
+msgstr ""
+"Constante para establecer/obtener si el vector de gravedad de un área es una "
+"dirección, o un punto central."
+
+msgid "Constant to set/get the priority (order of processing) of an area."
+msgstr ""
+"Constante para establecer/obtener la prioridad (orden de procesamiento) de "
+"un área."
+
+msgid "Constant to set/get a body's bounce factor."
+msgstr "Constante para fijar/obtener el factor de rebote de un cuerpo."
+
+msgid "Constant to set/get a body's friction."
+msgstr "Constante para fijar/obtener la fricción de un cuerpo."
+
+msgid "Constant to set/get a body's mass."
+msgstr "Constante para fijar/obtener la masa de un cuerpo."
+
+msgid "Constant to set/get a body's inertia."
+msgstr "Constante para fijar/obtener la inercia de un cuerpo."
+
+msgid "Constant to set/get a body's gravity multiplier."
+msgstr ""
+"Constante para fijar/obtener el multiplicador de gravedad de un cuerpo."
+
+msgid ""
+"Constant to set/get the maximum distance a pair of bodies has to move before "
+"their collision status has to be recalculated."
+msgstr ""
+"Constante para fijar/obtener la máxima distancia que un par de cuerpos tiene "
+"que moverse antes de que su estado de colisión tenga que ser recalculado."
+
+msgid ""
+"Constant to set/get the maximum distance a shape can penetrate another shape "
+"before it is considered a collision."
+msgstr ""
+"Constante para fijar/obtener la máxima distancia que una forma puede "
+"penetrar en otra forma antes de que se considere una colisión."
+
+msgid ""
+"Constant to set/get the threshold linear velocity of activity. A body marked "
+"as potentially inactive for both linear and angular velocity will be put to "
+"sleep after the time given."
+msgstr ""
+"Constante para fijar/obtener el umbral de velocidad lineal de actividad. Un "
+"cuerpo marcado como potencialmente inactivo tanto para la velocidad lineal "
+"como para la angular será puesto a dormir después del tiempo dado."
+
+msgid ""
+"Constant to set/get the threshold angular velocity of activity. A body "
+"marked as potentially inactive for both linear and angular velocity will be "
+"put to sleep after the time given."
+msgstr ""
+"Constante para fijar/obtener el umbral de velocidad angular de actividad. Un "
+"cuerpo marcado como potencialmente inactivo tanto para la velocidad lineal "
+"como para la angular será puesto a dormir después del tiempo dado."
+
+msgid ""
+"Constant to set/get the maximum time of activity. A body marked as "
+"potentially inactive for both linear and angular velocity will be put to "
+"sleep after this time."
+msgstr ""
+"Constante para fijar/obtener el tiempo máximo de actividad. Un cuerpo "
+"marcado como potencialmente inactivo tanto para la velocidad lineal como "
+"para la angular será puesto a dormir después de este tiempo."
+
msgid "Parameters to be sent to a 2D shape physics query."
msgstr "Parámetros a enviar a una consulta de física de forma 2D."
@@ -18664,14 +18366,6 @@ msgstr ""
"etiquetas. Esto es lo mismo que añadir una etiqueta [code]i[/code] si no "
"está actualmente en una etiqueta [code]b[/code]."
-msgid ""
-"Adds a [code][meta][/code] tag to the tag stack. Similar to the BBCode [code]"
-"[url=something]{text}[/url][/code], but supports non-[String] metadata types."
-msgstr ""
-"Añade una etiqueta [code]meta[/code] a la pila de etiquetas. Similar al "
-"BBCode [code][url=algo]{text}[/url][/code], pero soporta tipos de metadatos "
-"que no son [String]."
-
msgid "Adds a [code][font][/code] tag with a monospace font to the tag stack."
msgstr ""
"Añade una etiqueta [code]font[/code] con una fuente monoespacio a la pila de "
@@ -19567,12 +19261,6 @@ msgstr "El arrastrador dividido nunca es visible y su espacio se colapsó."
msgid "A spotlight, such as a reflector spotlight or a lantern."
msgstr "Un foco, como un reflector o una linterna."
-msgid "The spotlight's angular attenuation curve."
-msgstr "La curva de atenuación angular del foco."
-
-msgid "The spotlight's light energy attenuation curve."
-msgstr "La curva de atenuación de la energía de la luz del foco."
-
msgid "A helper node, mostly used in 3rd person cameras."
msgstr "Un nodo de ayuda, usado principalmente en cámaras de tercera persona."
@@ -23748,7 +23436,7 @@ msgid "Base-2 logarithm."
msgstr "Logarítmo en base 2."
msgid "Converts a quantity in degrees to radians."
-msgstr "Convierte un valor de grados a radianes."
+msgstr "Convierte una cantidad en grados a radianes."
msgid "Finds the nearest integer to the parameter."
msgstr "Encuentra el entero más cercano al parámetro."
diff --git a/doc/translations/fr.po b/doc/translations/fr.po
index eef490fe13..ecc6959914 100644
--- a/doc/translations/fr.po
+++ b/doc/translations/fr.po
@@ -1,6 +1,6 @@
# French translation of the Godot Engine class reference.
-# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
+# Copyright (c) 2014-present Godot Engine contributors.
+# Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
# This file is distributed under the same license as the Godot source code.
#
# Rémi Verschelde <remi@godotengine.org>, 2020, 2021.
@@ -61,13 +61,14 @@
# Landry Simo <landrysimo99@gmail.com>, 2022.
# Alexis Coudert <coudert.alex@gmail.com>, 2022.
# Callim Ethee <callimethee@gmail.com>, 2023.
+# Thalya Gauvrit <skar0ps.dev@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-01-01 02:51+0000\n"
-"Last-Translator: Callim Ethee <callimethee@gmail.com>\n"
+"PO-Revision-Date: 2023-02-13 23:42+0000\n"
+"Last-Translator: Thalya Gauvrit <skar0ps.dev@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-class-reference/fr/>\n"
"Language: fr\n"
@@ -75,7 +76,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.15.1-dev\n"
+"X-Generator: Weblate 4.16-dev\n"
msgid "Description"
msgstr "Description"
@@ -89,6 +90,9 @@ msgstr "Propriétés"
msgid "Methods"
msgstr "Méthodes"
+msgid "Operators"
+msgstr "Opérateurs"
+
msgid "Theme Properties"
msgstr "Propriétés du thème"
@@ -171,6 +175,93 @@ msgid "Built-in GDScript functions."
msgstr "Fonctions intégrées à GDScript."
msgid ""
+"Returns an array of dictionaries representing the current call stack. See "
+"also [method print_stack].\n"
+"[codeblock]\n"
+"func _ready():\n"
+" foo()\n"
+"\n"
+"func foo():\n"
+" bar()\n"
+"\n"
+"func bar():\n"
+" print(get_stack())\n"
+"[/codeblock]\n"
+"Starting from [code]_ready()[/code], [code]bar()[/code] would print:\n"
+"[codeblock]\n"
+"[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, "
+"source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n"
+"[/codeblock]\n"
+"[b]Note:[/b] This function only works if the running instance is connected "
+"to a debugging server (i.e. an editor instance). [method get_stack] will not "
+"work in projects exported in release mode, or in projects exported in debug "
+"mode if not connected to a debugging server.\n"
+"[b]Note:[/b] Calling this function from a [Thread] is not supported. Doing "
+"so will return an empty array."
+msgstr ""
+"Renvoie un tableau de dictionnaires représentant la pile d'appels courante. "
+"Voir aussi [method print_stack].\n"
+"[codeblock]\n"
+"func _ready() :\n"
+" foo()\n"
+"\n"
+"func foo() :\n"
+" bar()\n"
+"\n"
+"func bar() :\n"
+" print(get_stack())\n"
+"[/codeblock]\n"
+"En partant de [code]_ready()[/code], [code]bar()[/code] imprimerait :\n"
+"[codeblock]\n"
+"[{fonction:bar, ligne:12, source:res://script.gd}, {fonction:foo, ligne:9, "
+"source:res://script.gd}, {fonction:_ready, ligne:6, source:res://script."
+"gd}]\n"
+"[/codeblock]\n"
+"[b]Note :[/b] Cette fonction ne fonctionne que si l'instance en cours "
+"d'exécution est connectée à un serveur de débogage (c'est-à-dire une "
+"instance d'éditeur). La [method get_stack] ne fonctionnera pas dans les "
+"projets exportés en mode release, ou dans les projets exportés en mode debug "
+"s'ils ne sont pas connectés à un serveur de débogage.\n"
+"[b]Note(bis) :[/b] L'appel de cette fonction depuis un [Thread] n'est pas "
+"pris en charge. Cela renverra un tableau vide."
+
+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]\n"
+"[@subpath, @path, foo]\n"
+"[, res://test.gd, bar]\n"
+"[/codeblock]"
+msgstr ""
+"Renvoie le [param instance] passé converti en un dictionnaire. Utile pour la "
+"sérialisation.\n"
+"[b]Remarque :[/b] Ne peut pas être utilisé pour sérialiser des objets "
+"auxquels sont attachés des scripts intégrés ou des objets alloués dans des "
+"scripts intégrés.\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"
+"Résultat :\n"
+"[codeblock]\n"
+"[@subpath, @path, foo]\n"
+"[, res://test.gd, bar]\n"
+"[/codeblock]"
+
+msgid ""
"The circle constant, the circumference of the unit circle in radians. This "
"is equivalent to [code]PI * 2[/code], or 360 degrees in rotations."
msgstr ""
@@ -769,9 +860,6 @@ msgstr "Masque de touche de modification."
msgid "Shift key mask."
msgstr "Masque de la touche Shift."
-msgid "Ctrl key mask."
-msgstr "Masque de la touche Ctrl."
-
msgid "Keypad key mask."
msgstr "Masque des touches du clavier."
@@ -781,12 +869,6 @@ msgstr "Masque de l'interrupteur groupe."
msgid "Middle mouse button."
msgstr "Bouton du milieu de la souris."
-msgid "Mouse wheel up."
-msgstr "Molette de la souris vers le haut."
-
-msgid "Mouse wheel down."
-msgstr "Molette de la souris vers le bas."
-
msgid "Mouse wheel left button (only present on some mice)."
msgstr ""
"Bouton gauche de la molette de la souris (présent uniquement sur certaines "
@@ -1491,9 +1573,6 @@ msgstr "L'animation des sprites 2D (et aussi 3D)"
msgid "Proxy texture for simple frame-based animations."
msgstr "Texture procuration pour des animations simples basés sur les trames."
-msgid "Sets the currently visible frame of the texture."
-msgstr "Définit le trame présentement visible de l'animation."
-
msgid ""
"Number of frames to use in the animation. While you can create the frames "
"independently with [method set_frame_texture], you need to set this value "
@@ -2076,21 +2155,6 @@ msgstr "La connexion spécifiée existe déjà."
msgid "Plays an animation once in [AnimationNodeBlendTree]."
msgstr "Joue une animation une fois dans [AnimationNodeBlendTree]."
-msgid ""
-"A resource to add to an [AnimationNodeBlendTree]. This node will execute a "
-"sub-animation and return once it finishes. Blend times for fading in and out "
-"can be customized, as well as filters."
-msgstr ""
-"Une ressource à ajouter à un [AnimationNodeBlendTree]. Ce nœud exécutera une "
-"sous-animation et retournera quand il aura fini. Les temps de foudu entrant "
-"et sortant peuvent être personnalisés, ainsi que les filtres."
-
-msgid ""
-"If [code]true[/code], the sub-animation will restart automatically after "
-"finishing."
-msgstr ""
-"Si [code]true[/code], la sous-animation redémarrera automatiquement à la fin."
-
msgid "The delay after which the automatic restart is triggered, in seconds."
msgstr ""
"Le délai après lequel le redémarrage automatique est déclenché, en secondes."
@@ -2173,9 +2237,6 @@ msgstr ""
msgid "Playback control for [AnimationNodeStateMachine]."
msgstr "Contrôle de la lecture des [AnimationNodeStateMachine]."
-msgid "Returns the currently playing animation state."
-msgstr "Retourne l'actuel état d'animation joué."
-
msgid "Returns the playback position within the current animation state."
msgstr "Retourne la position de lecture pour l'état actuel de l'animation."
@@ -2241,15 +2302,6 @@ msgid "A generic animation transition node for [AnimationTree]."
msgstr "Une nœud d'animation de transition générique pour [AnimationTree]."
msgid ""
-"Simple state machine for cases which don't require a more advanced "
-"[AnimationNodeStateMachine]. Animations can be connected to the inputs and "
-"transition times can be specified."
-msgstr ""
-"Une simple machine à états pour les cas qui n'exigent pas une "
-"[AnimationNodeStateMachine] plus avancée. Les animations peuvent être "
-"connectées aux entrées et les temps de transition peuvent être spécifiés."
-
-msgid ""
"[AnimationPlayer] caches animated nodes. It may not notice if a node "
"disappears; [method clear_caches] forces it to update the cache again."
msgstr ""
@@ -2390,9 +2442,6 @@ msgstr ""
"Les animations devront être mises à jour manuellement (voir [method "
"advance])."
-msgid "2D area for detection and physics and audio influence."
-msgstr "Une aire 2D pour la détection et les influences physiques et audio."
-
msgid "Using Area2D"
msgstr "Utiliser les Area2D"
@@ -2458,9 +2507,6 @@ msgstr ""
msgid "This area does not affect gravity/damping."
msgstr "Cette aire n'influe pas sur la gravité/amortissement."
-msgid "3D area for detection and physics and audio influence."
-msgstr "Une aire 3D pour la détection et les influences physiques et audio."
-
msgid "GUI in 3D Demo"
msgstr "Démo des interfaces en 3D"
@@ -2833,13 +2879,6 @@ msgstr ""
"Retourne l'identifiant du point disponible suivant avec aucun point lui "
"étant associé."
-msgid ""
-"Returns the capacity of the structure backing the points, useful in "
-"conjunction with [code]reserve_space[/code]."
-msgstr ""
-"Retourne la capacité de la structure qui garde les points en cache, utile "
-"avec [code]reserve_space[/code]."
-
msgid "Returns the number of points currently in the points pool."
msgstr "Retourne le nombre de points actuellement dans le tas de points."
@@ -2857,6 +2896,13 @@ msgstr ""
"Une implémentation de A* pour trouver les chemins les plus courts parmi les "
"points connectés dans l'espace."
+msgid ""
+"Returns the capacity of the structure backing the points, useful in "
+"conjunction with [code]reserve_space[/code]."
+msgstr ""
+"Retourne la capacité de la structure qui garde les points en cache, utile "
+"avec [code]reserve_space[/code]."
+
msgid "Stores information about the audio buses."
msgstr "Stocke de l'information sur les bus audio."
@@ -3993,9 +4039,6 @@ msgstr ""
"Si [code]true[/code], l'objet est affiché à la même taille indépendamment de "
"sa distance à la caméra."
-msgid "Grows object vertices in the direction of their normals."
-msgstr "Agrandit les sommets des objets dans la direction de leurs normales."
-
msgid ""
"If [code]true[/code], depth testing is disabled and the object will be drawn "
"in render order."
@@ -4003,9 +4046,6 @@ msgstr ""
"Si [code]true[/code], les tests de profondeur sont désactivés et l'objet "
"sera dessiné suivant son ordre de rendu et non suivant sa distance."
-msgid "If [code]true[/code], normal mapping is enabled."
-msgstr "Si [code]true[/code], la carte normale est activée."
-
msgid "The strength of the normal map's effect."
msgstr "L'intensité de l'effet de la carte normale."
@@ -4167,9 +4207,6 @@ msgstr "La couleur de l'objet est soustraite à l'arrière-plan."
msgid "The color of the object is multiplied by the background."
msgstr "La couleur de l'objet est multipliée par l'arrière-plan."
-msgid "No culling is performed."
-msgstr "Aucun culling n’est effectué."
-
msgid "Set [code]ALBEDO[/code] to the per-vertex color specified in the mesh."
msgstr ""
"Définit [code]ALBEDO[/code] par la couleur définie pour chaque sommet du "
@@ -4248,9 +4285,6 @@ msgstr "Blob spéculaire par défaut."
msgid "Toon blob which changes size based on roughness."
msgstr "Le reflet en mode cartoon change de taille suivant la rugosité."
-msgid "No specular blob."
-msgstr "Pas de blob spéculaire."
-
msgid "Billboard mode is disabled."
msgstr "Le mode d'affichage est désactivé."
@@ -4913,13 +4947,6 @@ msgstr ""
"draw_polyline], [method draw_polygon], et [method draw_rect]."
msgid ""
-"Sets a custom transform for drawing via components. Anything drawn "
-"afterwards will be transformed by this."
-msgstr ""
-"Définit une transformation personnalisée pour le dessin via des composants. "
-"Tout ce qui est dessiné par la suite sera transformé par cela."
-
-msgid ""
"Sets a custom transform for drawing via matrix. Anything drawn afterwards "
"will be transformed by this."
msgstr ""
@@ -5167,11 +5194,6 @@ msgstr ""
"Le nœud [Viewport] personnalisé assigné au [CanvasLayer]. Si [code]null[/"
"code], ça utilise la fenêtre d'affichage par défaut à la place."
-msgid "Layer index for draw order. Lower values are drawn first."
-msgstr ""
-"L'index des calques définit l'ordre d'affichage. Un index bas sera dessiné "
-"en premier."
-
msgid "The layer's base offset."
msgstr "Le décalage de base du calque."
@@ -11422,13 +11444,6 @@ msgstr "InputEvent"
msgid "Returns a [String] representation of the event."
msgstr "Retourne une représentation [String] de l'évènement."
-msgid ""
-"Returns [code]true[/code] if this input event is an echo event (only for "
-"events of type [InputEventKey])."
-msgstr ""
-"Retourne [code]true[/code] si cet événement d'entrée est un écho (uniquement "
-"pour les événements de type [InputEventKey])."
-
msgid "Input event type for actions."
msgstr "Type d’évènement d’entrée pour les actions."
@@ -12020,13 +12035,6 @@ msgstr ""
"L'énergie de la Light2D. Plus la valeur est élevée, plus la lumière est "
"forte."
-msgid ""
-"The layer mask. Only objects with a matching mask will be affected by the "
-"Light2D."
-msgstr ""
-"Le masque de calque. Seuls les objets avec un masque correspondant seront "
-"sous l'influence de ce Light2D."
-
msgid "Maximum layer value of objects that are affected by the Light2D."
msgstr ""
"La niveau de calque maximum pour qu'un objet soit éclairé par la Light2D."
@@ -12059,14 +12067,6 @@ msgstr ""
"possibles."
msgid ""
-"The shadow mask. Used with [LightOccluder2D] to cast shadows. Only occluders "
-"with a matching light mask will cast shadows."
-msgstr ""
-"Le masque d'ombre. Utilisé avec [LightOccluder2D] pour lancer des ombres. "
-"Seuls les occulteurs avec un masque de lumière correspondant lanceront des "
-"ombres."
-
-msgid ""
"Adds the value of pixels corresponding to the Light2D to the values of "
"pixels under it. This is the common behavior of a light."
msgstr ""
@@ -13593,17 +13593,6 @@ msgstr "Retourne la direction haut de la carte."
msgid "Sets the map up direction."
msgstr "Définit la direction haut de la carte."
-msgid ""
-"Process the collision avoidance agents.\n"
-"The result of this process is needed by the physics server, so this must be "
-"called in the main thread.\n"
-"[b]Note:[/b] This function is not thread safe."
-msgstr ""
-"Traite les agents d'évitement de collision.\n"
-"Le résultat de ce processus est nécessaire par le serveur de physique, de "
-"sorte que cela doit être appelé dans le fil d'exécution principal.\n"
-"[b]Note :[/b] Cette fonction n'est pas sûre entre plusieurs fils d'exécution."
-
msgid "Sets the navigation mesh for the region."
msgstr "Définit le polygone de navigation de la région."
@@ -15080,6 +15069,42 @@ msgstr "Si [code]true[/code], la requête prendra la [PhysicsBody2D] en compte."
msgid "Server interface for low-level 2D physics access."
msgstr "L'interface du serveur pour l'accès à la physique 2D en bas niveau."
+msgid "Represents the size of the [enum BodyParameter] enum."
+msgstr "Représente la taille de l'énumération [enum BodyParameter]."
+
+msgid "Constant to set/get the current transform matrix of the body."
+msgstr ""
+"La constante pour définir/obtenir la matrice de transformation actuelle du "
+"corps."
+
+msgid "Constant to set/get the current linear velocity of the body."
+msgstr ""
+"La constante pour définir/récupérer la vélocité linéaire actuelle de ce "
+"corps."
+
+msgid "Constant to set/get the current angular velocity of the body."
+msgstr ""
+"La constante pour définir/récupérer la vélocité angulaire actuelle de ce "
+"corps."
+
+msgid "Constant to set/get whether the body can sleep."
+msgstr "La constante pour définir/obtenir si le corps peut être au repos."
+
+msgid "Constant to create pin joints."
+msgstr "Constante pour créer des joints d’épingle."
+
+msgid "Constant to create groove joints."
+msgstr "Constante pour créer des joints de rainure."
+
+msgid "Constant to get the number of objects that are not sleeping."
+msgstr "La constante pour récupérer le nombre d'objets qui ne dorment pas."
+
+msgid "Constant to get the number of possible collisions."
+msgstr "La constante pour obtenir le nombre possible de collisions."
+
+msgid "Server interface for low-level physics access."
+msgstr "L'interface du serveur pour l'accès physique de bas niveau."
+
msgid ""
"Adds a shape to the area, along with a transform matrix. Shapes are usually "
"referenced by their index, so you should track which shape has a given index."
@@ -15134,15 +15159,8 @@ msgstr "Affecte la zone à un ou plusieurs calques de physique."
msgid "Sets which physics layers the area will monitor."
msgstr "Définit les calques de physique que la zone surveillera."
-msgid ""
-"Sets the value for an area parameter. See [enum AreaParameter] for a list of "
-"available parameters."
-msgstr ""
-"Définit la valeur d’un paramètre de zone. Voir [enum AreaParameter] pour une "
-"liste de paramètres disponibles."
-
-msgid "Disables a given shape in an area."
-msgstr "Désactive une forme donnée dans une zone."
+msgid "Sets object pickable with rays."
+msgstr "Définit l'objet comme sélectionnable par les rayons."
msgid "Sets the transform matrix for an area shape."
msgstr "Définit la matrice de transformation pour la forme de l'aire."
@@ -15159,9 +15177,6 @@ msgstr "Ajoute un corps à la liste de ceux ignorés lors des collisions."
msgid "Removes all shapes from a body."
msgstr "Retire toutes les formes du corps."
-msgid "Creates a physics body."
-msgstr "Crée un corps physique."
-
msgid "Returns the physics layer or layers a body belongs to."
msgstr "Retourne le(s) calque(s) physique(s) auquel(s) ce corps appartient."
@@ -15194,9 +15209,6 @@ msgstr "Retourne le [RID] de la forme assignée à ce corps."
msgid "Returns a body state."
msgstr "Retourne un état du corps."
-msgid "Removes a body from the list of bodies exempt from collisions."
-msgstr "Retirer un corps de la liste de ceux ignorés lors des collisions."
-
msgid "Sets the physics layer or layers a body belongs to."
msgstr "Définit le(s) calque(s) physique(s) auquel(s) ce corps appartient."
@@ -15204,7 +15216,7 @@ msgid "Sets the physics layer or layers a body can collide with."
msgstr ""
"Définit le(s) calque(s) physique(s) où le corps peut entrer en collision."
-msgid "Sets the body mode using one of the [enum BodyMode] constants."
+msgid "Sets the body mode, from one of the [enum BodyMode] constants."
msgstr ""
"Définit le mode du corps, avec l'une des constantes de [enum BodyMode]."
@@ -15216,13 +15228,6 @@ msgstr ""
"(voir [method body_set_force_integration_callback])."
msgid ""
-"Sets a body parameter. See [enum BodyParameter] for a list of available "
-"parameters."
-msgstr ""
-"Définit un paramètre du corps. Voir [enum BodyParameter] pour la liste des "
-"paramètres disponibles."
-
-msgid ""
"Substitutes a given body shape by another. The old shape is selected by its "
"index, the new one by its [RID]."
msgstr ""
@@ -15235,27 +15240,17 @@ msgstr "Définit la matrice de transformation pour la forme du corps."
msgid "Assigns a space to the body (see [method space_create])."
msgstr "Assigne un espace au corps (voir [method space_create])."
-msgid "Returns the value of a joint parameter."
-msgstr "Retourne la valeur du paramètre du joint."
-
-msgid "Returns a joint's type (see [enum JointType])."
-msgstr "Retourne le type de joint (voir [enum JoinType])."
-
-msgid ""
-"Sets a joint parameter. See [enum JointParam] for a list of available "
-"parameters."
-msgstr ""
-"Définit un paramètre du joint. Voir [enum JointParam] pour la liste des "
-"paramètres disponibles."
+msgid "Sets a body state (see [enum BodyState] constants)."
+msgstr "Définit l'état du corps (voir les constantes [enum BodyState])."
-msgid "Activates or deactivates the 2D physics engine."
-msgstr "Active ou désactive le moteur physique 2D."
+msgid "Activates or deactivates the 3D physics engine."
+msgstr "Active ou désactive le moteur physique 3D."
msgid "Returns the shape data."
msgstr "Retourne les données de forme."
-msgid "Returns a shape's type (see [enum ShapeType])."
-msgstr "Retourne le type de forme (voir [enum ShapeType])."
+msgid "Returns the type of shape (see [enum ShapeType] constants)."
+msgstr "Retourne le type de forme (voir les constantes dans [enum ShapeType])."
msgid "Returns the value of a space parameter."
msgstr "Retourne la valeur d'un paramètre de l'espace."
@@ -15264,92 +15259,6 @@ msgid "Returns whether the space is active."
msgstr "Retourne quand cet espace est actif."
msgid ""
-"Sets the value for a space parameter. See [enum SpaceParameter] for a list "
-"of available parameters."
-msgstr ""
-"Définit la valeur pour le paramètre d'espace. Voir [enum SpaceParameter] "
-"pour la liste des paramètres possibles."
-
-msgid "Constant to set/get gravity strength in an area."
-msgstr "La constante pour définir/obtenir la force de gravité de l'aire."
-
-msgid "Constant to set/get gravity vector/center in an area."
-msgstr "La constante pour définir/obtenir le centre de gravité de l'aire."
-
-msgid "Constant to set/get the priority (order of processing) of an area."
-msgstr ""
-"La constant pour définir/obtenir la priorité (l'ordre de gestion) de l'aire."
-
-msgid "Constant to set/get a body's bounce factor."
-msgstr "La constante pour définir/obtenir le facteur de rebond."
-
-msgid "Constant to set/get a body's friction."
-msgstr "Constante pour définir/récupérer la friction du corps."
-
-msgid "Constant to set/get a body's mass."
-msgstr "La constante pour définir/obtenir la masse du corps."
-
-msgid "Constant to set/get a body's inertia."
-msgstr "La constante pour définir/obtenir l'inertie du corps."
-
-msgid "Constant to set/get a body's gravity multiplier."
-msgstr ""
-"La constante pour définir/obtenir le facteur de multiplication de la gravité "
-"du corps."
-
-msgid "Represents the size of the [enum BodyParameter] enum."
-msgstr "Représente la taille de l'énumération [enum BodyParameter]."
-
-msgid "Constant to set/get the current transform matrix of the body."
-msgstr ""
-"La constante pour définir/obtenir la matrice de transformation actuelle du "
-"corps."
-
-msgid "Constant to set/get the current linear velocity of the body."
-msgstr ""
-"La constante pour définir/récupérer la vélocité linéaire actuelle de ce "
-"corps."
-
-msgid "Constant to set/get the current angular velocity of the body."
-msgstr ""
-"La constante pour définir/récupérer la vélocité angulaire actuelle de ce "
-"corps."
-
-msgid "Constant to set/get whether the body can sleep."
-msgstr "La constante pour définir/obtenir si le corps peut être au repos."
-
-msgid "Constant to create pin joints."
-msgstr "Constante pour créer des joints d’épingle."
-
-msgid "Constant to create groove joints."
-msgstr "Constante pour créer des joints de rainure."
-
-msgid "Constant to get the number of objects that are not sleeping."
-msgstr "La constante pour récupérer le nombre d'objets qui ne dorment pas."
-
-msgid "Constant to get the number of possible collisions."
-msgstr "La constante pour obtenir le nombre possible de collisions."
-
-msgid "Server interface for low-level physics access."
-msgstr "L'interface du serveur pour l'accès physique de bas niveau."
-
-msgid "Sets object pickable with rays."
-msgstr "Définit l'objet comme sélectionnable par les rayons."
-
-msgid "Sets the body mode, from one of the [enum BodyMode] constants."
-msgstr ""
-"Définit le mode du corps, avec l'une des constantes de [enum BodyMode]."
-
-msgid "Sets a body state (see [enum BodyState] constants)."
-msgstr "Définit l'état du corps (voir les constantes [enum BodyState])."
-
-msgid "Activates or deactivates the 3D physics engine."
-msgstr "Active ou désactive le moteur physique 3D."
-
-msgid "Returns the type of shape (see [enum ShapeType] constants)."
-msgstr "Retourne le type de forme (voir les constantes dans [enum ShapeType])."
-
-msgid ""
"The strength with which the pinned objects try to stay in velocity relation "
"to each other.\n"
"The higher, the stronger."
@@ -15392,6 +15301,33 @@ msgstr ""
msgid "If set, rotational motion is possible."
msgstr "Si définit, la rotation est possible."
+msgid "Constant to set/get gravity strength in an area."
+msgstr "La constante pour définir/obtenir la force de gravité de l'aire."
+
+msgid "Constant to set/get gravity vector/center in an area."
+msgstr "La constante pour définir/obtenir le centre de gravité de l'aire."
+
+msgid "Constant to set/get the priority (order of processing) of an area."
+msgstr ""
+"La constant pour définir/obtenir la priorité (l'ordre de gestion) de l'aire."
+
+msgid "Constant to set/get a body's bounce factor."
+msgstr "La constante pour définir/obtenir le facteur de rebond."
+
+msgid "Constant to set/get a body's friction."
+msgstr "Constante pour définir/récupérer la friction du corps."
+
+msgid "Constant to set/get a body's mass."
+msgstr "La constante pour définir/obtenir la masse du corps."
+
+msgid "Constant to set/get a body's inertia."
+msgstr "La constante pour définir/obtenir l'inertie du corps."
+
+msgid "Constant to set/get a body's gravity multiplier."
+msgstr ""
+"La constante pour définir/obtenir le facteur de multiplication de la gravité "
+"du corps."
+
msgid "Parameters to be sent to a 2D shape physics query."
msgstr "Les paramètres à passer à un requête physique d'une forme 2D."
@@ -15974,11 +15910,6 @@ msgstr ""
"Si [code]true[/code], envoie des événements d'entrée tactile lorsque vous "
"cliquez ou faites glisser la souris."
-msgid "Default delay for touch events. This only affects iOS devices."
-msgstr ""
-"Un retard par défaut pour les événements tactiles. Cela n'affecte que les "
-"appareils iOS."
-
msgid ""
"The locale to fall back to if a translation isn't available in a given "
"language. If left empty, [code]en[/code] (English) will be used."
@@ -18139,12 +18070,6 @@ msgstr "Le dragueur fractionné n’est jamais visible."
msgid "A spotlight, such as a reflector spotlight or a lantern."
msgstr "Un projecteur, comme un projecteur de spectacle ou un lanterne."
-msgid "The spotlight's angular attenuation curve."
-msgstr "La courbe d’atténuation angulaire du projecteur."
-
-msgid "The spotlight's light energy attenuation curve."
-msgstr "La courbe d’atténuation de l'énergie de la lumière du projecteur."
-
msgid "A helper node, mostly used in 3rd person cameras."
msgstr ""
"Un nœud d'aide, surtout utilisé pour les caméras à la troisième personne."
diff --git a/doc/translations/zh_CN.po b/doc/translations/zh_CN.po
index d2d3354d48..1054650db3 100644
--- a/doc/translations/zh_CN.po
+++ b/doc/translations/zh_CN.po
@@ -1,6 +1,6 @@
# Chinese (Simplified) translation of the Godot Engine class reference.
-# Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur.
-# Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md).
+# Copyright (c) 2014-present Godot Engine contributors.
+# Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
# This file is distributed under the same license as the Godot source code.
#
# Haoyu Qiu <timothyqiu32@gmail.com>, 2020, 2021, 2022, 2023.
@@ -52,8 +52,8 @@
# 有趣极了 <2944595791@qq.com>, 2021.
# 刘亚西 <wayrboy123@gmail.com>, 2021.
# 诗鸷Temsys <shenshichao920@hotmail.com>, 2021.
-# Sam Sun <oppositenormal@outlook.com>, 2021.
-# sudo-behappy <3216539984@qq.com>, 2021.
+# Sam Sun <oppositenormal@outlook.com>, 2021, 2023.
+# sudo-behappy <3216539984@qq.com>, 2021, 2023.
# Cc <2590090025@qq.com>, 2021.
# 苏轼 <youwanyuyu@gmail.com>, 2021.
# ErrorDreemurr <diandaokui@qq.com>, 2021.
@@ -63,11 +63,14 @@
# 风青山 <idleman@yeah.net>, 2023.
# zehuai wu <wuzehuai@gmail.com>, 2023.
# matrixant <yuan545@hotmail.com>, 2023.
+# Pencil Core <pencilzyl@gmail.com>, 2023.
+# skyatgit <1218980814@qq.com>, 2023.
+# Hamster <hamster5295@163.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine class reference\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2023-02-10 06:54+0000\n"
+"PO-Revision-Date: 2023-02-20 10:58+0000\n"
"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot-class-reference/zh_Hans/>\n"
@@ -173,79 +176,10 @@ msgstr "本方法描述的是使用本类型作为左操作数的有效操作符
msgid "Built-in GDScript functions."
msgstr "内置 GDScript 函数。"
-msgid ""
-"A list of GDScript-specific utility functions accessed in any script.\n"
-"For the list of the global functions and constants see [@GlobalScope]."
-msgstr ""
-"可在任何脚本中访问的,GDScript专用的实用函数的列表。\n"
-"有关全局函数和常量的列表,请参阅 [@GlobalScope]。"
-
msgid "GDScript exports"
msgstr "GDScript的导出"
msgid ""
-"Returns a [Color] constructed from red ([param r8]), green ([param g8]), "
-"blue ([param b8]), and optionally alpha ([param a8]) integer channels, each "
-"divided by [code]255.0[/code] for their final value.\n"
-"[codeblock]\n"
-"var red = Color8(255, 0, 0) # Same as Color(1, 0, 0)\n"
-"var dark_blue = Color8(0, 0, 51) # Same as Color(0, 0, 0.2).\n"
-"var my_color = Color8(306, 255, 0, 102) # Same as Color(1.2, 1, 0, 0.4).\n"
-"[/codeblock]"
-msgstr ""
-"返回一个由红([param r8])、绿([param g8])、蓝([param b8])和可选的阿尔法"
-"([param a8])整数通道构造的 [Color],每个通道除以 [code]255.0[/code],作为其"
-"最终值。\n"
-"[codeblock]\n"
-"var red = Color8(255, 0, 0) # 与 Color(1, 0, 0) 相同\n"
-"var dark_blue = Color8(0, 0, 51) # 与 Color(0, 0, 0.2) 相同。\n"
-"var my_color = Color8(306, 255, 0, 102) # 与 Color(1.2, 1, 0, 0.4) 相同。\n"
-"[/codeblock]"
-
-msgid ""
-"Asserts that the [param condition] is [code]true[/code]. If the [param "
-"condition] is [code]false[/code], an error is generated. When running from "
-"the editor, the running project will also be paused until you resume it. "
-"This can be used as a stronger form of [method @GlobalScope.push_error] for "
-"reporting errors to project developers or add-on users.\n"
-"An optional [param message] can be shown in addition to the generic "
-"\"Assertion failed\" message. You can use this to provide additional details "
-"about why the assertion failed.\n"
-"[b]Warning:[/b] For performance reasons, the code inside [method assert] is "
-"only executed in debug builds or when running the project from the editor. "
-"Don't include code that has side effects in an [method assert] call. "
-"Otherwise, the project will behave differently when exported in release "
-"mode.\n"
-"[codeblock]\n"
-"# Imagine we always want speed to be between 0 and 20.\n"
-"var speed = -10\n"
-"assert(speed < 20) # True, the program will continue\n"
-"assert(speed >= 0) # False, the program will stop\n"
-"assert(speed >= 0 and speed < 20) # You can also combine the two conditional "
-"statements in one check\n"
-"assert(speed < 20, \"the speed limit is 20\") # Show a message\n"
-"[/codeblock]"
-msgstr ""
-"断言条件 [param condition] 为 [code]true[/code]。如果条件 [param condition] "
-"为 [code]false[/code] ,则会生成一个错误。如果是从编辑器运行的,正在运行的项"
-"目还会被暂停,直到手动恢复。该函数可以作为 [method @GlobalScope.push_error] "
-"的加强版,用于向项目开发者或插件用户报错。\n"
-"如果给出了可选的 [param message] 参数,在通用的“Assertion failed”消息之外,还"
-"会显示该信息。你可以使用它来提供关于断言失败原因的其他详细信息。\n"
-"[b]注意:[/b]出于对性能的考虑,[method assert] 中的代码只会在调试版本或者从编"
-"辑器运行项目时执行。所以不要在 [method assert] 调用中加入具有副作用的代码。否"
-"则,项目在以发行模式导出后将有不一致的行为。\n"
-"[codeblock]\n"
-"# 比如说我们希望 speed 始终在 0 和 20 之间。\n"
-"speed = -10\n"
-"assert(speed < 20) # True,程序会继续执行\n"
-"assert(speed >= 0) # False,程序会停止\n"
-"assert(speed >= 0 && speed < 20) # 你还可以在单次断言中合并两个条件语句\n"
-"assert(speed < 20, \"speed = %f, but the speed limit is 20\" % speed) # 在消"
-"息中显示详情\n"
-"[/codeblock]"
-
-msgid ""
"Returns a single character (as a [String]) of the given Unicode code point "
"(which is compatible with ASCII code).\n"
"[codeblock]\n"
@@ -396,73 +330,6 @@ msgstr ""
"[/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].\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 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] The path must be absolute. A relative path will always "
-"return [code]null[/code].\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]."
-msgstr ""
-"从位于绝对 [param path] 的文件系统中返回一个 [Resource]。除非该资源已在其他地"
-"方引用(例如在另一个脚本或场景中),否则资源是在函数调用时从磁盘加载的,这可"
-"能会导致轻微的延迟,尤其是在加载大型场景时。为避免在多次加载某些内容时出现不"
-"必要的延迟,可以将资源存储在变量中或使用预加载 [method preload]。\n"
-"[b]注意:[/b]资源路径可以通过右键单击文件系统停靠面板中的资源并选择“复制路"
-"径”,或将文件从文件系统停靠面板拖到脚本中获得。\n"
-"[codeblock]\n"
-"# 加载位于项目目录根部的一个名为“main”的场景,并将其缓存在一个变量中。\n"
-"var main = load(\"res://main.tscn\") # main 将包含一个 PackedScene 资源。\n"
-"[/codeblock]\n"
-"[b]重要提示:[/b]路径必须是绝对路径。相对路径将始终返回 [code]null[/code]。\n"
-"这个方法是 [method ResourceLoader.load] 的简化版,原版方法可以用于更高级的场"
-"景。\n"
-"[b]注意:[/b]必须先将文件导入引擎才能使用此函数加载它们。如果你想在运行时加"
-"载 [Image],你可以使用 [method Image.load]。如果要导入音频文件,可以使用 "
-"[member AudioStreamMP3.data]中描述的代码片段。"
-
-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 script.\n"
-"[codeblock]\n"
-"# Create instance of a scene.\n"
-"var diamond = preload(\"res://diamond.tscn\").instantiate()\n"
-"[/codeblock]"
-msgstr ""
-"从位于 [param path] 的文件系统中返回一个 [Resource]。在运行时期间,该资源将在"
-"解析脚本时加载。实际可以将这个函数视作对该资源的引用。请注意,此函数要求 "
-"[param path] 为常量 [String]。如果要从动态/可变路径加载资源,请使用 [method "
-"load]。\n"
-"[b]注意:[/b]资源路径可以通过右键单击资产面板中的资源并选择“复制路径”,或通过"
-"将文件从文件系统停靠面板拖到脚本中来获得。\n"
-"[codeblock]\n"
-"# 创建场景的实例。\n"
-"var diamond = preload(\"res://diamond.tscn\").instantiate()\n"
-"[/codeblock]"
-
-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"
@@ -555,20 +422,20 @@ msgid ""
"0.1\n"
"[/codeblock]"
msgstr ""
-"返回给定范围的数组。[method range] 的调用方法有三种:\n"
+"返回具有给定范围的数组。[method range] 可以通过三种方式调用:\n"
"[code]range(n: int)[/code]:从 0 开始,每次加 1,在到达 [code]n[/code] [i]之"
"前[/i]停止。[b]不包含[/b]参数 [code]n[/code]。\n"
"[code]range(b: int, n: int)[/code]:从 [code]b[/code] 开始,每次加 1,在到达 "
"[code]n[/code] [i]之前[/i]停止。[b]包含[/b]参数 [code]b[/code],[b]不包含[/b]"
"参数 [code]n[/code]。\n"
-"[code]range(b: int, n: int, s: int)[/code]:从 [code]b[/code] 开始,每次加 "
-"[code]s[/code],在到达 [code]n[/code] [i]之前[/i]停止。[b]包含[/b]参数 "
-"[code]b[/code],[b]不包含[/b]参数 [code]n[/code]。参数 [code]s[/code] [b]可"
-"以[/b]为负数,但不能为 [code]0[/code]。如果 [code]s[/code] 为 [code]0[/"
-"code],会输出一条错误。\n"
+"[code]range(b: int, n: int, s: int)[/code]:从[code]b[/code]开始,以[code]s[/"
+"code]为步长递增/递减,在到达 [code]n[/code] [i]之前[/i]停止。[b]包含[/b]参数 "
+"[code]b[/code],[b]不包含[/b]参数 [code]n[/code]。参数 [code]s[/code] [b]可以"
+"[/b] 为负数,但不能为 [code]0[/code]。如果 [code]s[/code] 是 [code]0[/code],"
+"则会输出一条错误消息。\n"
"[method range] 会先将所有参数转换为 [int] 再进行处理。\n"
-"[b]注意:[/b]如果不存在满足条件的值,则返回空数组(例如 [code]range(2, 5, -1)"
-"[/code] 和 [code]range(5, 5, 1)[/code])。\n"
+"[b]注意:[/b]如果没有满足条件的值,则返回空数组(例如 [code]range(2, 5, -1)[/"
+"code] 和 [code]range(5, 5, 1)[/code])。\n"
"示例:\n"
"[codeblock]\n"
"print(range(4)) # 输出 [0, 1, 2, 3]\n"
@@ -576,7 +443,7 @@ msgstr ""
"print(range(0, 6, 2)) # 输出 [0, 2, 4]\n"
"print(range(4, 1, -1)) # 输出 [4, 3, 2]\n"
"[/codeblock]\n"
-"反向遍历 [Array] 请使用:\n"
+"要反向遍历 [Array],请使用:\n"
"[codeblock]\n"
"var array = [3, 6, 9]\n"
"for i in range(array.size(), 0, -1):\n"
@@ -669,72 +536,48 @@ msgstr ""
"行时错误。"
msgid ""
-"Mark the following property as exported (editable in the Inspector dock and "
-"saved to disk). To control the type of the exported property use the type "
-"hint notation.\n"
-"[codeblock]\n"
-"@export var int_number = 5\n"
-"@export var float_number: float = 5\n"
-"[/codeblock]"
-msgstr ""
-"将以下属性标记为已导出(可在 Inspector Dock 中编辑并保存到磁盘)。要控制导出"
-"属性的类型,请使用类型提示表示法。\n"
-"[codeblock]\n"
-"@export var int_number = 5\n"
-"@export var float_number: float = 5\n"
-"[/codeblock]"
-
-msgid ""
-"Define a new category for the following exported properties. This helps to "
-"organize properties in the Inspector dock.\n"
-"See also [constant PROPERTY_USAGE_CATEGORY].\n"
+"Export an [int] or [String] property as an enumerated list of options. If "
+"the property is an [int], then the index of the value is stored, in the same "
+"order the values are provided. You can add explicit values using a colon. If "
+"the property is a [String], then the value is stored.\n"
+"See also [constant PROPERTY_HINT_ENUM].\n"
"[codeblock]\n"
-"@export_category(\"My Properties\")\n"
-"@export var number = 3\n"
-"@export var string = \"\"\n"
+"@export_enum(\"Warrior\", \"Magician\", \"Thief\") var character_class: int\n"
+"@export_enum(\"Slow:30\", \"Average:60\", \"Very Fast:200\") var "
+"character_speed: int\n"
+"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String\n"
"[/codeblock]\n"
-"[b]Note:[/b] Categories in the property list are supposed to indicate "
-"different base types, so the use of this annotation is not encouraged. See "
-"[annotation @export_group] and [annotation @export_subgroup] instead."
-msgstr ""
-"为以下导出的属性定义一个新类别。这有助于在检查器停靠栏中组织属性。\n"
-"另请参见 [constant PROPERTY_USAGE_CATEGORY]。\n"
+"If you want to set an initial value, you must specify it explicitly:\n"
"[codeblock]\n"
-"@export_category(\"My Properties\")\n"
-"@export var number = 3\n"
-"@export var string = \"\"\n"
+"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String = "
+"\"Rebecca\"\n"
"[/codeblock]\n"
-"[b]注意:[/b]属性列表中的类别应该指示不同的基本类型,因此不鼓励使用此注解。请"
-"参阅 [annotation @export_group] 和 [annotation @export_subgroup]。"
-
-msgid ""
-"Export a [Color] property without transparency (its alpha fixed as "
-"[code]1.0[/code]).\n"
-"See also [constant PROPERTY_HINT_COLOR_NO_ALPHA].\n"
+"If you want to use named GDScript enums, then use [annotation @export] "
+"instead:\n"
"[codeblock]\n"
-"@export_color_no_alpha var modulate_color: Color\n"
+"enum CharacterName {REBECCA, MARY, LEAH}\n"
+"@export var character_name: CharacterName\n"
"[/codeblock]"
msgstr ""
-"导出一个没有透明度的 [Color] 属性(它的 alpha 固定为 [code]1.0[/code])。\n"
-"另见 [constant PROPERTY_HINT_COLOR_NO_ALPHA]。\n"
+"将 [int] 或 [String] 导出为枚举选项列表。如果属性为 [int],则保存的是值的索"
+"引,与值的顺序一致。你可以通过冒号添加显式值。如果属性为 [String],则保存的是"
+"值。\n"
+"另见 [constant PROPERTY_HINT_ENUM]。\n"
"[codeblock]\n"
-"@export_color_no_alpha var modulate_color: Color\n"
-"[/codeblock]"
-
-msgid ""
-"Export a [String] property as a path to a directory. The path will be "
-"limited to the project folder and its subfolders. See [annotation "
-"@export_global_dir] to allow picking from the entire filesystem.\n"
-"See also [constant PROPERTY_HINT_DIR].\n"
+"@export_enum(\"Warrior\", \"Magician\", \"Thief\") var character_class: int\n"
+"@export_enum(\"Slow:30\", \"Average:60\", \"Very Fast:200\") var "
+"character_speed: int\n"
+"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String\n"
+"[/codeblock]\n"
+"如果想要设置初始值,你必须进行显式指定:\n"
"[codeblock]\n"
-"@export_dir var sprite_folder: String\n"
-"[/codeblock]"
-msgstr ""
-"将 [String] 属性作为目录路径导出。该路径将被限制在项目文件夹及其子文件夹中。"
-"请参阅 [annotation @export_global_dir],以允许从整个文件系统中进行选择。\n"
-"另请参见 [constant PROPERTY_HINT_DIR]。\n"
+"@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String = "
+"\"Rebecca\"\n"
+"[/codeblock]\n"
+"如果想要使用 GDScript 枚举,请改用 [annotation @export]:\n"
"[codeblock]\n"
-"@export_dir var sprite_folder: String\n"
+"enum CharacterName {REBECCA, MARY, LEAH}\n"
+"@export var character_name: CharacterName\n"
"[/codeblock]"
msgid ""
@@ -761,24 +604,55 @@ msgstr ""
"[/codeblock]"
msgid ""
-"Export a [String] property as a path to a file. The path will be limited to "
-"the project folder and its subfolders. See [annotation @export_global_file] "
-"to allow picking from the entire filesystem.\n"
-"If [param filter] is provided, only matching files will be available for "
-"picking.\n"
-"See also [constant PROPERTY_HINT_FILE].\n"
+"Export an integer property as a bit flag field. This allows to store several "
+"\"checked\" or [code]true[/code] values with one property, and comfortably "
+"select them from the Inspector dock.\n"
+"See also [constant PROPERTY_HINT_FLAGS].\n"
"[codeblock]\n"
-"@export_file var sound_effect_file: String\n"
-"@export_file(\"*.txt\") var notes_file: String\n"
+"@export_flags(\"Fire\", \"Water\", \"Earth\", \"Wind\") var spell_elements = "
+"0\n"
+"[/codeblock]\n"
+"You can add explicit values using a colon:\n"
+"[codeblock]\n"
+"@export_flags(\"Self:4\", \"Allies:8\", \"Foes:16\") var spell_targets = 0\n"
+"[/codeblock]\n"
+"You can also combine several flags:\n"
+"[codeblock]\n"
+"@export_flags(\"Self:4\", \"Allies:8\", \"Self and Allies:12\", "
+"\"Foes:16\")\n"
+"var spell_targets = 0\n"
+"[/codeblock]\n"
+"[b]Note:[/b] A flag value must be at least [code]1[/code] and at most "
+"[code]2 ** 32 - 1[/code].\n"
+"[b]Note:[/b] Unlike [annotation @export_enum], the previous explicit value "
+"is not taken into account. In the following example, A is 16, B is 2, C is "
+"4.\n"
+"[codeblock]\n"
+"@export_flags(\"A:16\", \"B\", \"C\") var x\n"
"[/codeblock]"
msgstr ""
-"将 [String] 属性导出为文件的路径。该路径将限于项目文件夹及其子文件夹。请参阅 "
-"[annotation @export_global_file],以允许从整个文件系统中进行选择。\n"
-"如果提供了 [param filter],则只有匹配的文件可供选择。\n"
-"另请参见 [constant PROPERTY_HINT_FILE]。\n"
+"将整数属性导出为位标志字段。能够在单个属性中保存若干“勾选”或者说 [code]true[/"
+"code] 值,可以很方便地在检查器面板中进行选择。\n"
+"另见 [constant PROPERTY_HINT_FLAGS]。\n"
+"[codeblock]\n"
+"@export_flags(\"Fire\", \"Water\", \"Earth\", \"Wind\") var spell_elements = "
+"0\n"
+"[/codeblock]\n"
+"你可以通过冒号来添加显式值:\n"
+"[codeblock]\n"
+"@export_flags(\"Self:4\", \"Allies:8\", \"Foes:16\") var spell_targets = 0\n"
+"[/codeblock]\n"
+"你还可以对标志进行组合:\n"
+"[codeblock]\n"
+"@export_flags(\"Self:4\", \"Allies:8\", \"Self and Allies:12\", "
+"\"Foes:16\")\n"
+"var spell_targets = 0\n"
+"[/codeblock]\n"
+"[b]注意:[/b]标志值最多为 [code]1[/code],最多为 [code]2 ** 32 - 1[/code]。\n"
+"[b]注意:[/b]与 [annotation @export_enum] 不同,不会考虑前一个显式值。下面的"
+"例子中,A 为 16、B 为 2、C 为 4。\n"
"[codeblock]\n"
-"@export_file var sound_effect_file: String\n"
-"@export_file(\"*.txt\") var notes_file: String\n"
+"@export_flags(\"A:16\", \"B\", \"C\") var x\n"
"[/codeblock]"
msgid ""
@@ -806,7 +680,7 @@ msgid ""
"@export_flags_2d_physics var physics_layers: int\n"
"[/codeblock]"
msgstr ""
-"将整数属性导出为 2D 物理层的位标志字段。检查器停靠栏中的小部件,将使用在 "
+"将整数属性导出为 2D 物理层的位标志字段。检查器停靠面板中的小工具,将使用在 "
"[member ProjectSettings.layer_names/2d_physics/layer_1] 中定义的层名称。\n"
"另请参见 [constant PROPERTY_HINT_LAYERS_2D_PHYSICS]。\n"
"[codeblock]\n"
@@ -878,155 +752,239 @@ msgstr ""
"[/codeblock]"
msgid ""
-"Export a [String] property as a path to a directory. The path can be picked "
-"from the entire filesystem. See [annotation @export_dir] to limit it to the "
-"project folder and its subfolders.\n"
-"See also [constant PROPERTY_HINT_GLOBAL_DIR].\n"
+"Export a [String] property with a large [TextEdit] widget instead of a "
+"[LineEdit]. This adds support for multiline content and makes it easier to "
+"edit large amount of text stored in the property.\n"
+"See also [constant PROPERTY_HINT_MULTILINE_TEXT].\n"
+"[codeblock]\n"
+"@export_multiline var character_biography\n"
+"[/codeblock]"
+msgstr ""
+"用一个大的 [TextEdit] 部件而不是 [LineEdit] 导出一个 [String] 属性。这增加了"
+"对多行内容的支持,使其更容易编辑存储在属性中的大量文本。\n"
+"参见 [constant PROPERTY_HINT_MULTILINE_TEXT]。\n"
+"[codeblock]\n"
+"@export_multiline var character_biography\n"
+"[/codeblock]"
+
+msgid ""
+"Export a [NodePath] property with a filter for allowed node types.\n"
+"See also [constant PROPERTY_HINT_NODE_PATH_VALID_TYPES].\n"
"[codeblock]\n"
-"@export_global_dir var sprite_folder: String\n"
+"@export_node_path(\"Button\", \"TouchScreenButton\") var some_button\n"
"[/codeblock]"
msgstr ""
-"将 [String] 属性导出为目录路径。可以从整个文件系统中选择路径。请参阅 "
-"[annotation @export_dir] 以将其限制为项目文件夹及其子文件夹。\n"
-"另请参见 [constant PROPERTY_HINT_GLOBAL_DIR]。\n"
+"导出一个 [NodePath] 属性,对允许的节点类型进行过滤。\n"
+"参见 [constant PROPERTY_HINT_NODE_PATH_VALID_TYPES]。\n"
"[codeblock]\n"
-"@export_global_dir var sprite_folder: String\n"
+"@export_node_path(Button, TouchScreenButton) var some_button\n"
"[/codeblock]"
msgid ""
-"Export a [String] property as a path to a file. The path can be picked from "
-"the entire filesystem. See [annotation @export_file] to limit it to the "
-"project folder and its subfolders.\n"
-"If [param filter] is provided, only matching files will be available for "
-"picking.\n"
-"See also [constant PROPERTY_HINT_GLOBAL_FILE].\n"
+"Export a [String] property with a placeholder text displayed in the editor "
+"widget when no value is present.\n"
+"See also [constant PROPERTY_HINT_PLACEHOLDER_TEXT].\n"
"[codeblock]\n"
-"@export_global_file var sound_effect_file: String\n"
-"@export_global_file(\"*.txt\") var notes_file: String\n"
+"@export_placeholder(\"Name in lowercase\") var character_id: String\n"
"[/codeblock]"
msgstr ""
-"将 [String] 属性作为文件路径导出。可以从整个文件系统中选择路径。请参阅 "
-"[annotation @export_file],以将其限制为项目文件夹及其子文件夹。\n"
-"如果提供了 [param filter],则只有匹配的文件可供选择。\n"
-"另请参见 [constant PROPERTY_HINT_GLOBAL_FILE]。\n"
+"导出一个带有一个占位符文本的 [String] 属性,当没有值时,编辑器小部件中会显示"
+"该占位符文本。\n"
+"另请参见 [constant PROPERTY_HINT_PLACEHOLDER_TEXT]。\n"
"[codeblock]\n"
-"@export_global_file var sound_effect_file: String\n"
-"@export_global_file(\"*.txt\") var notes_file: String\n"
+"@export_placeholder(\"Name in lowercase\") var character_id: String\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 "
-"optional [param prefix], which would make group to only consider properties "
-"that have this prefix. The grouping will break on the first property that "
-"doesn't have a prefix. The prefix is also removed from the property's name "
-"in the Inspector dock.\n"
-"If no [param prefix] is provided, the every following property is added to "
-"the group. The group ends when then next group or category is defined. You "
-"can also force end a group by using this annotation with empty strings for "
-"parameters, [code]@export_group(\"\", \"\")[/code].\n"
-"Groups cannot be nested, use [annotation @export_subgroup] to add subgroups "
-"within groups.\n"
-"See also [constant PROPERTY_USAGE_GROUP].\n"
+"Export an [int] or [float] property as a range value. The range must be "
+"defined by [param min] and [param max], as well as an optional [param step] "
+"and a variety of extra hints. The [param step] defaults to [code]1[/code] "
+"for integer properties. For floating-point numbers this value depends on "
+"your [code]EditorSettings.interface/inspector/default_float_step[/code] "
+"setting.\n"
+"If hints [code]\"or_greater\"[/code] and [code]\"or_less\"[/code] are "
+"provided, the editor widget will not cap the value at range boundaries. The "
+"[code]\"exp\"[/code] hint will make the edited values on range to change "
+"exponentially. The [code]\"hide_slider\"[/code] hint will hide the slider "
+"element of the editor widget.\n"
+"Hints also allow to indicate the units for the edited value. Using "
+"[code]\"radians\"[/code] you can specify that the actual value is in "
+"radians, but should be displayed in degrees in the Inspector dock. "
+"[code]\"degrees\"[/code] allows to add a degree sign as a unit suffix. "
+"Finally, a custom suffix can be provided using [code]\"suffix:unit\"[/code], "
+"where \"unit\" can be any string.\n"
+"See also [constant PROPERTY_HINT_RANGE].\n"
"[codeblock]\n"
-"@export_group(\"My Properties\")\n"
-"@export var number = 3\n"
-"@export var string = \"\"\n"
+"@export_range(0, 20) var number\n"
+"@export_range(-10, 20) var number\n"
+"@export_range(-10, 20, 0.2) var number: float\n"
"\n"
-"@export_group(\"Prefixed Properties\", \"prefix_\")\n"
-"@export var prefix_number = 3\n"
-"@export var prefix_string = \"\"\n"
+"@export_range(0, 100, 1, \"or_greater\") var power_percent\n"
+"@export_range(0, 100, 1, \"or_greater\", \"or_less\") var health_delta\n"
"\n"
-"@export_group(\"\", \"\")\n"
-"@export var ungrouped_number = 3\n"
+"@export_range(-3.14, 3.14, 0.001, \"radians\") var angle_radians\n"
+"@export_range(0, 360, 1, \"degrees\") var angle_degrees\n"
+"@export_range(-8, 8, 2, \"suffix:px\") var target_offset\n"
"[/codeblock]"
msgstr ""
-"为以下导出的属性定义一个新组。这有助于在检查器停靠面板中组织属性。可以使用可"
-"选的 [param prefix] 添加组,这将使组仅考虑具有此前缀的属性。分组将在第一个没"
-"有前缀的属性上中断。前缀也将从检查器停靠面板中的属性名称中移除。\n"
-"如果未提供 [param prefix],则将以下每个属性添加到组中。当定义下一个组或类别"
-"时,该组结束。您还可以通过将此注解与空字符串的参数一起使用来强制结束组,"
-"[code]@export_group(\"\", \"\")[/code]。\n"
-"组不能被嵌套,使用 [annotation @export_subgroup] 在组内添加子组。\n"
-"另见 [constant PROPERTY_USAGE_GROUP]。\n"
+"将一个[int]或[float]属性导出为一个范围值。范围必须由 [param min] 和 [param "
+"max] 定义,以及一个可选的 [param step] 和各种额外的提示。对于整数属性,"
+"[param step] 的默认值是 [code]1[/code] 。对于浮点数,这个值取决于你的 "
+"[code]EditorSettings.interface/inspector/default_float_step[/code] 设置。\n"
+"如果提供了提示 [code]\"or_greater\"[/code] 和 [code]\"or_less\"[/code] ,那么"
+"编辑器部件将不会在范围边界处对数值进行限制。[code]\"exp\"[/code] 提示将使范围"
+"内的编辑值以指数形式变化。[code]\"hide_slider\"[/code] 提示将隐藏编辑器部件中"
+"的滑块。\n"
+"提示还允许指示编辑的值的单位。使用 [code]\"radians\"[/code] ,你可以指定实际"
+"值以弧度为单位,但在检查器中会以角度为单位显示。[code]\"degrees\"[/code] 允许"
+"添加一个角度符号作为单位后缀。最后,可以使用 [code]\"suffix:单位\"[/code] 提"
+"供一个自定义后缀,其中“单位”可以是任何字符串。\n"
+"另见 [constant PROPERTY_HINT_RANGE]。\n"
"[codeblock]\n"
-"@export_group(\"My Properties\")\n"
-"@export var number = 3\n"
-"@export var string = \"\"\n"
+"@export_range(0, 20) var number\n"
+"@export_range(-10, 20) var number\n"
+"@export_range(-10, 20, 0.2) var number: float\n"
"\n"
-"@export_group(\"Prefixed Properties\", \"prefix_\")\n"
-"@export var prefix_number = 3\n"
-"@export var prefix_string = \"\"\n"
+"@export_range(0, 100, 1, \"or_greater\") var power_percent\n"
+"@export_range(0, 100, 1, \"or_greater\", \"or_less\") var health_delta\n"
"\n"
-"@export_group(\"\", \"\")\n"
-"@export var ungrouped_number = 3\n"
+"@export_range(-3.14, 3.14, 0.001, \"radians\") var angle_radians\n"
+"@export_range(0, 360, 1, \"degrees\") var angle_degrees\n"
+"@export_range(-8, 8, 2, \"suffix:像素\") var target_offset\n"
"[/codeblock]"
msgid ""
-"Export a [String] property with a large [TextEdit] widget instead of a "
-"[LineEdit]. This adds support for multiline content and makes it easier to "
-"edit large amount of text stored in the property.\n"
-"See also [constant PROPERTY_HINT_MULTILINE_TEXT].\n"
+"Add a custom icon to the current script. The script must be registered as a "
+"global class using the [code]class_name[/code] keyword for this to have a "
+"visible effect. The icon specified at [param icon_path] is displayed in the "
+"Scene dock for every node of that class, as well as in various editor "
+"dialogs.\n"
"[codeblock]\n"
-"@export_multiline var character_biography\n"
+"@icon(\"res://path/to/class/icon.svg\")\n"
+"[/codeblock]\n"
+"[b]Note:[/b] Only the script can have a custom icon. Inner classes are not "
+"supported.\n"
+"[b]Note:[/b] As annotations describe their subject, the [code]@icon[/code] "
+"annotation must be placed before the class definition and inheritance.\n"
+"[b]Note:[/b] Unlike other annotations, the argument of the [code]@icon[/"
+"code] annotation must be a string literal (constant expressions are not "
+"supported)."
+msgstr ""
+"在当前脚本中添加一个自定义图标。脚本必须使用 [code]class_name[/code] 关键字注"
+"册为一个全局类,这样才有可见的效果。在 [param icon_path] 处指定的图标会在场景"
+"停靠面板中该类的节点上显示,也会显示在各种编辑器对话框中。\n"
+"[codeblock]\n"
+"@icon(\"res://path/to/class/icon.svg\")\n"
+"[/codeblock]\n"
+"[b]注意:[/b] 只有脚本可以有一个自定义的图标。不支持内部类。\n"
+"[b]注意:[/b] 由于注解描述了它们的主题,[code]@icon[/code] 注解必须放在类定义"
+"和继承之前。\n"
+"[b]注意:[/b] 不同于其他注解,[code]@icon[/code] 注解的参数必须是一个字符串 "
+"(不支持常量表达式)。"
+
+msgid ""
+"Mark the following method for remote procedure calls. See [url=$DOCS_URL/"
+"tutorials/networking/high_level_multiplayer.html]High-level multiplayer[/"
+"url].\n"
+"The order of [code]mode[/code], [code]sync[/code] and [code]transfer_mode[/"
+"code] does not matter and all arguments can be omitted, but "
+"[code]transfer_channel[/code] always has to be the last argument. The "
+"accepted values for [code]mode[/code] are [code]\"any_peer\"[/code] or "
+"[code]\"authority\"[/code], for [code]sync[/code] are [code]\"call_remote\"[/"
+"code] or [code]\"call_local\"[/code] and for [code]transfer_mode[/code] are "
+"[code]\"unreliable\"[/code], [code]\"unreliable_ordered\"[/code] or "
+"[code]\"reliable\"[/code].\n"
+"[codeblock]\n"
+"@rpc\n"
+"func fn(): pass\n"
+"\n"
+"@rpc(\"any_peer\", \"unreliable_ordered\")\n"
+"func fn_update_pos(): pass\n"
+"\n"
+"@rpc(\"authority\", \"call_remote\", \"unreliable\", 0) # Equivalent to "
+"@rpc\n"
+"func fn_default(): pass\n"
"[/codeblock]"
msgstr ""
-"用一个大的 [TextEdit] 部件而不是 [LineEdit] 导出一个 [String] 属性。这增加了"
-"对多行内容的支持,使其更容易编辑存储在属性中的大量文本。\n"
-"参见 [constant PROPERTY_HINT_MULTILINE_TEXT]。\n"
+"将以下方法标记为远程过程调用。请参见 [url=$DOCS_URL/tutorials/networking/"
+"high_level_multiplayer.html]高级多人游戏[/url]。\n"
+"[code]mode[/code]、[code]sync[/code] 和 [code]transfer_mode[/code] 的顺序无关"
+"紧要,所有参数都可以省略,但 [code]transfer_channel[/code] 必须始终是最后一个"
+"参数。对于接受的值,[code]mode[/code] 可以是 [code]\"any_peer\"[/code] 或 "
+"[code]\"authority\"[/code],[code]sync[/code] 可以是 [code]\"call_remote\"[/"
+"code]或 [code]\"call_local\"[/code],[code]transfer_mode[/code] 可以是 "
+"[code]\"unreliable\"[/code]、[code]\"unreliable_ordered\"[/code] 或 "
+"[code]\"reliable\"[/code]。\n"
"[codeblock]\n"
-"@export_multiline var character_biography\n"
+"@rpc\n"
+"func fn(): pass\n"
+"\n"
+"@rpc(\"any_peer\", \"unreliable_ordered\")\n"
+"func fn_update_pos(): pass\n"
+"\n"
+"@rpc(\"authority\", \"call_remote\", \"unreliable\", 0) # 等价于 @rpc\n"
+"func fn_default(): pass\n"
"[/codeblock]"
msgid ""
-"Export a [String] property with a placeholder text displayed in the editor "
-"widget when no value is present.\n"
-"See also [constant PROPERTY_HINT_PLACEHOLDER_TEXT].\n"
+"Mark the current script as a tool script, allowing it to be loaded and "
+"executed by the editor. See [url=$DOCS_URL/tutorials/plugins/"
+"running_code_in_the_editor.html]Running code in the editor[/url].\n"
"[codeblock]\n"
-"@export_placeholder(\"Name in lowercase\") var character_id: String\n"
+"@tool\n"
+"extends Node\n"
+"[/codeblock]\n"
+"[b]Note:[/b] As annotations describe their subject, the [code]@tool[/code] "
+"annotation must be placed before the class definition and inheritance."
+msgstr ""
+"将当前脚本标记为工具脚本,允许它被编辑器加载和执行。见[url=$DOCS_URL/"
+"tutorials/plugins/running_code_in_the_editor.html]《在编辑器中运行代码》[/"
+"url]。\n"
+"[codeblock]\n"
+"@tool\n"
+"extends Node\n"
+"[/codeblock]\n"
+"[b]注意:[/b]因为注解描述对象的关系,必须把 [code]@tool[/code] 注解放在类定义"
+"和继承之前。"
+
+msgid ""
+"Mark the following statement to ignore the specified [param warning]. See "
+"[url=$DOCS_URL/tutorials/scripting/gdscript/warning_system.html]GDScript "
+"warning system[/url].\n"
+"[codeblock]\n"
+"func test():\n"
+" print(\"hello\")\n"
+" return\n"
+" @warning_ignore(\"unreachable_code\")\n"
+" print(\"unreachable\")\n"
"[/codeblock]"
msgstr ""
-"导出一个带有一个占位符文本的 [String] 属性,当没有值时,编辑器小部件中会显示"
-"该占位符文本。\n"
-"另请参见 [constant PROPERTY_HINT_PLACEHOLDER_TEXT]。\n"
+"将后续语句标记为忽略指定的 [param warning] 警告。见[url=$DOCS_URL/tutorials/"
+"scripting/gdscript/warning_system.html]《GDScript 警告系统》[/url]。\n"
"[codeblock]\n"
-"@export_placeholder(\"Name in lowercase\") var character_id: String\n"
+"func test():\n"
+" print(\"你好\")\n"
+" return\n"
+" @warning_ignore(\"unreachable_code\")\n"
+" print(\"无法到达\")\n"
"[/codeblock]"
+msgid "Global scope constants and functions."
+msgstr "全局范围常量和函数。"
+
msgid ""
-"Define a new subgroup for the following exported properties. This helps to "
-"organize properties in the Inspector dock. Subgroups work exactly like "
-"groups, except they need a parent group to exist. See [annotation "
-"@export_group].\n"
-"See also [constant PROPERTY_USAGE_SUBGROUP].\n"
-"[codeblock]\n"
-"@export_group(\"My Properties\")\n"
-"@export var number = 3\n"
-"@export var string = \"\"\n"
-"\n"
-"@export_subgroup(\"My Prefixed Properties\", \"prefix_\")\n"
-"@export var prefix_number = 3\n"
-"@export var prefix_string = \"\"\n"
-"[/codeblock]\n"
-"[b]Note:[/b] Subgroups cannot be nested, they only provide one extra level "
-"of depth. Just like the next group ends the previous group, so do the "
-"subsequent subgroups."
-msgstr ""
-"为接下来的导出属性定义一个新的子组。这有助于组织检查器停靠面板中的属性。子组"
-"的工作方式与组完全一样,只是它们需要一个父组才能存在。请参阅 [annotation "
-"@export_group]。\n"
-"另请参见 [constant PROPERTY_USAGE_SUBGROUP]。\n"
-"[codeblock]\n"
-"@export_group(\"My Properties\")\n"
-"@export var number = 3\n"
-"@export var string = \"\"\n"
-"\n"
-"@export_subgroup(\"My Prefixed Properties\", \"prefix_\")\n"
-"@export var prefix_number = 3\n"
-"@export var prefix_string = \"\"\n"
-"[/codeblock]\n"
-"[b]注意:[/b]子组不能嵌套,它们只提供一层额外的深度。就像新组使前一个组结束一"
-"样,后续的子组也会打断之前的子组。"
+"A list of global scope enumerated constants and built-in functions. This is "
+"all that resides in the globals, constants regarding error codes, keycodes, "
+"property hints, etc.\n"
+"Singletons are also documented here, since they can be accessed from "
+"anywhere.\n"
+"For the entries related to GDScript which can be accessed in any script see "
+"[@GDScript]."
+msgstr ""
+"全局范围的枚举常量和内置函数的列表。这是所有驻留在全局的,关于错误代码、键"
+"码、属性提示等的常量。\n"
+"单例也被记录在这里,因为它们可以从任何地方被访问。\n"
+"对于可以在任何脚本中访问的与 GDScript 相关的条目,请参阅 [@GDScript]。"
msgid "Random number generation"
msgstr "随机数生成"
@@ -1177,17 +1135,356 @@ msgid ""
"var a = atan2(0, -1) # a is 3.141593\n"
"[/codeblock]"
msgstr ""
-"返回 [code]y/x[/code] 的反正切值,单位为弧度。用来获得切线的角度 [code]y/x[/"
-"code] 。为了计算该值,该方法考虑了两个参数的符号,以确定象限。\n"
-"重要提示:按照惯例,Y坐标在前。\n"
+"返回 [code]y/x[/code] 的反正切值,单位为弧度。用来获得正切值为 [code]y/x[/"
+"code] 的角度。为了计算该值,该方法考虑了两个参数的符号,以确定象限。\n"
+"重要提示:按照惯例,Y 坐标在前。\n"
"[codeblock]\n"
-"var a = atan2(0, -1) # a=3.141593\n"
+"var a = atan2(0, -1) # a = 3.141593\n"
"[/codeblock]"
+msgid ""
+"Returns the derivative at the given [param t] on a one-dimensional "
+"[url=https://en.wikipedia.org/wiki/B%C3%A9zier_curve]Bézier curve[/url] "
+"defined by the given [param control_1], [param control_2], and [param end] "
+"points."
+msgstr ""
+"返回由给定的 [param control_1]、[param control_2] 和 [param end] 点定义的一维"
+"[url=https://en.wikipedia.org/wiki/B%C3%A9zier_curve]贝塞尔曲线[/url]上 "
+"[param t] 处的导数。"
+
+msgid ""
+"Returns the point at the given [param t] on a one-dimensional [url=https://"
+"en.wikipedia.org/wiki/B%C3%A9zier_curve]Bézier curve[/url] defined by the "
+"given [param control_1], [param control_2], and [param end] points."
+msgstr ""
+"返回由给定的 [param control_1]、[param control_2] 和 [param end] 点定义的一维"
+"[url=https://en.wikipedia.org/wiki/B%C3%A9zier_curve]贝塞尔曲线[/url]上位于给"
+"定 [param t] 的点。"
+
+msgid ""
+"Decodes a byte array back to a [Variant] value, without decoding objects.\n"
+"[b]Note:[/b] If you need object deserialization, see [method "
+"bytes_to_var_with_objects]."
+msgstr ""
+"将字节数组解码回 [Variant] 值,无法解码对象。\n"
+"[b]注意:[/b]如果需要对象反序列化,请参见 [method "
+"bytes_to_var_with_objects]。"
+
+msgid ""
+"Decodes a byte array back to a [Variant] value. Decoding objects is "
+"allowed.\n"
+"[b]Warning:[/b] Deserialized object can contain code which gets executed. Do "
+"not use this option if the serialized object comes from untrusted sources to "
+"avoid potential security threats (remote code execution)."
+msgstr ""
+"将字节数组解码回 [Variant] 值。允许解码对象。\n"
+"[b]警告:[/b]反序列化的对象可能包含执行的代码。如果序列化对象的来源不受信任,"
+"则不要使用此选项,以避免潜在的安全威胁(远程执行代码)。"
+
+msgid ""
+"Rounds [param x] upward (towards positive infinity), returning the smallest "
+"whole number that is not less than [param x]. Supported types: [int], "
+"[float], [Vector2], [Vector3], [Vector4].\n"
+"[codeblock]\n"
+"var i = ceil(1.45) # i is 2.0\n"
+"i = ceil(1.001) # i is 2.0\n"
+"[/codeblock]\n"
+"See also [method floor], [method round], and [method snapped].\n"
+"[b]Note:[/b] For better type safety, use [method ceilf], [method ceili], "
+"[method Vector2.ceil], [method Vector3.ceil], or [method Vector4.ceil]."
+msgstr ""
+"向上舍入 [param x](朝正无穷大),返回不小于 [param x] 的最小整数。支持的类"
+"型:[int]、[float]、[Vector2]、[Vector3]、[Vector4]。\n"
+"[codeblock]\n"
+"var i = ceil(1.45) # i 是 2.0\n"
+"i = ceil(1.001) # i 是 2.0\n"
+"[/codeblock]\n"
+"另请参见 [method floor]、[method round]、以及 [method snapped]。\n"
+"[b]注意:[/b]为了更好的类型安全,使用 [method ceilf]、[method ceili]、"
+"[method Vector2.ceil]、[method Vector3.ceil] 或 [method Vector4.ceil]。"
+
+msgid ""
+"Rounds [param x] upward (towards positive infinity), returning the smallest "
+"whole number that is not less than [param x].\n"
+"A type-safe version of [method ceil], returning a [float]."
+msgstr ""
+"向上舍入 [param x](朝正无穷大),返回不小于 [param x] 的最小整数。\n"
+"[method ceil] 的类型安全版本,返回一个 [float]。"
+
+msgid ""
+"Rounds [param x] upward (towards positive infinity), returning the smallest "
+"whole number that is not less than [param x].\n"
+"A type-safe version of [method ceil], returning an [int]."
+msgstr ""
+"向上舍入 [param x](朝正无穷大),返回不小于 [param x] 的最小整数。\n"
+"[method ceil] 的类型安全版本,返回一个 [int]。"
+
+msgid ""
+"Clamps the [param value], returning a [Variant] not less than [param min] "
+"and not more than [param max]. Supported types: [int], [float], [Vector2], "
+"[Vector2i], [Vector3], [Vector3i], [Vector4], [Vector4i].\n"
+"[codeblock]\n"
+"var a = clamp(-10, -1, 5)\n"
+"# a is -1\n"
+"\n"
+"var b = clamp(8.1, 0.9, 5.5)\n"
+"# b is 5.5\n"
+"\n"
+"var c = clamp(Vector2(-3.5, -4), Vector2(-3.2, -2), Vector2(2, 6.5))\n"
+"# c is (-3.2, -2)\n"
+"\n"
+"var d = clamp(Vector2i(7, 8), Vector2i(-3, -2), Vector2i(2, 6))\n"
+"# d is (2, 6)\n"
+"\n"
+"var e = clamp(Vector3(-7, 8.5, -3.8), Vector3(-3, -2, 5.4), Vector3(-2, 6, "
+"-4.1))\n"
+"# e is (-3, -2, 5.4)\n"
+"\n"
+"var f = clamp(Vector3i(-7, -8, -9), Vector3i(-1, 2, 3), Vector3i(-4, -5, "
+"-6))\n"
+"# f is (-4, -5, -6)\n"
+"[/codeblock]\n"
+"[b]Note:[/b] For better type safety, use [method clampf], [method clampi], "
+"[method Vector2.clamp], [method Vector2i.clamp], [method Vector3.clamp], "
+"[method Vector3i.clamp], [method Vector4.clamp], or [method Vector4i.clamp]."
+msgstr ""
+"钳制 [param value],返回不小于 [param min] 且不大于 [param max] 的 "
+"[Variant]。支持的类型:[int]、[float]、[Vector2]、[Vector2i]、[Vector3]、"
+"[Vector3i]、[Vector4]、[Vector4i]。\n"
+"[codeblock]\n"
+"var a = clamp(-10, -1, 5)\n"
+"# a 是 -1\n"
+"\n"
+"var b = clamp(8.1, 0.9, 5.5)\n"
+"# b 是 5.5\n"
+"\n"
+"var c = clamp(Vector2(-3.5, -4), Vector2(-3.2, -2), Vector2(2, 6.5))\n"
+"# c 是 (-3.2, -2)\n"
+"\n"
+"var d = clamp(Vector2i(7, 8), Vector2i(-3, -2), Vector2i(2, 6))\n"
+"# d 是 (2, 6)\n"
+"\n"
+"var e = clamp(Vector3(-7, 8.5, -3.8), Vector3(-3, -2, 5.4), Vector3(-2, 6, "
+"-4.1))\n"
+"# e 是 (-3, -2, 5.4)\n"
+"\n"
+"var f = clamp(Vector3i(-7, -8, -9), Vector3i(-1, 2, 3), Vector3i(-4, -5, "
+"-6))\n"
+"# f 是 (-4, -5, -6)\n"
+"[/codeblock]\n"
+"[b]注意:[/b]为了更好的类型安全,使用 [method clampf]、[method clampi]、"
+"[method Vector2.clamp]、[method Vector2i.clamp]、[method Vector3.clamp]、"
+"[method Vector3i.clamp ]、[method Vector4.clamp] 或 [method Vector4i.clamp]。"
+
+msgid ""
+"Clamps the [param value], returning a [float] not less than [param min] and "
+"not more than [param max].\n"
+"[codeblock]\n"
+"var speed = 42.1\n"
+"var a = clampf(speed, 1.0, 20.5) # a is 20.5\n"
+"\n"
+"speed = -10.0\n"
+"var b = clampf(speed, -1.0, 1.0) # b is -1.0\n"
+"[/codeblock]"
+msgstr ""
+"钳制 [param value],返回不小于 [param min] 且不大于 [param max] 的 "
+"[float]。\n"
+"[codeblock]\n"
+"var speed = 42.1\n"
+"var a = clampf(speed, 1.0, 20.5) # a 是 20.5\n"
+"\n"
+"speed = -10.0\n"
+"var b = clampf(speed, -1.0, 1.0) # b 是 -1.0\n"
+"[/codeblock]"
+
+msgid ""
+"Clamps the [param value], returning an [int] not less than [param min] and "
+"not more than [param max].\n"
+"[codeblock]\n"
+"var speed = 42\n"
+"var a = clampi(speed, 1, 20) # a is 20\n"
+"\n"
+"speed = -10\n"
+"var b = clampi(speed, -1, 1) # b is -1\n"
+"[/codeblock]"
+msgstr ""
+"钳制 [param value],返回不小于 [param min] 且不大于 [param max] 的 [int]。\n"
+"[codeblock]\n"
+"var speed = 42\n"
+"var a = clampi(speed, 1, 20) # a 是 20\n"
+"\n"
+"speed = -10\n"
+"var b = clampi(speed, -1, 1) # b 是 -1\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the cosine of angle [param angle_rad] in radians.\n"
+"[codeblock]\n"
+"cos(PI * 2) # Returns 1.0\n"
+"cos(PI) # Returns -1.0\n"
+"cos(deg_to_rad(90)) # Returns 0.0\n"
+"[/codeblock]"
+msgstr ""
+"返回弧度角为 [param angle_rad] 的余弦值。\n"
+"[codeblock]\n"
+"cos(PI * 2) # 返回 1.0\n"
+"cos(PI) # 返回 -1.0\n"
+"cos(deg_to_rad(90)) # 返回 0.0\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the hyperbolic cosine of [param x] in radians.\n"
+"[codeblock]\n"
+"print(cosh(1)) # Prints 1.543081\n"
+"[/codeblock]"
+msgstr ""
+"返回弧度角 [param x] 的双曲余弦值。\n"
+"[codeblock]\n"
+"print(cosh(1)) # 打印 1.543081\n"
+"[/codeblock]"
+
+msgid ""
+"Cubic interpolates between two values by the factor defined in [param "
+"weight] with [param pre] and [param post] values."
+msgstr ""
+"根据 [param weight] 中定义的因子以及 [param pre] 和 [param post] 值,在两个值"
+"之间进行三次插值。"
+
+msgid ""
+"Cubic interpolates between two rotation values with shortest path by the "
+"factor defined in [param weight] with [param pre] and [param post] values. "
+"See also [method lerp_angle]."
+msgstr ""
+"根据 [param weight] 中定义的因子以及 [param pre] 和 [param post] 值,在具有最"
+"短路径的两个旋转值之间三次插值 。另见 [method lerp_angle]。"
+
+msgid ""
+"Cubic interpolates between two rotation values with shortest path by the "
+"factor defined in [param weight] with [param pre] and [param post] values. "
+"See also [method lerp_angle].\n"
+"It can perform smoother interpolation than [code]cubic_interpolate()[/code] "
+"by the time values."
+msgstr ""
+"根据 [param weight] 中定义的因子以及 [param pre] 和 [param post] 值,在具有最"
+"短路径的两个旋转值之间进行三次插值。另见 [method lerp_angle]。\n"
+"它可以根据时间值执行比 [code]cubic_interpolate()[/code] 更平滑的插值。"
+
+msgid ""
+"Cubic interpolates between two values by the factor defined in [param "
+"weight] with [param pre] and [param post] values.\n"
+"It can perform smoother interpolation than [method cubic_interpolate] by the "
+"time values."
+msgstr ""
+"根据 [param weight] 中定义的因子以及 [param pre] 和 [param post] 值,在两个值"
+"之间进行三次插值。\n"
+"它可以根据时间值执行比 [method cubic_interpolate] 更平滑的插值。"
+
msgid "Converts from decibels to linear energy (audio)."
msgstr "从分贝转换为线性能量(音频)。"
msgid ""
+"Converts an angle expressed in degrees to radians.\n"
+"[codeblock]\n"
+"var r = deg_to_rad(180) # r is 3.141593\n"
+"[/codeblock]"
+msgstr ""
+"将角度值转换为弧度值。\n"
+"[codeblock]\n"
+"var r = deg_to_rad(180) # r 是 3.141593\n"
+"[/codeblock]"
+
+msgid ""
+"Returns an \"eased\" value of [param x] based on an easing function defined "
+"with [param curve]. This easing function is based on an exponent. The [param "
+"curve] can be any floating-point number, with specific values leading to the "
+"following behaviors:\n"
+"[codeblock]\n"
+"- Lower than -1.0 (exclusive): Ease in-out\n"
+"- 1.0: Linear\n"
+"- Between -1.0 and 0.0 (exclusive): Ease out-in\n"
+"- 0.0: Constant\n"
+"- Between 0.0 to 1.0 (exclusive): Ease out\n"
+"- 1.0: Linear\n"
+"- Greater than 1.0 (exclusive): Ease in\n"
+"[/codeblock]\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"ease_cheatsheet.png]ease() curve values cheatsheet[/url]\n"
+"See also [method smoothstep]. If you need to perform more advanced "
+"transitions, use [method Tween.interpolate_value]."
+msgstr ""
+"基于用 [param curve] 定义的缓动函数返回 [param x] 的“缓动后”的值。该缓动函数"
+"是基于指数的。[param curve] 可以是任意浮点数,具体数值会导致以下行为:\n"
+"[codeblock]\n"
+"- 低于 -1.0(开区间):缓入缓出\n"
+"- -1.0:线性\n"
+"- 在 -1.0 和 0.0 之间(开区间):缓出缓入\n"
+"- 0.0:恒定\n"
+"- 在 0.0 到 1.0 之间(开区间):缓出\n"
+"- 1.0:线性\n"
+"- 大于 1.0(开区间):缓入\n"
+"[/codeblock]\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"ease_cheatsheet.png]ease() 曲线值速查表[/url]\n"
+"另请参阅 [method smoothstep]。如果你需要执行更高级的过渡,请使用 [method "
+"Tween.interpolate_value]。"
+
+msgid ""
+"Returns a human-readable name for the given [enum Error] code.\n"
+"[codeblock]\n"
+"print(OK) # Prints 0\n"
+"print(error_string(OK)) # Prints OK\n"
+"print(error_string(ERR_BUSY)) # Prints Busy\n"
+"print(error_string(ERR_OUT_OF_MEMORY)) # Prints Out of memory\n"
+"[/codeblock]"
+msgstr ""
+"为给定的 [enum Error] 代码返回一个人类可读的名称。\n"
+"[codeblock]\n"
+"print(OK) # 输出 0\n"
+"print(error_string(OK)) # 输出 OK\n"
+"print(error_string(ERR_BUSY)) # 输出 Busy\n"
+"print(error_string(ERR_OUT_OF_MEMORY)) # 输出 Out of memory\n"
+"[/codeblock]"
+
+msgid ""
+"The natural exponential function. It raises the mathematical constant [b]e[/"
+"b] to the power of [param x] and returns it.\n"
+"[b]e[/b] has an approximate value of 2.71828, and can be obtained with "
+"[code]exp(1)[/code].\n"
+"For exponents to other bases use the method [method pow].\n"
+"[codeblock]\n"
+"var a = exp(2) # Approximately 7.39\n"
+"[/codeblock]"
+msgstr ""
+"自然指数函数。计算数学常数 [b]e[/b] 的 [param x] 次方并返回它。\n"
+"[b]e[/b] 的近似值为 2.71828,可以使用 [code]exp(1)[/code] 获得。\n"
+"求其他底数的指数应使用 [method pow] 方法。\n"
+"[codeblock]\n"
+"var a = exp(2) # 大约是 7.39\n"
+"[/codeblock]"
+
+msgid ""
+"Rounds [param x] downward (towards negative infinity), returning the largest "
+"whole number that is not more than [param x]. Supported types: [int], "
+"[float], [Vector2], [Vector3], [Vector4].\n"
+"[codeblock]\n"
+"var a = floor(2.99) # a is 2.0\n"
+"a = floor(-2.99) # a is -3.0\n"
+"[/codeblock]\n"
+"See also [method ceil], [method round], and [method snapped].\n"
+"[b]Note:[/b] For better type safety, use [method floorf], [method floori], "
+"[method Vector2.floor], [method Vector3.floor], or [method Vector4.floor]."
+msgstr ""
+"向下舍入 [param x](朝负无穷大),返回不大于 [param x] 的最大整数。支持的类"
+"型:[int]、[float]、[Vector2]、[Vector3]、[Vector4]。\n"
+"[codeblock]\n"
+"var a = floor(2.99) # a 是 2.0\n"
+"a = floor(-2.99) # a 是 -3.0\n"
+"[/codeblock]\n"
+"另请参阅 [method ceil]、[method round]、以及 [method snapped]。\n"
+"[b]注意:[/b]为了更好的类型安全,请使用 [method floorf]、[method floori]、"
+"[method Vector2.floor]、[method Vector3.floor] 或 [method Vector4.floor]。"
+
+msgid ""
"Rounds [param x] downward (towards negative infinity), returning the largest "
"whole number that is not more than [param x].\n"
"A type-safe version of [method floor], returning a [float]."
@@ -1196,6 +1493,201 @@ msgstr ""
"一个类型安全的 [method floor] 版本,返回一个 [float]。"
msgid ""
+"Rounds [param x] downward (towards negative infinity), returning the largest "
+"whole number that is not more than [param x].\n"
+"A type-safe version of [method floor], returning an [int].\n"
+"[b]Note:[/b] This function is [i]not[/i] the same as [code]int(x)[/code], "
+"which rounds towards 0."
+msgstr ""
+"将 [param x] 向下舍入(向负无穷大),返回不超过 [param x] 的最大整数。\n"
+"是 [method floor] 的类型安全版本,返回一个 [int]。\n"
+"[b] 注意:[/b]这个函数与 [code]int(x)[/code] [i]不[/i] 一样,后者是向 0 取"
+"整。"
+
+msgid ""
+"Returns the floating-point remainder of [param x] divided by [param y], "
+"keeping the sign of [param x].\n"
+"[codeblock]\n"
+"var remainder = fmod(7, 5.5) # remainder is 1.5\n"
+"[/codeblock]\n"
+"For the integer remainder operation, use the [code]%[/code] operator."
+msgstr ""
+"返回 [param x] 除以 [param y] 的浮点型余数,符号与 [param x]一致。\n"
+"[codeblock]\n"
+"var remainder = fmod(7, 5.5) # remainder 是 1.5\n"
+"[/codeblock]\n"
+"对于整数取余运算,请使用 [code]%[/code] 运算符。"
+
+msgid ""
+"Returns the floating-point modulus of [param x] divided by [param y], "
+"wrapping equally in positive and negative.\n"
+"[codeblock]\n"
+"print(\" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\")\n"
+"for i in 7:\n"
+" var x = i * 0.5 - 1.5\n"
+" print(\"%4.1f %4.1f | %4.1f\" % [x, fmod(x, 1.5), fposmod(x, "
+"1.5)])\n"
+"[/codeblock]\n"
+"Produces:\n"
+"[codeblock]\n"
+" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\n"
+"-1.5 -0.0 | 0.0\n"
+"-1.0 -1.0 | 0.5\n"
+"-0.5 -0.5 | 1.0\n"
+" 0.0 0.0 | 0.0\n"
+" 0.5 0.5 | 0.5\n"
+" 1.0 1.0 | 1.0\n"
+" 1.5 0.0 | 0.0\n"
+"[/codeblock]"
+msgstr ""
+"返回 [param x] 除以 [param y] 的浮点模数,正负轴均等包裹。\n"
+"[codeblock]\n"
+"print(\" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\")\n"
+"for i in 7:\n"
+" var x = i * 0.5 - 1.5\n"
+" print(\"%4.1f %4.1f | %4.1f\" % [x, fmod(x, 1.5), fposmod(x, "
+"1.5)])\n"
+"[/codeblock]\n"
+"输出:\n"
+"[codeblock]\n"
+" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\n"
+"-1.5 -0.0 | 0.0\n"
+"-1.0 -1.0 | 0.5\n"
+"-0.5 -0.5 | 1.0\n"
+" 0.0 0.0 | 0.0\n"
+" 0.5 0.5 | 0.5\n"
+" 1.0 1.0 | 1.0\n"
+" 1.5 0.0 | 0.0\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the integer hash of the passed [param variable].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print(hash(\"a\")) # Prints 177670\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Print(GD.Hash(\"a\")); // Prints 177670\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回传入的 [param variable] 的整数哈希值。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print(hash(\"a\")) # 输出 177670\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Print(GD.Hash(\"a\")); // 输出 177670\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the [Object] that corresponds to [param instance_id]. All Objects "
+"have a unique instance ID. See also [method Object.get_instance_id].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var foo = \"bar\"\n"
+"\n"
+"func _ready():\n"
+" var id = get_instance_id()\n"
+" var inst = instance_from_id(id)\n"
+" print(inst.foo) # Prints bar\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public partial class MyNode : Node\n"
+"{\n"
+" public string Foo { get; set; } = \"bar\";\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" ulong id = GetInstanceId();\n"
+" var inst = (MyNode)InstanceFromId(Id);\n"
+" GD.Print(inst.Foo); // Prints bar\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回 [param instance_id] 所对应的 [Object]。所有对象都有唯一的实例 ID。参见 "
+"[method Object.get_instance_id]。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var foo = \"bar\"\n"
+"\n"
+"func _ready():\n"
+" var id = get_instance_id()\n"
+" var inst = instance_from_id(id)\n"
+" print(inst.foo) # 输出 bar\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public partial class MyNode : Node\n"
+"{\n"
+" public string Foo { get; set; } = \"bar\";\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" ulong id = GetInstanceId();\n"
+" var inst = (MyNode)InstanceFromId(Id);\n"
+" GD.Print(inst.Foo); // 输出 bar\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns an interpolation or extrapolation factor considering the range "
+"specified in [param from] and [param to], and the interpolated value "
+"specified in [param weight]. The returned value will be between [code]0.0[/"
+"code] and [code]1.0[/code] if [param weight] is between [param from] and "
+"[param to] (inclusive). If [param weight] is located outside this range, "
+"then an extrapolation factor will be returned (return value lower than "
+"[code]0.0[/code] or greater than [code]1.0[/code]). Use [method clamp] on "
+"the result of [method inverse_lerp] if this is not desired.\n"
+"[codeblock]\n"
+"# The interpolation ratio in the `lerp()` call below is 0.75.\n"
+"var middle = lerp(20, 30, 0.75)\n"
+"# middle is now 27.5.\n"
+"\n"
+"# Now, we pretend to have forgotten the original ratio and want to get it "
+"back.\n"
+"var ratio = inverse_lerp(20, 30, 27.5)\n"
+"# ratio is now 0.75.\n"
+"[/codeblock]\n"
+"See also [method lerp], which performs the reverse of this operation, and "
+"[method remap] to map a continuous series of values to another."
+msgstr ""
+"返回插值或外推的因子。范围用 [param from] 和 [param to]指定,插值后的值由 "
+"[param weight] 指定。如果 [param weight] 在 [param from] 和 [param to] 之间"
+"(包含),那么返回的值在 [code]0.0[/code] 和 [code]1.0[/code] 之间。如果 "
+"[param weight] 在该范围之外,则返回的是外推因子(返回值小于 [code]0.0[/code] "
+"或大于 [code]1.0[/code])。如果不希望这样,请对 [method inverse_lerp] 的结果"
+"使用 [method clamp]。\n"
+"[codeblock]\n"
+"# 下面的 `lerp()` 调用时的插值比例是 0.75。\n"
+"var middle = lerp(20, 30, 0.75)\n"
+"# middle 现在是 27.5。\n"
+"\n"
+"# 现在,我们假装忘记了原来的比例,想要找到是多少。\n"
+"var ratio = inverse_lerp(20, 30, 27.5)\n"
+"# ratio 现在是 0.75。\n"
+"[/codeblock]\n"
+"另见 [method lerp],它执行本操作的逆操作;以及 [method remap],将一系列连续的"
+"值映射到另一个值。"
+
+msgid ""
+"Returns [code]true[/code] if [param a] and [param b] are approximately equal "
+"to each other.\n"
+"Here, \"approximately equal\" means that [param a] and [param b] are within "
+"a small internal epsilon of each other, which scales with the magnitude of "
+"the numbers.\n"
+"Infinity values of the same sign are considered equal."
+msgstr ""
+"如果 [param a] 和 [param b] 彼此近似相等,则返回 [code]true[/code]。\n"
+"这里,“近似相等”意味着 [param a] 和 [param b] 在彼此的一个小的内部 epsilon "
+"内,该 epsilon 与数字的大小成比例。\n"
+"相同符号的无穷大值被认为是相等的。"
+
+msgid ""
"Returns whether [param x] is a finite value, i.e. it is not [constant "
"@GDScript.NAN], positive infinity, or negative infinity."
msgstr ""
@@ -1227,6 +1719,1413 @@ msgid ""
"invalid) value."
msgstr "如果 [param x] 是 NaN(“非数字”或无效)值,则返回 [code]true[/code] 。"
+msgid ""
+"Returns [code]true[/code], for value types, if [param a] and [param b] share "
+"the same value. Returns [code]true[/code], for reference types, if the "
+"references of [param a] and [param b] are the same.\n"
+"[codeblock]\n"
+"# Vector2 is a value type\n"
+"var vec2_a = Vector2(0, 0)\n"
+"var vec2_b = Vector2(0, 0)\n"
+"var vec2_c = Vector2(1, 1)\n"
+"is_same(vec2_a, vec2_a) # true\n"
+"is_same(vec2_a, vec2_b) # true\n"
+"is_same(vec2_a, vec2_c) # false\n"
+"\n"
+"# Array is a reference type\n"
+"var arr_a = []\n"
+"var arr_b = []\n"
+"is_same(arr_a, arr_a) # true\n"
+"is_same(arr_a, arr_b) # false\n"
+"[/codeblock]\n"
+"These are [Variant] value types: [code]null[/code], [bool], [int], [float], "
+"[String], [StringName], [Vector2], [Vector2i], [Vector3], [Vector3i], "
+"[Vector4], [Vector4i], [Rect2], [Rect2i], [Transform2D], [Transform3D], "
+"[Plane], [Quaternion], [AABB], [Basis], [Projection], [Color], [NodePath], "
+"[RID], [Callable] and [Signal].\n"
+"These are [Variant] reference types: [Object], [Dictionary], [Array], "
+"[PackedByteArray], [PackedInt32Array], [PackedInt64Array], "
+"[PackedFloat32Array], [PackedFloat64Array], [PackedStringArray], "
+"[PackedVector2Array], [PackedVector3Array] and [PackedColorArray]."
+msgstr ""
+"当 [param a] 和 [param b] 为值类型时,如果他们相同,那么返回 [code]true[/"
+"code]。当 [param a] 和 [param b] 为引用类型时,如果它们的引用对象相同,那么返"
+"回 [code]true[/code]。\n"
+"[codeblock]\n"
+"# Vector2 is a value type\n"
+"var vec2_a = Vector2(0, 0)\n"
+"var vec2_b = Vector2(0, 0)\n"
+"var vec2_c = Vector2(1, 1)\n"
+"is_same(vec2_a, vec2_a) # true\n"
+"is_same(vec2_a, vec2_b) # true\n"
+"is_same(vec2_a, vec2_c) # false\n"
+"\n"
+"# Array is a reference type\n"
+"var arr_a = []\n"
+"var arr_b = []\n"
+"is_same(arr_a, arr_a) # true\n"
+"is_same(arr_a, arr_b) # false\n"
+"[/codeblock]\n"
+"[Varient] 值类型有:[code]null[/code],[bool],[int],[float],[String],"
+"[StringName],[Vector2],[Vector2i],[Vector3],[Vector3i],[Vector4],"
+"[Vector4i],[Rect2],[Rect2i],[Transform2D],[Transform3D],[Plane],"
+"[Quaternion],[AABB],[Basis],[Projection],[Color],[NodePath],[RID],"
+"[Callable] 和 [Signal]。\n"
+"[Varient] 引用类型有:[Object],[Dictionary],[Array],[PackedByteArray],"
+"[PackedInt32Array],[PackedInt64Array],[PackedFloat32Array],"
+"[PackedFloat64Array],[PackedStringArray],[PackedVector2Array],"
+"[PackedVector3Array] 和 [PackedColorArray]。"
+
+msgid ""
+"Returns [code]true[/code] if [param x] is zero or almost zero. The "
+"comparison is done using a tolerance calculation with a small internal "
+"epsilon.\n"
+"This function is faster than using [method is_equal_approx] with one value "
+"as zero."
+msgstr ""
+"如果 [param x] 为零或几乎为零,则返回 [code]true[/code]。比较是使用具有小内"
+"部 epsilon 的公差计算的。\n"
+"该函数比使用一个值为零的 [method is_equal_approx] 更快。"
+
+msgid ""
+"Linearly interpolates between two values by the factor defined in [param "
+"weight]. To perform interpolation, [param weight] should be between "
+"[code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside "
+"this range are allowed and can be used to perform [i]extrapolation[/i]. If "
+"this is not desired, use [method clamp] on the result of this function.\n"
+"Both [param from] and [param to] must be the same type. Supported types: "
+"[int], [float], [Vector2], [Vector3], [Vector4], [Color], [Quaternion], "
+"[Basis].\n"
+"[codeblock]\n"
+"lerp(0, 4, 0.75) # Returns 3.0\n"
+"[/codeblock]\n"
+"See also [method inverse_lerp] which performs the reverse of this operation. "
+"To perform eased interpolation with [method lerp], combine it with [method "
+"ease] or [method smoothstep]. See also [method remap] to map a continuous "
+"series of values to another.\n"
+"[b]Note:[/b] For better type safety, use [method lerpf], [method Vector2."
+"lerp], [method Vector3.lerp], [method Vector4.lerp], [method Color.lerp], "
+"[method Quaternion.slerp] or [method Basis.slerp]."
+msgstr ""
+"通过 [param weight] 中定义的因子在两个值之间进行线性插值。要执行插值,[param "
+"weight] 应介于 [code]0.0[/code] 和 [code]1.0[/code] 之间(包含)。但是,超出"
+"此范围的值也是允许的,并可用于执行[i]外推 [/i]。如果不需要,请在该函数的结果"
+"上使用 [method clamp]。\n"
+"[param from] 和 [param to] 必须是同一类型。支持的类型:[int]、[float]、"
+"[Vector2]、[Vector3]、[Vector4]、[Color]、[Quaternion]、[Basis]。\n"
+"[codeblock]\n"
+"lerp(0, 4, 0.75) # 返回 3.0\n"
+"[/codeblock]\n"
+"另请参阅执行本操作的逆操作的 [method inverse_lerp]。要使用 [method lerp] 执行"
+"缓动插值,请将其与 [method ease] 或 [method smoothstep] 结合使用。另见 "
+"[method remap],可将一系列连续的值映射到另一个值。\n"
+"[b]注意:[/b]为了更好的类型安全,使用 [method lerpf]、[method Vector2.lerp]、"
+"[method Vector3.lerp]、[method Vector4.lerp]、[method Color.lerp]、[method "
+"Quaternion.slerp] 或 [method Basis.slerp]。"
+
+msgid ""
+"Linearly interpolates between two angles (in radians) by a [param weight] "
+"value between 0.0 and 1.0.\n"
+"Similar to [method lerp], but interpolates correctly when the angles wrap "
+"around [constant @GDScript.TAU]. To perform eased interpolation with [method "
+"lerp_angle], combine it with [method ease] or [method smoothstep].\n"
+"[codeblock]\n"
+"extends Sprite\n"
+"var elapsed = 0.0\n"
+"func _process(delta):\n"
+" var min_angle = deg_to_rad(0.0)\n"
+" var max_angle = deg_to_rad(90.0)\n"
+" rotation = lerp_angle(min_angle, max_angle, elapsed)\n"
+" elapsed += delta\n"
+"[/codeblock]\n"
+"[b]Note:[/b] This function lerps through the shortest path between [param "
+"from] and [param to]. However, when these two angles are approximately "
+"[code]PI + k * TAU[/code] apart for any integer [code]k[/code], it's not "
+"obvious which way they lerp due to floating-point precision errors. For "
+"example, [code]lerp_angle(0, PI, weight)[/code] lerps counter-clockwise, "
+"while [code]lerp_angle(0, PI + 5 * TAU, weight)[/code] lerps clockwise."
+msgstr ""
+"通过 0.0 和 1.0 之间的 [param weight] 值,在两个角度(以弧度为单位)之间进行"
+"线性插值。\n"
+"类似于 [method lerp],但当角度环绕 [constant @GDScript.TAU] 时会正确插值。要"
+"使用 [method lerp_angle] 执行缓动插值,请将其与 [method ease] 或 [method "
+"smoothstep] 结合使用。\n"
+"[codeblock]\n"
+"extends Sprite\n"
+"var elapsed = 0.0\n"
+"func _process(delta):\n"
+" var min_angle = deg_to_rad(0.0)\n"
+" var max_angle = deg_to_rad(90.0)\n"
+" rotation = lerp_angle(min_angle, max_angle, elapsed)\n"
+" elapsed += delta\n"
+"[/codeblock]\n"
+"[b]注意:[/b]该函数通过 [param from] 和 [param to] 之间的最短路径进行插值。然"
+"而,当这两个角度相距大致 [code]PI + k * TAU[/code] 其中 [code]k[/code] 为任意"
+"整数时,由于浮点数精度误差的缘故,要对插值的方向进行判断是很难的。例如,"
+"[code]lerp_angle(0, PI, weight)[/code] 会逆时针插值,而 [code]lerp_angle(0, "
+"PI + 5 * TAU, weight)[/code] 则会顺时针插值。"
+
+msgid ""
+"Linearly interpolates between two values by the factor defined in [param "
+"weight]. To perform interpolation, [param weight] should be between "
+"[code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside "
+"this range are allowed and can be used to perform [i]extrapolation[/i]. If "
+"this is not desired, use [method clampf] on the result of this function.\n"
+"[codeblock]\n"
+"lerp(0, 4, 0.75) # Returns 3.0\n"
+"[/codeblock]\n"
+"See also [method inverse_lerp] which performs the reverse of this operation. "
+"To perform eased interpolation with [method lerp], combine it with [method "
+"ease] or [method smoothstep]."
+msgstr ""
+"通过 [param weight] 中定义的因子在两个值之间进行线性插值。要执行插值,[param "
+"weight] 应介于 [code]0.0[/code] 和 [code]1.0[/code] 之间(包含)。但是,超出"
+"此范围的值是允许的,并可用于执行 [i]外推 [/i]。如果不需要,请对此函数的结果使"
+"用 [method clampf]。\n"
+"[codeblock]\n"
+"lerp(0, 4, 0.75) # 返回 3.0\n"
+"[/codeblock]\n"
+"另请参阅执行本操作的逆运算的 [method inverse_lerp]。要使用 [method lerp] 执行"
+"缓动插值,请将其与 [method ease] 或 [method smoothstep] 结合使用。"
+
+msgid ""
+"Converts from linear energy to decibels (audio). This can be used to "
+"implement volume sliders that behave as expected (since volume isn't "
+"linear).\n"
+"[b]Example:[/b]\n"
+"[codeblock]\n"
+"# \"Slider\" refers to a node that inherits Range such as HSlider or "
+"VSlider.\n"
+"# Its range must be configured to go from 0 to 1.\n"
+"# Change the bus name if you'd like to change the volume of a specific bus "
+"only.\n"
+"AudioServer.set_bus_volume_db(AudioServer.get_bus_index(\"Master\"), "
+"linear_to_db($Slider.value))\n"
+"[/codeblock]"
+msgstr ""
+"从线性能量转换为分贝(音频)。这可用于实现按预期运行的音量滑块(因为音量不是"
+"线性的)。\n"
+"[b]示例:[/b]\n"
+"[codeblock]\n"
+"# “Slider”引用的是 HSlider、VSlider 等继承自 Range 的节点。\n"
+"# 必须将其范围配置为 0 到 1。\n"
+"# 如果只想修改特定总线的音量,请修改总线名称。\n"
+"AudioServer.set_bus_volume_db(AudioServer.get_bus_index(\"Master\"), "
+"linear_to_db($Slider.value))\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the natural logarithm of [param x]. This is the amount of time "
+"needed to reach a certain level of continuous growth.\n"
+"[b]Note:[/b] This is not the same as the \"log\" function on most "
+"calculators, which uses a base 10 logarithm.\n"
+"[codeblock]\n"
+"log(10) # Returns 2.302585\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The logarithm of [code]0[/code] returns [code]-inf[/code], "
+"while negative values return [code]-nan[/code]."
+msgstr ""
+"返回 [param x] 的自然对数。这是持续增长到一定程度所需的时间。\n"
+"[b]注意:[/b]这个函数与大多数计算器上的对数“log”函数不同,他们适用的底数是 "
+"10。\n"
+"[codeblock]\n"
+"log(10) # 返回 2.302585\n"
+"[/codeblock]\n"
+"[b]注意:[/b][code]0[/code] 的对数返回 [code]-inf[/code],负值返回 [code]-"
+"nan[/code]。"
+
+msgid ""
+"Returns the maximum of the given values. This function can take any number "
+"of arguments.\n"
+"[codeblock]\n"
+"max(1, 7, 3, -6, 5) # Returns 7\n"
+"[/codeblock]"
+msgstr ""
+"返回给定值的最大值。这个函数可以接受任意数量的参数。\n"
+"[codeblock]\n"
+"max(1, 7, 3, -6, 5) # 返回 7\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the maximum of two [float] values.\n"
+"[codeblock]\n"
+"maxf(3.6, 24) # Returns 24.0\n"
+"maxf(-3.99, -4) # Returns -3.99\n"
+"[/codeblock]"
+msgstr ""
+"返回两个 [float] 值中的最大值。\n"
+"[codeblock]\n"
+"maxf(3.6, 24) # 返回 24.0\n"
+"maxf(-3.99, -4) # 返回 -3.99\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the maximum of two [int] values.\n"
+"[codeblock]\n"
+"maxi(1, 2) # Returns 2\n"
+"maxi(-3, -4) # Returns -3\n"
+"[/codeblock]"
+msgstr ""
+"返回两个 [int] 值中的最大值。\n"
+"[codeblock]\n"
+"maxi(1, 2) # 返回 2\n"
+"maxi(-3, -4) # 返回 -3\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the minimum of the given values. This function can take any number "
+"of arguments.\n"
+"[codeblock]\n"
+"min(1, 7, 3, -6, 5) # Returns -6\n"
+"[/codeblock]"
+msgstr ""
+"返回给定值的最小值。这个函数可以接受任意数量的参数。\n"
+"[codeblock]\n"
+"min(1, 7, 3, -6, 5) # 返回 -6\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the minimum of two [float] values.\n"
+"[codeblock]\n"
+"minf(3.6, 24) # Returns 3.6\n"
+"minf(-3.99, -4) # Returns -4.0\n"
+"[/codeblock]"
+msgstr ""
+"返回两个 [float] 值中的最小值。\n"
+"[codeblock]\n"
+"minf(3.6, 24) # 返回 3.6\n"
+"minf(-3.99, -4) # 返回 -4.0\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the minimum of two [int] values.\n"
+"[codeblock]\n"
+"mini(1, 2) # Returns 1\n"
+"mini(-3, -4) # Returns -4\n"
+"[/codeblock]"
+msgstr ""
+"返回两个 [int] 值中的最小值。\n"
+"[codeblock]\n"
+"mini(1, 2) # 返回 1\n"
+"mini(-3, -4) # 返回 -4\n"
+"[/codeblock]"
+
+msgid ""
+"Moves [param from] toward [param to] by the [param delta] value.\n"
+"Use a negative [param delta] value to move away.\n"
+"[codeblock]\n"
+"move_toward(5, 10, 4) # Returns 9\n"
+"move_toward(10, 5, 4) # Returns 6\n"
+"move_toward(10, 5, -1.5) # Returns 11.5\n"
+"[/codeblock]"
+msgstr ""
+"将 [param from] 向 [param to] 移动,移动的长度是 [param delta]。\n"
+"使用负的 [param delta] 值则向远离的方向移动。\n"
+"[codeblock]\n"
+"move_toward(5, 10, 4) # 返回 9\n"
+"move_toward(10, 5, 4) # 返回 6\n"
+"move_toward(10, 5, -1.5) # 返回 11.5\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the nearest equal or larger power of 2 for the integer [param "
+"value].\n"
+"In other words, returns the smallest value [code]a[/code] where [code]a = "
+"pow(2, n)[/code] such that [code]value <= a[/code] for some non-negative "
+"integer [code]n[/code].\n"
+"[codeblock]\n"
+"nearest_po2(3) # Returns 4\n"
+"nearest_po2(4) # Returns 4\n"
+"nearest_po2(5) # Returns 8\n"
+"\n"
+"nearest_po2(0) # Returns 0 (this may not be expected)\n"
+"nearest_po2(-1) # Returns 0 (this may not be expected)\n"
+"[/codeblock]\n"
+"[b]Warning:[/b] Due to the way it is implemented, this function returns "
+"[code]0[/code] rather than [code]1[/code] for negative values of [param "
+"value] (in reality, 1 is the smallest integer power of 2)."
+msgstr ""
+"返回最接近且不小于整数 [param value] 的 2 的幂。\n"
+"换句话说,返回最小值 [code]a[/code],其中 [code]a = pow(2, n)[/code],某些非"
+"负整数 [code]n[/code] 使得值 [code]value <= a[/code]。\n"
+"[codeblock]\n"
+"nearest_po2(3) # 返回 4\n"
+"nearest_po2(4) # 返回 4\n"
+"nearest_po2(5) # 返回 8\n"
+"\n"
+"nearest_po2(0) # 返回 0(可能出乎意料)\n"
+"nearest_po2(-1) # 返回 0(可能出乎意料)\n"
+"[/codeblock]\n"
+"[b]警告:[/b]由于其实现方式,此函数会对非正数的 [param value] 返回 [code]0[/"
+"code] 而不是 [code]1[/code] (实际上 1 是 2 的最小整数幂)。"
+
+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 "
+"[code]0[/code] side or increased to the [param length] side (like a triangle "
+"wave). If [param length] is less than zero, it becomes positive.\n"
+"[codeblock]\n"
+"pingpong(-3.0, 3.0) # Returns 3.0\n"
+"pingpong(-2.0, 3.0) # Returns 2.0\n"
+"pingpong(-1.0, 3.0) # Returns 1.0\n"
+"pingpong(0.0, 3.0) # Returns 0.0\n"
+"pingpong(1.0, 3.0) # Returns 1.0\n"
+"pingpong(2.0, 3.0) # Returns 2.0\n"
+"pingpong(3.0, 3.0) # Returns 3.0\n"
+"pingpong(4.0, 3.0) # Returns 2.0\n"
+"pingpong(5.0, 3.0) # Returns 1.0\n"
+"pingpong(6.0, 3.0) # Returns 0.0\n"
+"[/codeblock]"
+msgstr ""
+"将 [param value] 包裹在 [code]0[/code] 和 [param length] 之间。如果达到限制,"
+"函数返回的下一个值将减少到 [code]0[/code] 侧或增加到 [param length] 侧(像三"
+"角波)。如果 [param length] 小于零,则变为正数。\n"
+"[codeblock]\n"
+"pingpong(-3.0, 3.0) # 返回 3.0\n"
+"pingpong(-2.0, 3.0) # 返回 2.0\n"
+"pingpong(-1.0, 3.0) # 返回 1.0\n"
+"pingpong(0.0, 3.0) # 返回 0.0\n"
+"pingpong(1.0, 3.0) # 返回 1.0\n"
+"pingpong(2.0, 3.0) # 返回 2.0\n"
+"pingpong(3.0, 3.0) # 返回 3.0\n"
+"pingpong(4.0, 3.0) # 返回 2.0\n"
+"pingpong(5.0, 3.0) # 返回 1.0\n"
+"pingpong(6.0, 3.0) # 返回 0.0\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the integer modulus of [param x] divided by [param y] that wraps "
+"equally in positive and negative.\n"
+"[codeblock]\n"
+"print(\"#(i) (i % 3) (posmod(i, 3))\")\n"
+"for i in range(-3, 4):\n"
+" print(\"%2d %2d | %2d\" % [i, i % 3, posmod(i, 3)])\n"
+"[/codeblock]\n"
+"Produces:\n"
+"[codeblock]\n"
+"(i) (i % 3) (posmod(i, 3))\n"
+"-3 0 | 0\n"
+"-2 -2 | 1\n"
+"-1 -1 | 2\n"
+" 0 0 | 0\n"
+" 1 1 | 1\n"
+" 2 2 | 2\n"
+" 3 0 | 0\n"
+"[/codeblock]"
+msgstr ""
+"返回 [param x] 除以 [param y] 的整数模数,对正负数进行一致的循环。\n"
+"[codeblock]\n"
+"print(\"#(i) (i % 3) (posmod(i, 3))\")\n"
+"for i in range(-3, 4):\n"
+" print(\"%2d %2d | %2d\" % [i, i % 3, posmod(i, 3)])\n"
+"[/codeblock]\n"
+"结果:\n"
+"[codeblock]\n"
+"(i) (i % 3) (posmod(i, 3))\n"
+"-3 0 | 0\n"
+"-2 -2 | 1\n"
+"-1 -1 | 2\n"
+" 0 0 | 0\n"
+" 1 1 | 1\n"
+" 2 2 | 2\n"
+" 3 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"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var a = [1, 2, 3]\n"
+"print(\"a\", \"b\", a) # Prints ab[1, 2, 3]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var a = new Godot.Collections.Array { 1, 2, 3 };\n"
+"GD.Print(\"a\", \"b\", a); // Prints ab[1, 2, 3]\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."
+msgstr ""
+"以尽可能最佳的方式将一个或多个任意类型的参数转换为字符串,并将其打印到控制"
+"台。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var a = [1, 2, 3]\n"
+"print(\"a\", \"b\", a) # 输出 ab[1, 2, 3]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var a = new Godot.Collections.Array { 1, 2, 3 };\n"
+"GD.Print(\"a\", \"b\", a); // 输出 ab[1, 2, 3]\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]请考虑使用 [method push_error] 和 [method push_warning] 来打印错"
+"误和警告消息,而不是 [method print] 或 [method print_rich]。这将它们与用于调"
+"试目的的打印消息区分开来,同时还会在打印错误或警告时显示堆栈跟踪。"
+
+msgid ""
+"Converts one or more arguments of any type to string in the best way "
+"possible and prints them to the console. The following BBCode tags are "
+"supported: b, i, u, s, indent, code, url, center, right, color, bgcolor, "
+"fgcolor. Color tags only support named colors such as [code]red[/code], "
+"[i]not[/i] hexadecimal color codes. Unsupported tags will be left as-is in "
+"standard output.\n"
+"When printing to standard output, the supported subset of BBCode is "
+"converted to ANSI escape codes for the terminal emulator to display. "
+"Displaying ANSI escape codes is currently only supported on Linux and macOS. "
+"Support for ANSI escape codes may vary across terminal emulators, especially "
+"for italic and strikethrough.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print_rich(\"[code][b]Hello world![/b][/code]\") # Prints out: [b]Hello "
+"world![/b]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PrintRich(\"[code][b]Hello world![/b][/code]\"); // Prints out: [b]Hello "
+"world![/b]\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."
+msgstr ""
+"以尽可能最佳的方式将一个或多个任意类型的参数转换为字符串,并将其打印到控制"
+"台。支持以下 BBCode 标签:b、i、u、s、indent、code、url、center、right、"
+"color、bgcolor、fgcolor。颜色标签仅支持命名颜色,例如 [code]red[/code]、[i]不"
+"支持[/i] 十六进制颜色代码。不支持的标签将在标准输出中保持原样。\n"
+"当打印到标准输出时,支持的 BBCode 子集被转换为 ANSI 转义码以供终端仿真器显"
+"示。目前仅 Linux 和 macOS 支持显示 ANSI 转义码。对 ANSI 转义码的支持可能因终"
+"端仿真器而异,尤其是斜体和删除线。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print_rich(\"[code][b]Hello world![/b][/code]\") # 输出:[b]Hello world![/"
+"b]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PrintRich(\"[code][b]Hello world![/b][/code]\"); // 输出:[b]Hello world!"
+"[/b]\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]请考虑使用 [method push_error] 和 [method push_warning] 来打印错"
+"误和警告消息,而不是 [method print] 或 [method print_rich]。这将它们与用于调"
+"试目的的打印消息区分开来,同时还会在打印错误或警告时显示堆栈跟踪。"
+
+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 ""
+"如果启用了详细模式([method OS.is_stdout_verbose] 返回 [code]true[/code]),"
+"则尽可能以最佳方式将一个或多个任意类型的参数转换为字符串,并将它们打印到控制"
+"台。"
+
+msgid ""
+"Prints one or more arguments to strings in the best way possible to standard "
+"error line.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"printerr(\"prints to stderr\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PrintErr(\"prints to stderr\");\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"以尽可能最佳的方式将一个或多个参数作为字符串输出到标准错误行。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"printerr(\"prints to stderr\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PrintErr(\"prints to stderr\");\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Prints one or more arguments to strings in the best way possible to the OS "
+"terminal. Unlike [method print], no newline is automatically added at the "
+"end.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"printraw(\"A\")\n"
+"printraw(\"B\")\n"
+"printraw(\"C\")\n"
+"# Prints ABC to terminal\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PrintRaw(\"A\");\n"
+"GD.PrintRaw(\"B\");\n"
+"GD.PrintRaw(\"C\");\n"
+"// Prints ABC to terminal\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"以尽可能最佳的方式将一个或多个参数作为字符串输出到 OS 终端。与 [method "
+"print] 不同的是,最后不会自动添加换行符。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"printraw(\"A\")\n"
+"printraw(\"B\")\n"
+"printraw(\"C\")\n"
+"# 输出 ABC 到终端\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PrintRaw(\"A\");\n"
+"GD.PrintRaw(\"B\");\n"
+"GD.PrintRaw(\"C\");\n"
+"// 输出 ABC 到终端\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Prints one or more arguments to the console with a space between each "
+"argument.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"prints(\"A\", \"B\", \"C\") # Prints A B C\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PrintS(\"A\", \"B\", \"C\"); // Prints A B C\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"将一个或多个参数打印到控制台,每个参数之间有一个空格。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"prints(\"A\", \"B\", \"C\") # 输出 A B C\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PrintS(\"A\", \"B\", \"C\"); // 输出 A B C\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Prints one or more arguments to the console with a tab between each "
+"argument.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"printt(\"A\", \"B\", \"C\") # Prints A B C\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PrintT(\"A\", \"B\", \"C\"); // Prints A B C\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"将一个或多个参数打印到控制台,每个参数之间有一个制表符。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"printt(\"A\", \"B\", \"C\") # 输出 A B C\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PrintT(\"A\", \"B\", \"C\"); // 输出 A B C\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Pushes an error message to Godot's built-in debugger and to the OS "
+"terminal.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"push_error(\"test error\") # Prints \"test error\" to debugger and terminal "
+"as error call\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PushError(\"test error\"); // Prints \"test error\" to debugger and "
+"terminal as error call\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] This function does not pause project execution. To print an "
+"error message and pause project execution in debug builds, use "
+"[code]assert(false, \"test error\")[/code] instead."
+msgstr ""
+"将错误消息推送到 Godot 的内置调试器和 OS 终端。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"push_error(\"test error\") # 向调试器和终端打印 “test error” 作为错误调用\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PushError(\"test error\"); // 向调试器和终端打印 “test error” 作为错误调"
+"用\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]该函数不会暂停项目执行。要在调试版本中打印错误消息并暂停项目执"
+"行,请改用 [code]assert(false, \"test error\")[/code]。"
+
+msgid ""
+"Pushes a warning message to Godot's built-in debugger and to the OS "
+"terminal.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"push_warning(\"test warning\") # Prints \"test warning\" to debugger and "
+"terminal as warning call\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PushWarning(\"test warning\"); // Prints \"test warning\" to debugger and "
+"terminal as warning call\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"将警告消息推送到 Godot 的内置调试器和 OS 终端。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"push_warning(\"test warning\") # 以警告的形式向调试器和终端输出 “test "
+"warning”\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.PushWarning(\"test warning\"); // 以警告的形式向调试器和终端输出 “test "
+"warning”\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Converts an angle expressed in radians to degrees.\n"
+"[codeblock]\n"
+"rad_to_deg(0.523599) # Returns 30\n"
+"rad_to_deg(PI) # Returns 180\n"
+"rad_to_deg(PI * 2) # Returns 360\n"
+"[/codeblock]"
+msgstr ""
+"将以弧度表示的角度转换为度。\n"
+"[codeblock]\n"
+"rad_to_deg(0.523599) # 返回 30\n"
+"rad_to_deg(PI) # 返回 180\n"
+"rad_to_deg(PI * 2) # 返回 360\n"
+"[/codeblock]"
+
+msgid ""
+"Given a [param seed], returns a [PackedInt64Array] of size [code]2[/code], "
+"where its first element is the randomized [int] value, and the second "
+"element is the same as [param seed]. Passing the same [param seed] "
+"consistently returns the same array.\n"
+"[b]Note:[/b] \"Seed\" here refers to the internal state of the pseudo random "
+"number generator, currently implemented as a 64 bit integer.\n"
+"[codeblock]\n"
+"var a = rand_from_seed(4)\n"
+"\n"
+"print(a[0])\t# Prints 2879024997\n"
+"print(a[1])\t# Prints 4\n"
+"[/codeblock]"
+msgstr ""
+"给定一个 [param seed],返回一个大小为 [code]2[/code] 的 [PackedInt64Array],"
+"其中第一个元素是随机化的 [int] 值,第二个元素与 [param seed] 相同。传入相同"
+"的 [param seed] 会一致地返回相同的数组。\n"
+"[b]注意:[/b]这里的“种子”是指伪随机数发生器的内部状态,目前实现为一个 64 位整"
+"数。\n"
+"[codeblock]\n"
+"var a = rand_from_seed(4)\n"
+"\n"
+"print(a[0])\t# 输出 2879024997\n"
+"print(a[1])\t# 输出 4\n"
+"[/codeblock]"
+
+msgid ""
+"Returns a random floating point value between [code]0.0[/code] and "
+"[code]1.0[/code] (inclusive).\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"randf() # Returns e.g. 0.375671\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Randf(); // Returns e.g. 0.375671\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回 [code]0.0[/code] 和 [code]1.0[/code](包含)之间的随机浮点值。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"randf() # 返回示例 0.375671\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Randf(); // 返回示例 0.375671\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns a random floating point value between [param from] and [param to] "
+"(inclusive).\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"randf_range(0, 20.5) # Returns e.g. 7.45315\n"
+"randf_range(-10, 10) # Returns e.g. -3.844535\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.RandRange(0.0, 20.5); // Returns e.g. 7.45315\n"
+"GD.RandRange(-10.0, 10.0); // Returns e.g. -3.844535\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回 [param from] 和 [param to](包含)之间的随机浮点值。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"randf_range(0, 20.5) # 返回示例 7.45315\n"
+"randf_range(-10, 10) # 返回示例 -3.844535\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.RandRange(0.0, 20.5); // 返回示例 7.45315\n"
+"GD.RandRange(-10.0, 10.0); // 返回示例 -3.844535\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns a normally-distributed pseudo-random floating point value using Box-"
+"Muller transform with the specified [param mean] and a standard [param "
+"deviation]. This is also called Gaussian distribution."
+msgstr ""
+"返回一个正态分布的伪随机浮点值,该分布使用具有指定 [param mean] 和标准 "
+"[param deviation] 的 Box-Muller 变换。这也被称为高斯分布。"
+
+msgid ""
+"Returns a random unsigned 32-bit integer. Use remainder to obtain a random "
+"value in the interval [code][0, N - 1][/code] (where N is smaller than "
+"2^32).\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"randi() # Returns random integer between 0 and 2^32 - 1\n"
+"randi() % 20 # Returns random integer between 0 and 19\n"
+"randi() % 100 # Returns random integer between 0 and 99\n"
+"randi() % 100 + 1 # Returns random integer between 1 and 100\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Randi(); // Returns random integer between 0 and 2^32 - 1\n"
+"GD.Randi() % 20; // Returns random integer between 0 and 19\n"
+"GD.Randi() % 100; // Returns random integer between 0 and 99\n"
+"GD.Randi() % 100 + 1; // Returns random integer between 1 and 100\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回一个随机的无符号 32 位整数。使用余数获得区间 [code][0, N - 1][/code] (其"
+"中 N 小于 2^32)的随机值。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"randi() # 返回介于 0 到 2^32 - 1 之间的随机整数\n"
+"randi() % 20 # 返回介于 0 到 19之间的随机整数\n"
+"randi() % 100 # 返回介于 0 到 99 之间的随机整数\n"
+"randi() % 100 + 1 # 返回介于 1 到 100 之间的随机整数\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Randi(); // 返回介于 0 到 2^32 - 1 之间的随机整数\n"
+"GD.Randi() % 20; // 返回介于 0 到 19之间的随机整数\n"
+"GD.Randi() % 100; // 返回介于 0 到 99 之间的随机整数\n"
+"GD.Randi() % 100 + 1; // 返回介于 1 到 100 之间的随机整数\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns a random signed 32-bit integer between [param from] and [param to] "
+"(inclusive). If [param to] is lesser than [param from], they are swapped.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"randi_range(0, 1) # Returns either 0 or 1\n"
+"randi_range(-10, 1000) # Returns random integer between -10 and 1000\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.RandRange(0, 1); // Returns either 0 or 1\n"
+"GD.RandRange(-10, 1000); // Returns random integer between -10 and 1000\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回介于 [param from] 和 [param to](包含)之间的一个随机有符号 32 位整数。如"
+"果 [param to] 小于 [param from],则它们将被交换。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"randi_range(0, 1) # 返回 0 或 1\n"
+"randi_range(-10, 1000) # 返回介于 -10 和 1000 之间的随机整数\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.RandRange(0, 1); // 返回 0 或 1\n"
+"GD.RandRange(-10, 1000); // 返回介于 -10 和 1000 之间的随机整数\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Randomizes the seed (or the internal state) of the random number generator. "
+"The current implementation uses a number based on the device's time.\n"
+"[b]Note:[/b] This function is called automatically when the project is run. "
+"If you need to fix the seed to have consistent, reproducible results, use "
+"[method seed] to initialize the random number generator."
+msgstr ""
+"随机化随机数发生器的种子(或内部状态)。目前的实现使用一个基于设备时间的数"
+"字。\n"
+"[b]注意:[/b]该函数在项目运行时自动被调用。如果需要修复种子以获得一致、可重现"
+"的结果,请使用 [method seed] 来初始化随机数生成器。"
+
+msgid ""
+"Maps a [param value] from range [code][istart, istop][/code] to [code]"
+"[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If "
+"[param value] is outside [code][istart, istop][/code], then the resulting "
+"value will also be outside [code][ostart, ostop][/code]. If this is not "
+"desired, use [method clamp] on the result of this function.\n"
+"[codeblock]\n"
+"remap(75, 0, 100, -1, 1) # Returns 0.5\n"
+"[/codeblock]\n"
+"For complex use cases where multiple ranges are needed, consider using "
+"[Curve] or [Gradient] instead."
+msgstr ""
+"将 [param value] 从范围 [code][istart, istop][/code] 映射到 [code][ostart, "
+"ostop][/code]。另见 [method lerp] 和 [method inverse_lerp]。如果 [param "
+"value] 在 [code][istart, istop][/code] 之外,那么结果值也将在 [code][ostart, "
+"ostop][/code] 之外。如果不希望这样,请对该函数的结果使用 [method clamp]。\n"
+"[codeblock]\n"
+"remap(75, 0, 100, -1, 1) # 返回 0.5\n"
+"[/codeblock]\n"
+"对于需要多个范围的复杂用例,请考虑改用 [Curve] 或 [Gradient]。"
+
+msgid ""
+"Allocates a unique ID which can be used by the implementation to construct a "
+"RID. This is used mainly from native extensions to implement servers."
+msgstr ""
+"分配一个唯一的 ID,可被实现用来构造一个 RID。这主要被本地扩展使用以实现服务"
+"器。"
+
+msgid ""
+"Creates a RID from a [param base]. This is used mainly from native "
+"extensions to build servers."
+msgstr "从 [param base] 创建一个 RID。这主要被本地扩展使用以构建服务器。"
+
+msgid ""
+"Rounds [param x] to the nearest whole number, with halfway cases rounded "
+"away from 0. Supported types: [int], [float], [Vector2], [Vector3], "
+"[Vector4].\n"
+"[codeblock]\n"
+"round(2.4) # Returns 2\n"
+"round(2.5) # Returns 3\n"
+"round(2.6) # Returns 3\n"
+"[/codeblock]\n"
+"See also [method floor], [method ceil], and [method snapped].\n"
+"[b]Note:[/b] For better type safety, use [method roundf], [method roundi], "
+"[method Vector2.round], [method Vector3.round], or [method Vector4.round]."
+msgstr ""
+"将 [param x] 舍入到最接近的整数,中间情况远离 0 舍入。支持的类型:[int]、"
+"[float]、[Vector2]、[Vector3]、[Vector4]。\n"
+"[codeblock]\n"
+"round(2.4) # 返回 2\n"
+"round(2.5) # 返回 3\n"
+"round(2.6) # 返回 3\n"
+"[/codeblock]\n"
+"另请参见 [method floor]、[method ceil] 和 [method snapped]。\n"
+"[b]注意:[/b]为了更好的类型安全,使用 [method roundf]、[method roundi]、"
+"[method Vector2.round]、[method Vector3.round] 或 [method Vector4.round]。"
+
+msgid ""
+"Rounds [param x] to the nearest whole number, with halfway cases rounded "
+"away from 0.\n"
+"A type-safe version of [method round], returning a [float]."
+msgstr ""
+"将 [param x] 舍入到最接近的整数,中间情况远离 0 舍入。\n"
+"[method round] 的类型安全版本,返回一个 [float]。"
+
+msgid ""
+"Rounds [param x] to the nearest whole number, with halfway cases rounded "
+"away from 0.\n"
+"A type-safe version of [method round], returning an [int]."
+msgstr ""
+"将 [param x] 舍入到最接近的整数,中间情况远离 0 舍入。\n"
+"[method round] 的类型安全版本,返回一个 [int]。"
+
+msgid ""
+"Sets the seed for the random number generator to [param base]. Setting the "
+"seed manually can ensure consistent, repeatable results for most random "
+"functions.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var my_seed = \"Godot Rocks\".hash()\n"
+"seed(my_seed)\n"
+"var a = randf() + randi()\n"
+"seed(my_seed)\n"
+"var b = randf() + randi()\n"
+"# a and b are now identical\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"ulong mySeed = (ulong)GD.Hash(\"Godot Rocks\");\n"
+"GD.Seed(mySeed);\n"
+"var a = GD.Randf() + GD.Randi();\n"
+"GD.Seed(mySeed);\n"
+"var b = GD.Randf() + GD.Randi();\n"
+"// a and b are now identical\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"将随机数生成器的种子设置为 [param base]。手动设置种子可以确保大多数随机函数的"
+"结果一致、可重复。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var my_seed = \"Godot Rocks\".hash()\n"
+"seed(my_seed)\n"
+"var a = randf() + randi()\n"
+"seed(my_seed)\n"
+"var b = randf() + randi()\n"
+"# a 和 b 现在是一样的\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"ulong mySeed = (ulong)GD.Hash(\"Godot Rocks\");\n"
+"GD.Seed(mySeed);\n"
+"var a = GD.Randf() + GD.Randi();\n"
+"GD.Seed(mySeed);\n"
+"var b = GD.Randf() + GD.Randi();\n"
+"// a 和 b 现在是一样的\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the same type of [Variant] as [param x], with [code]-1[/code] for "
+"negative values, [code]1[/code] for positive values, and [code]0[/code] for "
+"zeros. Supported types: [int], [float], [Vector2], [Vector2i], [Vector3], "
+"[Vector3i], [Vector4], [Vector4i].\n"
+"[codeblock]\n"
+"sign(-6.0) # Returns -1\n"
+"sign(0.0) # Returns 0\n"
+"sign(6.0) # Returns 1\n"
+"\n"
+"sign(Vector3(-6.0, 0.0, 6.0)) # Returns (-1, 0, 1)\n"
+"[/codeblock]\n"
+"[b]Note:[/b] For better type safety, use [method signf], [method signi], "
+"[method Vector2.sign], [method Vector2i.sign], [method Vector3.sign], "
+"[method Vector3i.sign], [method Vector4.sign], or [method Vector4i.sign]."
+msgstr ""
+"返回与 [param x] 相同类型的 [Variant],[code]-1[/code] 为负值,[code]1[/"
+"code] 为正值,[code]0[/code] 为零值。支持的类型:[int]、[float]、[Vector2]、"
+"[Vector2i]、[Vector3]、[Vector3i]、[Vector4]、[Vector4i]。\n"
+"[codeblock]\n"
+"sign(-6.0) # 返回 -1\n"
+"sign(0.0) # 返回 0\n"
+"sign(6.0) # 返回 1\n"
+"\n"
+"sign(Vector3(-6.0, 0.0, 6.0)) # 返回 (-1, 0, 1)\n"
+"[/codeblock]\n"
+"[b]注意:[/b]为了更好的类型安全,请使用 [method signf]、[method signi]、"
+"[method Vector2.sign]、[method Vector2i.sign]、[method Vector3.sign]、"
+"[method Vector3i.sign]、[method Vector4.sign]、或 [method Vector4i.sign]。"
+
+msgid ""
+"Returns [code]-1[/code] if [param x] is negative, [code]1[/code] if [param "
+"x] is positive, and [code]0[/code] if if [param x] is zero.\n"
+"[codeblock]\n"
+"sign(-6) # Returns -1\n"
+"sign(0) # Returns 0\n"
+"sign(6) # Returns 1\n"
+"[/codeblock]"
+msgstr ""
+"如果 [param x] 为负,则返回 [code]-1[/code];如果 [param x] 为正,则返回 "
+"[code]1[/code];如果 [param x] 为零,则返回 [code]0[/code]。\n"
+"[codeblock]\n"
+"sign(-6) # 返回 -1\n"
+"sign(0) # 返回 0\n"
+"sign(6) # 返回 1\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the sine of angle [param angle_rad] in radians.\n"
+"[codeblock]\n"
+"sin(0.523599) # Returns 0.5\n"
+"sin(deg_to_rad(90)) # Returns 1.0\n"
+"[/codeblock]"
+msgstr ""
+"返回弧度角 [param angle_rad] 的正弦值。\n"
+"[codeblock]\n"
+"sin(0.523599) # 返回 0.5\n"
+"sin(deg_to_rad(90)) # 返回 1.0\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the hyperbolic sine of [param x].\n"
+"[codeblock]\n"
+"var a = log(2.0) # Returns 0.693147\n"
+"sinh(a) # Returns 0.75\n"
+"[/codeblock]"
+msgstr ""
+"返回 [param x] 的双曲正弦值。\n"
+"[codeblock]\n"
+"var a = log(2.0) # 返回 0.693147\n"
+"sinh(a) # 返回 0.75\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the result of smoothly interpolating the value of [param x] between "
+"[code]0[/code] and [code]1[/code], based on the where [param x] lies with "
+"respect to the edges [param from] and [param to].\n"
+"The return value is [code]0[/code] if [code]x <= from[/code], and [code]1[/"
+"code] if [code]x >= to[/code]. If [param x] lies between [param from] and "
+"[param to], the returned value follows an S-shaped curve that maps [param x] "
+"between [code]0[/code] and [code]1[/code].\n"
+"This S-shaped curve is the cubic Hermite interpolator, given by [code]f(y) = "
+"3*y^2 - 2*y^3[/code] where [code]y = (x-from) / (to-from)[/code].\n"
+"[codeblock]\n"
+"smoothstep(0, 2, -5.0) # Returns 0.0\n"
+"smoothstep(0, 2, 0.5) # Returns 0.15625\n"
+"smoothstep(0, 2, 1.0) # Returns 0.5\n"
+"smoothstep(0, 2, 2.0) # Returns 1.0\n"
+"[/codeblock]\n"
+"Compared to [method ease] with a curve value of [code]-1.6521[/code], "
+"[method smoothstep] returns the smoothest possible curve with no sudden "
+"changes in the derivative. If you need to perform more advanced transitions, "
+"use [Tween] or [AnimationPlayer].\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"smoothstep_ease_comparison.png]Comparison between smoothstep() and ease(x, "
+"-1.6521) return values[/url]"
+msgstr ""
+"返回 [param x] 在 [code]0[/code] 和 [code]1[/code] 之间平滑插值的结果,基于 "
+"[param x] 相对于边 [param from] 和 [param to] 的位置。\n"
+"如果 [code]x <= from[/code],则返回值为 [code]0[/code];如果 [code]x >= to[/"
+"code],则返回值为 [code]1[/code]。如果 [param x] 位于 [param from] 和 [param "
+"to] 之间,则返回值遵循一条将 [param x] 映射到 [code]0[/code] 和 [code]1[/"
+"code] 之间的 S 形曲线。\n"
+"这条 S 形曲线是三次 Hermite 插值器,由 [code]f(y) = 3*y^2 - 2*y^3[/code] 给"
+"出,其中 [code]y = (x-from) / (to-from)[/code]。\n"
+"[codeblock]\n"
+"smoothstep(0, 2, -5.0) # 返回 0.0\n"
+"smoothstep(0, 2, 0.5) # 返回 0.15625\n"
+"smoothstep(0, 2, 1.0) # 返回 0.5\n"
+"smoothstep(0, 2, 2.0) # 返回 1.0\n"
+"[/codeblock]\n"
+"与曲线值为 [code]-1.6521[/code] 的 [method ease] 相比,[method smoothstep] 返"
+"回最平滑的曲线,导数没有突然变化。如果您需要执行更高级的过渡,请使用 [Tween] "
+"或 [AnimationPlayer]。\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"smoothstep_ease_comparison.png]smoothstep() 与 ease(x, -1.6521) 返回值的比较"
+"[/url]"
+
+msgid ""
+"Returns the multiple of [param step] that is the closest to [param x]. This "
+"can also be used to round a floating point number to an arbitrary number of "
+"decimals.\n"
+"The returned value is the same type of [Variant] as [param step]. Supported "
+"types: [int], [float], [Vector2], [Vector2i], [Vector3], [Vector3i], "
+"[Vector4], [Vector4i].\n"
+"[codeblock]\n"
+"snapped(100, 32) # Returns 96\n"
+"snapped(3.14159, 0.01) # Returns 3.14\n"
+"\n"
+"snapped(Vector2(34, 70), Vector2(8, 8)) # Returns (32, 72)\n"
+"[/codeblock]\n"
+"See also [method ceil], [method floor], and [method round].\n"
+"[b]Note:[/b] For better type safety, use [method snappedf], [method "
+"snappedi], [method Vector2.snapped], [method Vector2i.snapped], [method "
+"Vector3.snapped], [method Vector3i.snapped], [method Vector4.snapped], or "
+"[method Vector4i.snapped]."
+msgstr ""
+"返回最接近 [param x] 的 [param step] 的倍数。这也可用于将一个浮点数四舍五入为"
+"任意小数位数。\n"
+"返回值是与 [param step] 相同类型的 [Variant]。支持的类型:[int]、[float]、"
+"[Vector2]、[Vector2i]、[Vector3]、[Vector3i]、[Vector4]、[Vector4i]。\n"
+"[codeblock]\n"
+"snapped(100, 32) # 返回 96\n"
+"snapped(3.14159, 0.01) # 返回 3.14\n"
+"\n"
+"snapped(Vector2(34, 70), Vector2(8, 8)) # 返回 (32, 72)\n"
+"[/codeblock]\n"
+"另见 [method ceil]、[method floor] 和 [method round]。\n"
+"[b]注意:[/b]为了更好的类型安全,请使用 [method snappedf]、[method "
+"snappedi]、[method Vector2.snapped]、[method Vector2i.snapped]、[method "
+"Vector3.snapped]、[method Vector3i.snapped]、[method Vector4.snapped]、或 "
+"[method Vector4i.snapped]。"
+
+msgid ""
+"Returns the multiple of [param step] that is the closest to [param x]. This "
+"can also be used to round a floating point number to an arbitrary number of "
+"decimals.\n"
+"A type-safe version of [method snapped], returning a [float].\n"
+"[codeblock]\n"
+"snapped(32.0, 2.5) # Returns 32.5\n"
+"snapped(3.14159, 0.01) # Returns 3.14\n"
+"[/codeblock]"
+msgstr ""
+"返回最接近 [param x] 的 [param step] 的倍数。也可用于将浮点数四舍五入为任意的"
+"小数位数。\n"
+"[method snapped] 的类型安全版本,返回一个 [float]。\n"
+"[codeblock]\n"
+"snapped(32.0, 2.5) # 返回 32.5\n"
+"snapped(3.14159, 0.01) # 返回 3.14\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the multiple of [param step] that is the closest to [param x].\n"
+"A type-safe version of [method snapped], returning an [int].\n"
+"[codeblock]\n"
+"snapped(53, 16) # Returns 48\n"
+"snapped(4096, 100) # Returns 4100\n"
+"[/codeblock]"
+msgstr ""
+"返回最接近 [param x] 的 [param step] 的倍数。\n"
+"[method snapped] 的类型安全版本,返回一个 [int]。\n"
+"[codeblock]\n"
+"snapped(53, 16) # 返回 48\n"
+"snapped(4096, 100) # 返回 4100\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the square root of [param x], where [param x] is a non-negative "
+"number.\n"
+"[codeblock]\n"
+"sqrt(9) # Returns 3\n"
+"sqrt(10.24) # Returns 3.2\n"
+"sqrt(-1) # Returns NaN\n"
+"[/codeblock]\n"
+"[b]Note:[/b] Negative values of [param x] return NaN (\"Not a Number\"). in "
+"C#, if you need negative inputs, use [code]System.Numerics.Complex[/code]."
+msgstr ""
+"返回 [param x] 的平方根,其中 [param x] 是一个非负数。\n"
+"[codeblock]\n"
+"sqrt(9) # 返回 3\n"
+"sqrt(10.24) # 返回 3.2\n"
+"sqrt(-1) # 返回 NaN\n"
+"[/codeblock]\n"
+"[b]注意:[/b]负数的 [param x] 会返回 NaN(“不是数字”)。在 C# 中,如果需要负"
+"输入,请使用 [code]System.Numerics.Complex[/code]。"
+
+msgid ""
+"Returns the position of the first non-zero digit, after the decimal point. "
+"Note that the maximum return value is 10, which is a design decision in the "
+"implementation.\n"
+"[codeblock]\n"
+"var n = step_decimals(5) # n is 0\n"
+"n = step_decimals(1.0005) # n is 4\n"
+"n = step_decimals(0.000000005) # n is 9\n"
+"[/codeblock]"
+msgstr ""
+"返回小数点后第一个非零数字的位置。注意最大返回值是 10,这是实现中的设计决"
+"定。\n"
+"[codeblock]\n"
+"var n = step_decimals(5) # n 为 0\n"
+"n = step_decimals(1.0005) # n 为 4\n"
+"n = step_decimals(0.000000005) # n 为 9\n"
+"[/codeblock]"
+
+msgid ""
+"Converts one or more arguments of any [Variant] type to a [String] in the "
+"best way possible.\n"
+"[codeblock]\n"
+"var a = [10, 20, 30]\n"
+"var b = str(a)\n"
+"print(len(a)) # Prints 3 (the number of elements in the array).\n"
+"print(len(b)) # Prints 12 (the length of the string \"[10, 20, 30]\").\n"
+"[/codeblock]"
+msgstr ""
+"尽可能以最佳方式将一个或多个任何 [Variant] 类型的参数转换为一个 [String]。\n"
+"[codeblock]\n"
+"var a = [10, 20, 30]\n"
+"var b = str(a)\n"
+"print(len(a)) # 输出 3(数组中元素的数量)。\n"
+"print(len(b)) # 输出 12(字符串“[10, 20, 30]”的长度)。\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the tangent of angle [param angle_rad] in radians.\n"
+"[codeblock]\n"
+"tan(deg_to_rad(45)) # Returns 1\n"
+"[/codeblock]"
+msgstr ""
+"返回弧度角 [param angle_rad] 的正切值。\n"
+"[codeblock]\n"
+"tan(deg_to_rad(45)) # 返回 1\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the hyperbolic tangent of [param x].\n"
+"[codeblock]\n"
+"var a = log(2.0) # Returns 0.693147\n"
+"tanh(a) # Returns 0.6\n"
+"[/codeblock]"
+msgstr ""
+"返回 [param x] 的双曲正切值。\n"
+"[codeblock]\n"
+"var a = log(2.0) # 返回 0.693147\n"
+"tanh(a) # 返回 0.6\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the internal type of the given [param variable], using the [enum "
+"Variant.Type] values.\n"
+"[codeblock]\n"
+"var json = JSON.new()\n"
+"json.parse('[\"a\", \"b\", \"c\"]')\n"
+"var result = json.get_data()\n"
+"if typeof(result) == TYPE_ARRAY:\n"
+" print(result[0]) # Prints a\n"
+"else:\n"
+" print(\"Unexpected result\")\n"
+"[/codeblock]"
+msgstr ""
+"使用 [enum Variant.Type] 值返回给定 [param variable] 的内部类型。\n"
+"[codeblock]\n"
+"var json = JSON.new()\n"
+"json.parse('[\"a\", \"b\", \"c\"]')\n"
+"var result = json.get_data()\n"
+"if typeof(result) == TYPE_ARRAY:\n"
+" print(result[0]) # 输出 a\n"
+"else:\n"
+" print(\"出乎意料的结果\")\n"
+"[/codeblock]"
+
+msgid ""
+"Encodes a [Variant] value to a byte array, without encoding objects. "
+"Deserialization can be done with [method bytes_to_var].\n"
+"[b]Note:[/b] If you need object serialization, see [method "
+"var_to_bytes_with_objects]."
+msgstr ""
+"将 [Variant] 值编码为字节数组,不编码对象。反序列化可以使用 [method "
+"bytes_to_var] 来完成。\n"
+"[b]注意:[/b]如果需要对象序列化,参见 [method var_to_bytes_with_objects]。"
+
+msgid ""
+"Encodes a [Variant] value to a byte array. Encoding objects is allowed (and "
+"can potentially include executable code). Deserialization can be done with "
+"[method bytes_to_var_with_objects]."
+msgstr ""
+"将 [Variant] 值编码为字节数组。允许对对象进行编码(并且可能包括可执行代码)。"
+"反序列化可以使用 [method bytes_to_var_with_objects] 来完成。"
+
+msgid ""
+"Converts a [Variant] [param variable] to a formatted [String] that can then "
+"be parsed using [method str_to_var].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var a = { \"a\": 1, \"b\": 2 }\n"
+"print(var_to_str(a))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var a = new Godot.Collections.Dictionary { [\"a\"] = 1, [\"b\"] = 2 };\n"
+"GD.Print(GD.VarToStr(a));\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Prints:\n"
+"[codeblock]\n"
+"{\n"
+" \"a\": 1,\n"
+" \"b\": 2\n"
+"}\n"
+"[/codeblock]"
+msgstr ""
+"将 [Variant] [param variable] 转换为格式化的 [String],然后可以使用 [method "
+"str_to_var] 对其进行解析。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var a = { \"a\": 1, \"b\": 2 }\n"
+"print(var_to_str(a))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var a = new Godot.Collections.Dictionary { [\"a\"] = 1, [\"b\"] = 2 };\n"
+"GD.Print(GD.VarToStr(a));\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"输出:\n"
+"[codeblock]\n"
+"{\n"
+" \"a\": 1,\n"
+" \"b\": 2\n"
+"}\n"
+"[/codeblock]"
+
+msgid ""
+"Returns a weak reference to an object, or [code]null[/code] if [param obj] "
+"is invalid.\n"
+"A weak reference to an object is not enough to keep the object alive: when "
+"the only remaining references to a referent are weak references, garbage "
+"collection is free to destroy the referent and reuse its memory for "
+"something else. However, until the object is actually destroyed the weak "
+"reference may return the object even if there are no strong references to it."
+msgstr ""
+"返回对某个对象的弱引用,如果 [param obj] 无效,则返回 [code]null[/code]。\n"
+"对对象的弱引用不足以使对象保持存活:当对引用对象的剩余引用都是弱引用时,垃圾"
+"回收可以自由销毁该引用对象并将其内存重新用于其他用途。但是,在对象实际被销毁"
+"之前,弱引用可能会返回该对象,即使不存在对它的强引用也是如此。"
+
+msgid ""
+"Wraps the [Variant] [param value] between [param min] and [param max]. Can "
+"be used for creating loop-alike behavior or infinite surfaces.\n"
+"Variant types [int] and [float] are supported. If any of the arguments is "
+"[float] this function returns a [float], otherwise it returns an [int].\n"
+"[codeblock]\n"
+"var a = wrap(4, 5, 10)\n"
+"# a is 9 (int)\n"
+"\n"
+"var a = wrap(7, 5, 10)\n"
+"# a is 7 (int)\n"
+"\n"
+"var a = wrap(10.5, 5, 10)\n"
+"# a is 5.5 (float)\n"
+"[/codeblock]"
+msgstr ""
+"在 [param min] 和 [param max] 之间包裹 [Variant] [param value]。可用于创建类"
+"似循环的行为或无限曲面。\n"
+"支持变体类型 [int] 和 [float]。如果任一参数是 [float],则该函数返回 [float],"
+"否则返回 [int]。\n"
+"[codeblock]\n"
+"var a = wrap(4, 5, 10)\n"
+"# a 为 9 (整数类型)\n"
+"\n"
+"var a = wrap(7, 5, 10)\n"
+"# a 为 7 (整数类型)\n"
+"\n"
+"var a = wrap(10.5, 5, 10)\n"
+"# a 为 5.5 (浮点类型)\n"
+"[/codeblock]"
+
+msgid ""
+"Wraps the float [param value] between [param min] and [param max]. Can be "
+"used for creating loop-alike behavior or infinite surfaces.\n"
+"[codeblock]\n"
+"# Infinite loop between 5.0 and 9.9\n"
+"value = wrapf(value + 0.1, 5.0, 10.0)\n"
+"[/codeblock]\n"
+"[codeblock]\n"
+"# Infinite rotation (in radians)\n"
+"angle = wrapf(angle + 0.1, 0.0, TAU)\n"
+"[/codeblock]\n"
+"[codeblock]\n"
+"# Infinite rotation (in radians)\n"
+"angle = wrapf(angle + 0.1, -PI, PI)\n"
+"[/codeblock]\n"
+"[b]Note:[/b] If [param min] is [code]0[/code], this is equivalent to [method "
+"fposmod], so prefer using that instead.\n"
+"[code]wrapf[/code] is more flexible than using the [method fposmod] approach "
+"by giving the user control over the minimum value."
+msgstr ""
+"在 [param min] 和 [param max] 之间将浮点数 [param value] 循环。可用于创建类似"
+"循环的行为或无限曲面。\n"
+"[codeblock]\n"
+"# 在 5.0 和 9.9 之间无限循环\n"
+"value = wrapf(value + 0.1, 5.0, 10.0)\n"
+"[/codeblock]\n"
+"[codeblock]\n"
+"# 无限旋转(弧度)\n"
+"angle = wrapf(angle + 0.1, 0.0, TAU)\n"
+"[/codeblock]\n"
+"[codeblock]\n"
+"# 无限旋转(弧度)\n"
+"angle = wrapf(angle + 0.1, -PI, PI)\n"
+"[/codeblock]\n"
+"[b]注意:[/b]如果 [param min] 为 [code]0[/code],则相当于 [method fposmod],"
+"因此请改用它。\n"
+"通过让用户控制最小值,[code]wrapf[/code] 比使用 [method fposmod] 方法更灵活。"
+
+msgid ""
+"Wraps the integer [param value] between [param min] and [param max]. Can be "
+"used for creating loop-alike behavior or infinite surfaces.\n"
+"[codeblock]\n"
+"# Infinite loop between 5 and 9\n"
+"frame = wrapi(frame + 1, 5, 10)\n"
+"[/codeblock]\n"
+"[codeblock]\n"
+"# result is -2\n"
+"var result = wrapi(-6, -5, -1)\n"
+"[/codeblock]"
+msgstr ""
+"在 [param min] 和 [param max] 之间环绕整数 [param value]。 可用于创建类似循环"
+"的行为或无限曲面。\n"
+"[codeblock]\n"
+"# 在 5 和 9 之间无限循环\n"
+"frame = wrapi(frame + 1, 5, 10)\n"
+"[/codeblock]\n"
+"[codeblock]\n"
+"# result 是 -2\n"
+"var result = wrapi(-6, -5, -1)\n"
+"[/codeblock]"
+
msgid "The [AudioServer] singleton."
msgstr "[AudioServer] 单例。"
@@ -1236,9 +3135,27 @@ msgstr "[CameraServer] 单例。"
msgid "The [ClassDB] singleton."
msgstr "[ClassDB] 单例。"
+msgid "The [DisplayServer] singleton."
+msgstr "[DisplayServer] 单例。"
+
msgid "The [Engine] singleton."
msgstr "[Engine] 单例。"
+msgid "The [EngineDebugger] singleton."
+msgstr "[EngineDebugger] 单例。"
+
+msgid "The [GDExtensionManager] singleton."
+msgstr "[GDExtensionManager] 单例。"
+
+msgid "The [Geometry2D] singleton."
+msgstr "[Geometry2D] 单例。"
+
+msgid "The [Geometry3D] singleton."
+msgstr "[Geometry3D] 单例。"
+
+msgid "The [GodotSharp] singleton."
+msgstr "[GodotSharp] 单例。"
+
msgid "The [IP] singleton."
msgstr "[IP] 单例。"
@@ -1255,33 +3172,85 @@ msgstr ""
"[JavaClassWrapper] 单例。\n"
"[b]注意:[/b]仅在 Android 上实现。"
+msgid ""
+"The [JavaScriptBridge] singleton.\n"
+"[b]Note:[/b] Only implemented on the Web platform."
+msgstr ""
+"[JavaScriptBridge] 单例。\n"
+"[b]注意:[/b]仅在 Web 平台上实现。"
+
msgid "The [Marshalls] singleton."
msgstr "[Marshalls] 单例。"
msgid "The [NavigationMeshGenerator] singleton."
msgstr "[NavigationMeshGenerator] 单例。"
+msgid "The [NavigationServer2D] singleton."
+msgstr "[NavigationServer2D] 单例。"
+
msgid "The [OS] singleton."
msgstr "[OS] 单例。"
msgid "The [Performance] singleton."
msgstr "[Performance] 单例。"
+msgid "The [PhysicsServer2D] singleton."
+msgstr "[PhysicsServer2D] 单例。"
+
+msgid "The [PhysicsServer2DManager] singleton."
+msgstr "[PhysicsServer2DManager] 单例。"
+
+msgid "The [PhysicsServer3D] singleton."
+msgstr "[PhysicsServer3D] 单例。"
+
+msgid "The [PhysicsServer3DManager] singleton."
+msgstr "[PhysicsServer3DManager] 单例。"
+
msgid "The [ProjectSettings] singleton."
msgstr "[ProjectSettings] 单例。"
+msgid "The [RenderingServer] singleton."
+msgstr "[RenderingServer] 单例。"
+
msgid "The [ResourceLoader] singleton."
msgstr "[ResourceLoader] 单例。"
msgid "The [ResourceSaver] singleton."
msgstr "[ResourceSaver] 单例。"
+msgid "The [ResourceUID] singleton."
+msgstr "[ResourceUID] 单例。"
+
+msgid "The [TextServerManager] singleton."
+msgstr "[TextServerManager] 单例。"
+
+msgid "The [ThemeDB] singleton."
+msgstr "[ThemeDB] 单例。"
+
msgid "The [Time] singleton."
msgstr "[Time] 单例。"
msgid "The [TranslationServer] singleton."
msgstr "[TranslationServer] 单例。"
+msgid "The [WorkerThreadPool] singleton."
+msgstr "[WorkerThreadPool] 单例。"
+
+msgid "The [XRServer] singleton."
+msgstr "[XRServer] 单例。"
+
+msgid "Left side, usually used for [Control] or [StyleBox]-derived classes."
+msgstr "左边,常用于 [Control] 或 [StyleBox] 的派生类。"
+
+msgid "Top side, usually used for [Control] or [StyleBox]-derived classes."
+msgstr "顶边,常用于 [Control] 或 [StyleBox] 的派生类。"
+
+msgid "Right side, usually used for [Control] or [StyleBox]-derived classes."
+msgstr "右边,常用于 [Control] 或 [StyleBox] 的派生类。"
+
+msgid "Bottom side, usually used for [Control] or [StyleBox]-derived classes."
+msgstr "底边,常用于 [Control] 或 [StyleBox] 的派生类。"
+
msgid "Top-left corner."
msgstr "左上角。"
@@ -1304,6 +3273,15 @@ msgid ""
"[Slider], etc."
msgstr "通用水平对齐,常用于 [Separator]、[ScrollBar]、[Slider] 等。"
+msgid ""
+"Clockwise rotation. Used by some methods (e.g. [method Image.rotate_90])."
+msgstr "顺时针旋转。被一些方法使用(例如 [method Image.rotate_90])。"
+
+msgid ""
+"Counter-clockwise rotation. Used by some methods (e.g. [method Image."
+"rotate_90])."
+msgstr "逆时针旋转。被一些方法使用(例如 [method Image.rotate_90])。"
+
msgid "Horizontal left alignment, usually for text-derived classes."
msgstr "水平左对齐,常用于文本派生类。"
@@ -1313,6 +3291,9 @@ msgstr "水平居中对齐,常用于文本派生类。"
msgid "Horizontal right alignment, usually for text-derived classes."
msgstr "水平右对齐,常用于文本派生类。"
+msgid "Expand row to fit width, usually for text-derived classes."
+msgstr "扩展行以适应宽度,常用于文本派生类。"
+
msgid "Vertical top alignment, usually for text-derived classes."
msgstr "垂直上对齐,常用于文本派生类。"
@@ -1322,6 +3303,147 @@ msgstr "垂直居中对齐,常用于文本派生类。"
msgid "Vertical bottom alignment, usually for text-derived classes."
msgstr "垂直下对齐,常用于文本派生类。"
+msgid "Expand rows to fit height, usually for text-derived classes."
+msgstr "扩展行以适应高度,通常用于文本派生类。"
+
+msgid ""
+"Aligns the top of the inline object (e.g. image, table) to the position of "
+"the text specified by [code]INLINE_ALIGNMENT_TO_*[/code] constant."
+msgstr ""
+"将内联对象(例如图像、表格)的顶部与 [code]INLINE_ALIGNMENT_TO_*[/code] 常量"
+"指定的文本位置对齐。"
+
+msgid ""
+"Aligns the center of the inline object (e.g. image, table) to the position "
+"of the text specified by [code]INLINE_ALIGNMENT_TO_*[/code] constant."
+msgstr ""
+"将内联对象(例如图像、表格)的中心与 [code]INLINE_ALIGNMENT_TO_*[/code] 常量"
+"指定的文本位置对齐。"
+
+msgid ""
+"Aligns the baseline (user defined) of the inline object (e.g. image, table) "
+"to the position of the text specified by [code]INLINE_ALIGNMENT_TO_*[/code] "
+"constant."
+msgstr ""
+"将内联对象(如图像、表格)的基线(用户定义)与[code]INLINE_ALIGNMENT_TO_*[/"
+"code] 常数指定的文本位置对齐。"
+
+msgid ""
+"Aligns the bottom of the inline object (e.g. image, table) to the position "
+"of the text specified by [code]INLINE_ALIGNMENT_TO_*[/code] constant."
+msgstr ""
+"将内联对象(例如图像、表格)的底部与 [code]INLINE_ALIGNMENT_TO_*[/code] 常量"
+"指定的文本位置对齐。"
+
+msgid ""
+"Aligns the position of the inline object (e.g. image, table) specified by "
+"[code]INLINE_ALIGNMENT_*_TO[/code] constant to the top of the text."
+msgstr ""
+"将由 [code]INLINE_ALIGNMENT_*_TO[/code] 常量指定的内联对象(例如图像、表格)"
+"的位置与文本顶部对齐。"
+
+msgid ""
+"Aligns the position of the inline object (e.g. image, table) specified by "
+"[code]INLINE_ALIGNMENT_*_TO[/code] constant to the center of the text."
+msgstr ""
+"将由 [code]INLINE_ALIGNMENT_*_TO[/code] 常量指定的内联对象(例如图像、表格)"
+"的位置与文本中心对齐。"
+
+msgid ""
+"Aligns the position of the inline object (e.g. image, table) specified by "
+"[code]INLINE_ALIGNMENT_*_TO[/code] constant to the baseline of the text."
+msgstr ""
+"将由 [code]INLINE_ALIGNMENT_*_TO[/code] 常量指定的内联对象(例如图像、表格)"
+"的位置与文本基线对齐。"
+
+msgid "Aligns inline object (e.g. image, table) to the bottom of the text."
+msgstr "将内联对象(例如图像、表格)与文本底部对齐。"
+
+msgid ""
+"Aligns top of the inline object (e.g. image, table) to the top of the text. "
+"Equivalent to [code]INLINE_ALIGNMENT_TOP_TO | INLINE_ALIGNMENT_TO_TOP[/code]."
+msgstr ""
+"将内联对象(例如图像、表格)的顶部与文本的顶部对齐。等效于 "
+"[code]INLINE_ALIGNMENT_TOP_TO | INLINE_ALIGNMENT_TO_TOP[/code]。"
+
+msgid ""
+"Aligns center of the inline object (e.g. image, table) to the center of the "
+"text. Equivalent to [code]INLINE_ALIGNMENT_CENTER_TO | "
+"INLINE_ALIGNMENT_TO_CENTER[/code]."
+msgstr ""
+"将内联对象(例如图像、表格)的中心与文本的中心对齐。相当于 "
+"[code]INLINE_ALIGNMENT_CENTER_TO | INLINE_ALIGNMENT_TO_CENTER[/code]。"
+
+msgid ""
+"Aligns bottom of the inline object (e.g. image, table) to the bottom of the "
+"text. Equivalent to [code]INLINE_ALIGNMENT_BOTTOM_TO | "
+"INLINE_ALIGNMENT_TO_BOTTOM[/code]."
+msgstr ""
+"将内联对象(例如图像、表格)的底部与文本底部对齐。等效于 "
+"[code]INLINE_ALIGNMENT_BOTTOM_TO | INLINE_ALIGNMENT_TO_BOTTOM[/code]。"
+
+msgid "A bit mask for [code]INLINE_ALIGNMENT_*_TO[/code] alignment constants."
+msgstr "用于 [code]INLINE_ALIGNMENT_*_TO[/code] 对齐常量的位掩码。"
+
+msgid "A bit mask for [code]INLINE_ALIGNMENT_TO_*[/code] alignment constants."
+msgstr "用于 [code]INLINE_ALIGNMENT_TO_*[/code] 对齐常量的位掩码。"
+
+msgid ""
+"Specifies that Euler angles should be in XYZ order. When composing, the "
+"order is X, Y, Z. When decomposing, the order is reversed, first Z, then Y, "
+"and X last."
+msgstr ""
+"指定欧拉角应按 XYZ 顺序排列。组合时,顺序为 X、Y、Z。分解时,顺序相反,先 Z,"
+"再 Y,最后 X。"
+
+msgid ""
+"Specifies that Euler angles should be in XZY order. When composing, the "
+"order is X, Z, Y. When decomposing, the order is reversed, first Y, then Z, "
+"and X last."
+msgstr ""
+"指定欧拉角应按 XZY 顺序排列。组合时,顺序为 X、Z、Y。分解时,顺序相反,先 Y,"
+"再 Z,最后 X。"
+
+msgid ""
+"Specifies that Euler angles should be in YXZ order. When composing, the "
+"order is Y, X, Z. When decomposing, the order is reversed, first Z, then X, "
+"and Y last."
+msgstr ""
+"指定欧拉角应按 YXZ 顺序排列。组合时,顺序为 Y、X、Z。分解时,顺序相反,先 Z,"
+"再 X,最后 Y。"
+
+msgid ""
+"Specifies that Euler angles should be in YZX order. When composing, the "
+"order is Y, Z, X. When decomposing, the order is reversed, first X, then Z, "
+"and Y last."
+msgstr ""
+"指定欧拉角应按 YZX 顺序排列。组合时,顺序为 Y、Z、X。分解时,顺序相反,先 X,"
+"再 Z,最后 Y。"
+
+msgid ""
+"Specifies that Euler angles should be in ZXY order. When composing, the "
+"order is Z, X, Y. When decomposing, the order is reversed, first Y, then X, "
+"and Z last."
+msgstr ""
+"指定欧拉角应按 ZXY 顺序排列。组合时,顺序为 Z、X、Y。分解时,顺序相反,先 Y,"
+"再 X,最后 Z。"
+
+msgid ""
+"Specifies that Euler angles should be in ZYX order. When composing, the "
+"order is Z, Y, X. When decomposing, the order is reversed, first X, then Y, "
+"and Z last."
+msgstr ""
+"指定欧拉角应按 ZYX 顺序排列。组合时,顺序为 Z、Y、X。分解时,顺序相反,先 X,"
+"再 Y,最后 Z。"
+
+msgid ""
+"Enum value which doesn't correspond to any key. This is used to initialize "
+"[enum Key] properties with a generic state."
+msgstr "与任何键都不对应的枚举值。这用于初始化具有通用状态的 [enum Key] 属性。"
+
+msgid "Keycodes with this bit applied are non-printable."
+msgstr "应用此位的键码不可打印。"
+
msgid "Escape key."
msgstr "ESC 键。"
@@ -1451,6 +3573,63 @@ msgstr "F15 键。"
msgid "F16 key."
msgstr "F16 键。"
+msgid "F17 key."
+msgstr "F17 键。"
+
+msgid "F18 key."
+msgstr "F18 键。"
+
+msgid "F19 key."
+msgstr "F19 键。"
+
+msgid "F20 key."
+msgstr "F20 键。"
+
+msgid "F21 key."
+msgstr "F21 键。"
+
+msgid "F22 key."
+msgstr "F22 键。"
+
+msgid "F23 key."
+msgstr "F23 键。"
+
+msgid "F24 key."
+msgstr "F24 键。"
+
+msgid "F25 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F25 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
+msgid "F26 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F26 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
+msgid "F27 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F27 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
+msgid "F28 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F28 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
+msgid "F29 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F29 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
+msgid "F30 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F30 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
+msgid "F31 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F31 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
+msgid "F32 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F32 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
+msgid "F33 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F33 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
+msgid "F34 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F34 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
+msgid "F35 key. Only supported on macOS and Linux due to a Windows limitation."
+msgstr "F35 键。由于 Windows 限制,仅支持 macOS 和 Linux。"
+
msgid "Multiply (*) key on the numeric keypad."
msgstr "小键盘的星键/乘以键(*)。"
@@ -1461,7 +3640,7 @@ msgid "Subtract (-) key on the numeric keypad."
msgstr "小键盘的减号键(-)。"
msgid "Period (.) key on the numeric keypad."
-msgstr "小件盘的点键(.)。"
+msgstr "小键盘的点键(.)。"
msgid "Add (+) key on the numeric keypad."
msgstr "小键盘的加号键(+)。"
@@ -1497,7 +3676,10 @@ msgid "Number 9 on the numeric keypad."
msgstr "小键盘的数字 9。"
msgid "Context menu key."
-msgstr "菜单键。"
+msgstr "上下文菜单键。"
+
+msgid "Hyper key. (On Linux/X11 only)."
+msgstr "超级键。(仅在 Linux/X11 上)。"
msgid "Help key."
msgstr "Help 键。"
@@ -1656,6 +3838,36 @@ msgstr ". 键。"
msgid "/ key."
msgstr "/ 键。"
+msgid "Number 0 key."
+msgstr "数字 0 键。"
+
+msgid "Number 1 key."
+msgstr "数字 1 键。"
+
+msgid "Number 2 key."
+msgstr "数字 2 键。"
+
+msgid "Number 3 key."
+msgstr "数字 3 键。"
+
+msgid "Number 4 key."
+msgstr "数字 4 键。"
+
+msgid "Number 5 key."
+msgstr "数字 5 键。"
+
+msgid "Number 6 key."
+msgstr "数字 6 键。"
+
+msgid "Number 7 key."
+msgstr "数字 7 键。"
+
+msgid "Number 8 key."
+msgstr "数字 8 键。"
+
+msgid "Number 9 key."
+msgstr "数字 9 键。"
+
msgid ": key."
msgstr ": 键。"
@@ -1791,17 +4003,40 @@ msgstr "¥ 键。"
msgid "§ key."
msgstr "§ 键。"
+msgid "\"Globe\" key on Mac / iPad keyboard."
+msgstr "Mac / iPad 键盘上的“地球”键。"
+
+msgid "\"On-screen keyboard\" key iPad keyboard."
+msgstr "iPad 键盘上的“屏幕键盘”键。"
+
+msgid "英数 key on Mac keyboard."
+msgstr "Mac 键盘上的“英数”键。"
+
+msgid "かな key on Mac keyboard."
+msgstr "Mac 键盘上的“かな”键。"
+
msgid "Key Code mask."
msgstr "键码掩码。"
msgid "Modifier key mask."
-msgstr "Modifier 键掩码。"
+msgstr "修饰键掩码。"
+
+msgid ""
+"Automatically remapped to [constant KEY_META] on macOS and [constant "
+"KEY_CTRL] on other platforms, this mask is never set in the actual events, "
+"and should be used for key mapping only."
+msgstr ""
+"自动重映射为 macOS 上的 [constant KEY_META] 和其他平台上的 [constant "
+"KEY_CTRL],此掩码在实际事件中从不设置,应仅用于键映射。"
msgid "Shift key mask."
msgstr "Shift 键掩码。"
-msgid "Ctrl key mask."
-msgstr "Ctrl 键掩码。"
+msgid "Alt or Option (on macOS) key mask."
+msgstr "Alt 或 Option(在 macOS 上)键掩码。"
+
+msgid "Command (on macOS) or Meta/Windows key mask."
+msgstr "命令(在 macOS 上)或 Meta/Windows 键掩码。"
msgid "Keypad key mask."
msgstr "Keypad 键掩码。"
@@ -1809,14 +4044,21 @@ msgstr "Keypad 键掩码。"
msgid "Group Switch key mask."
msgstr "Group Switch 键掩码。"
-msgid "Middle mouse button."
-msgstr "鼠标中键。"
+msgid ""
+"Enum value which doesn't correspond to any mouse button. This is used to "
+"initialize [enum MouseButton] properties with a generic state."
+msgstr ""
+"与任何鼠标按钮都不对应的枚举值。这用于初始化具有通用状态的 [enum "
+"MouseButton] 属性。"
-msgid "Mouse wheel up."
-msgstr "鼠标滚轮向上。"
+msgid "Primary mouse button, usually assigned to the left button."
+msgstr "鼠标主键,通常分配给左键。"
-msgid "Mouse wheel down."
-msgstr "鼠标滚轮向下。"
+msgid "Secondary mouse button, usually assigned to the right button."
+msgstr "鼠标次键,通常分配给右键。"
+
+msgid "Middle mouse button."
+msgstr "鼠标中键。"
msgid "Mouse wheel left button (only present on some mice)."
msgstr "鼠标滚轮左键(仅在某些鼠标上有实现)。"
@@ -1824,6 +4066,22 @@ msgstr "鼠标滚轮左键(仅在某些鼠标上有实现)。"
msgid "Mouse wheel right button (only present on some mice)."
msgstr "鼠标滚轮右键(仅在某些鼠标上有实现)。"
+msgid ""
+"Extra mouse button 1. This is sometimes present, usually to the sides of the "
+"mouse."
+msgstr "鼠标额外键 1。有时会出现,通常位于鼠标的两侧。"
+
+msgid ""
+"Extra mouse button 2. This is sometimes present, usually to the sides of the "
+"mouse."
+msgstr "鼠标额外键 2。有时会出现,通常位于鼠标的两侧。"
+
+msgid "Primary mouse button mask, usually for the left button."
+msgstr "鼠标主键掩码,通常用于左键。"
+
+msgid "Secondary mouse button mask, usually for the right button."
+msgstr "鼠标次键掩码,通常用于右键。"
+
msgid "Middle mouse button mask."
msgstr "鼠标中键掩码。"
@@ -1833,6 +4091,152 @@ msgstr "鼠标额外键 1 掩码。"
msgid "Extra mouse button 2 mask."
msgstr "鼠标额外键 2 掩码。"
+msgid "An invalid game controller button."
+msgstr "无效的游戏控制器按钮。"
+
+msgid ""
+"Game controller SDL button A. Corresponds to the bottom action button: Sony "
+"Cross, Xbox A, Nintendo B."
+msgstr ""
+"游戏控制器 SDL 按键 A。对应底部动作按钮:Sony Cross、Xbox A、Nintendo B。"
+
+msgid ""
+"Game controller SDL button B. Corresponds to the right action button: Sony "
+"Circle, Xbox B, Nintendo A."
+msgstr ""
+"游戏控制器 SDL 按钮 B。对应右侧动作按钮:Sony Circle、Xbox B、Nintendo A。"
+
+msgid ""
+"Game controller SDL button X. Corresponds to the left action button: Sony "
+"Square, Xbox X, Nintendo Y."
+msgstr ""
+"游戏控制器 SDL 按钮 X。对应左侧动作按钮:Sony Square、Xbox X、Nintendo Y。"
+
+msgid ""
+"Game controller SDL button Y. Corresponds to the top action button: Sony "
+"Triangle, Xbox Y, Nintendo X."
+msgstr ""
+"游戏控制器 SDL 按钮 Y。对应顶部动作按钮:Sony Triangle、Xbox Y、Nintendo X。"
+
+msgid ""
+"Game controller SDL back button. Corresponds to the Sony Select, Xbox Back, "
+"Nintendo - button."
+msgstr ""
+"游戏控制器 SDL back按钮。对应于 Sony Select、Xbox Back、Nintendo - 按钮。"
+
+msgid ""
+"Game controller SDL guide button. Corresponds to the Sony PS, Xbox Home "
+"button."
+msgstr "游戏控制器 SDL guide 按钮。对应于索尼 PS、Xbox 的 Home 键。"
+
+msgid "Game controller SDL start button. Corresponds to the Nintendo + button."
+msgstr "游戏控制器 SDL start 按钮。对应 Nintendo + 按钮。"
+
+msgid ""
+"Game controller SDL left stick button. Corresponds to the Sony L3, Xbox L/LS "
+"button."
+msgstr "游戏控制器 SDL 左摇杆按钮。对应于 Sony L3、Xbox L/LS 按钮。"
+
+msgid ""
+"Game controller SDL right stick button. Corresponds to the Sony R3, Xbox R/"
+"RS button."
+msgstr "游戏控制器 SDL 右摇杆按钮。对应于 Sony R3、Xbox R/RS 按钮。"
+
+msgid ""
+"Game controller SDL left shoulder button. Corresponds to the Sony L1, Xbox "
+"LB button."
+msgstr "游戏控制器 SDL 左肩按钮。对应于 Sony L1、Xbox LB 按钮。"
+
+msgid ""
+"Game controller SDL right shoulder button. Corresponds to the Sony R1, Xbox "
+"RB button."
+msgstr "游戏控制器 SDL 右肩按钮。对应于 Sony R1、Xbox RB 按钮。"
+
+msgid "Game controller D-pad up button."
+msgstr "游戏控制器方向键向上按钮。"
+
+msgid "Game controller D-pad down button."
+msgstr "游戏控制器方向键向下按钮。"
+
+msgid "Game controller D-pad left button."
+msgstr "游戏控制器方向键向左键。"
+
+msgid "Game controller D-pad right button."
+msgstr "游戏控制器方向键向右键。"
+
+msgid ""
+"Game controller SDL miscellaneous button. Corresponds to Xbox share button, "
+"PS5 microphone button, Nintendo Switch capture button."
+msgstr ""
+"游戏控制器 SDL 杂项按钮。对应 Xbox 分享键、PS5 麦克风键、Nintendo Switch 捕捉"
+"键。"
+
+msgid "Game controller SDL paddle 1 button."
+msgstr "游戏控制器 SDL 拨片 1 按钮。"
+
+msgid "Game controller SDL paddle 2 button."
+msgstr "游戏控制器 SDL 拨片 2 按钮。"
+
+msgid "Game controller SDL paddle 3 button."
+msgstr "游戏控制器 SDL 拨片 3 按钮。"
+
+msgid "Game controller SDL paddle 4 button."
+msgstr "游戏控制器 SDL 拨片 4 按钮。"
+
+msgid "Game controller SDL touchpad button."
+msgstr "游戏控制器 SDL 触摸板按钮。"
+
+msgid "The number of SDL game controller buttons."
+msgstr "SDL 游戏控制器按钮的数量。"
+
+msgid ""
+"The maximum number of game controller buttons supported by the engine. The "
+"actual limit may be lower on specific platforms:\n"
+"- [b]Android:[/b] Up to 36 buttons.\n"
+"- [b]Linux:[/b] Up to 80 buttons.\n"
+"- [b]Windows[/b] and [b]macOS:[/b] Up to 128 buttons."
+msgstr ""
+"引擎所支持的最大游戏控制器按钮数。特定平台上的实际界限可能更低:\n"
+"- [b]Android:[/b]最多 36 个按钮。\n"
+"- [b]Linux:[/b]最多 80 个按钮。\n"
+"- [b]Windows[/b] 和 [b]macOS:[/b]最多 128 个按钮。"
+
+msgid "An invalid game controller axis."
+msgstr "无效的游戏控制器轴。"
+
+msgid "Game controller left joystick x-axis."
+msgstr "游戏控制器左操纵杆 x 轴。"
+
+msgid "Game controller left joystick y-axis."
+msgstr "游戏控制器左操纵杆 y 轴。"
+
+msgid "Game controller right joystick x-axis."
+msgstr "游戏控制器右操纵杆 x 轴。"
+
+msgid "Game controller right joystick y-axis."
+msgstr "游戏控制器右操纵杆 y 轴。"
+
+msgid "Game controller left trigger axis."
+msgstr "游戏控制器左扳机轴。"
+
+msgid "Game controller right trigger axis."
+msgstr "游戏控制器左扳机轴。"
+
+msgid "The number of SDL game controller axes."
+msgstr "SDL 游戏控制器轴的数量。"
+
+msgid ""
+"The maximum number of game controller axes: OpenVR supports up to 5 "
+"Joysticks making a total of 10 axes."
+msgstr "最大游戏控制器轴数:OpenVR 最多支持 5 个操纵杆,总共 10 个轴。"
+
+msgid ""
+"Enum value which doesn't correspond to any MIDI message. This is used to "
+"initialize [enum MIDIMessage] properties with a generic state."
+msgstr ""
+"与任何 MIDI 消息都不对应的枚举值。这用于初始化具有通用状态的 [enum "
+"MIDIMessage] 属性。"
+
msgid ""
"MIDI note OFF message. See the documentation of [InputEventMIDI] for "
"information of how to use MIDI inputs."
@@ -1904,7 +4308,7 @@ msgstr "MIDI 歌曲选择消息。指定要播放的序列或歌曲。Godot 未
msgid ""
"MIDI tune request message. Upon receiving a tune request, all analog "
"synthesizers should tune their oscillators."
-msgstr "MIDI 调整请求消息。收到调整请求后,所有模拟合成器都应该调整其晶振。"
+msgstr "MIDI 调谐请求消息。收到调谐请求后,所有模拟合成器都应调整其振荡器。"
msgid ""
"MIDI timing clock message. Sent 24 times per quarter note when "
@@ -1933,6 +4337,39 @@ msgid ""
msgstr ""
"MIDI 系统重置消息。将系统中的所有接收方重置为上电状态。本身不应在上电时发送。"
+msgid ""
+"Methods that return [enum Error] return [constant OK] when no error "
+"occurred.\n"
+"Since [constant OK] has value 0, and all other error constants are positive "
+"integers, it can also be used in boolean checks.\n"
+"[b]Example:[/b]\n"
+"[codeblock]\n"
+"var error = method_that_returns_error()\n"
+"if error != OK:\n"
+" printerr(\"Failure!\")\n"
+"\n"
+"# Or, alternatively:\n"
+"if error:\n"
+" printerr(\"Still failing!\")\n"
+"[/codeblock]\n"
+"[b]Note:[/b] Many functions do not return an error code, but will print "
+"error messages to standard output."
+msgstr ""
+"返回 [enum Error] 的方法会在没有错误发生时返回 [constant OK]。\n"
+"由于 [constant OK] 的值为 0,并且所有其他错误常数都是正整数,因此返回值也可以"
+"用于布尔检查。\n"
+"[b]示例:[/b]\n"
+"[codeblock]\n"
+"var error = method_that_returns_error()\n"
+"if error != OK:\n"
+" printerr(\"Failure!\")\n"
+"\n"
+"# 或者,等价于:\n"
+"if error:\n"
+" printerr(\"Still failing!\")\n"
+"[/codeblock]\n"
+"[b]注意:[/b]许多函数不返回错误代码,但会将错误信息打印到标准输出。"
+
msgid "Generic error."
msgstr "一般性错误。"
@@ -2069,6 +4506,90 @@ msgid "Skip error."
msgstr "跳过错误。"
msgid ""
+"Help error. Used internally when passing [code]--version[/code] or [code]--"
+"help[/code] as executable options."
+msgstr ""
+"帮助错误。内部使用,用于将 [code]--version[/code] 或 [code]--help[/code] 作为"
+"选项传递给可执行文件的情况。"
+
+msgid ""
+"Bug error, caused by an implementation issue in the method.\n"
+"[b]Note:[/b] If a built-in method returns this code, please open an issue on "
+"[url=https://github.com/godotengine/godot/issues]the GitHub Issue Tracker[/"
+"url]."
+msgstr ""
+"Bug 错误,由方法中的实现问题引起。\n"
+"[b]注意:[/b]如果内置方法返回此代码,请在 [url=https://github.com/"
+"godotengine/godot/issues]GitHub 问题追踪器[/url] 上开一个问题。"
+
+msgid ""
+"Printer on fire error (This is an easter egg, no built-in methods return "
+"this error code)."
+msgstr "打印机起火错误(这是个彩蛋,引擎中没有内置方法会返回此错误码)。"
+
+msgid "The property has no hint for the editor."
+msgstr "该属性没有编辑器提示。"
+
+msgid ""
+"Hints that an [int] or [float] property should be within a range specified "
+"via the hint string [code]\"min,max\"[/code] or [code]\"min,max,step\"[/"
+"code]. The hint string can optionally include [code]\"or_greater\"[/code] "
+"and/or [code]\"or_less\"[/code] to allow manual input going respectively "
+"above the max or below the min values.\n"
+"[b]Example:[/b] [code]\"-360,360,1,or_greater,or_less\"[/code].\n"
+"Additionally, other keywords can be included: [code]\"exp\"[/code] for "
+"exponential range editing, [code]\"radians\"[/code] for editing radian "
+"angles in degrees, [code]\"degrees\"[/code] to hint at an angle and "
+"[code]\"hide_slider\"[/code] to hide the slider."
+msgstr ""
+"提示 [int] 或 [float] 属性应在提示字符串 [code]\"min,max\"[/code] 或 "
+"[code]\"min,max,step\"[/code] 指定的范围内。提示字符串可以选择包含 "
+"[code]\"or_greater\"[/code] 和/或 [code]\"or_less\"[/code] 以允许手动输入高于"
+"最大值或低于最小值的值。\n"
+"[b]示例:[/b][code]\"-360,360,1,or_greater,or_less\"[/code]。\n"
+"此外,还可以包含其他关键字:[code]\"exp\"[/code] 用于指数范围编辑,"
+"[code]\"radians\"[/code] 用于以度数编辑弧度角,[code]\"degrees\"[/code] 提示"
+"一个角度,以及 [code]\"hide_slider\"[/code] 隐藏滑块。"
+
+msgid ""
+"Hints that an [int] or [String] property is an enumerated value to pick in a "
+"list specified via a hint string.\n"
+"The hint string is a comma separated list of names such as [code]\"Hello,"
+"Something,Else\"[/code]. Whitespaces are [b]not[/b] removed from either end "
+"of a name. For integer properties, the first name in the list has value 0, "
+"the next 1, and so on. Explicit values can also be specified by appending "
+"[code]:integer[/code] to the name, e.g. [code]\"Zero,One,Three:3,Four,"
+"Six:6\"[/code]."
+msgstr ""
+"提示 [int] 或 [String] 属性是枚举值,可通过提示字符串在指定的列表中选取。\n"
+"该提示字符串是逗号分隔的名称列表,例如 [code]\"Hello,Something,Else\"[/"
+"code]。 [b]不会[/b]从名称的任何一端删除空格。对于整数属性,列表中的第一个名称"
+"的值为 0,下一个名称的值为 1,依此类推。也可以通过将 [code]:integer[/code] 附"
+"加到名称来显式指定值,例如 [code]\"Zero,One,Three:3,Four,Six:6\"[/code]。"
+
+msgid ""
+"Hints that a [String] property can be an enumerated value to pick in a list "
+"specified via a hint string such as [code]\"Hello,Something,Else\"[/code].\n"
+"Unlike [constant PROPERTY_HINT_ENUM], a property with this hint still "
+"accepts arbitrary values and can be empty. The list of values serves to "
+"suggest possible values."
+msgstr ""
+"提示 [String] 属性为枚举值,可以通过提示字符串在指定的列表中选取,例如 "
+"[code]\"Hello,Something,Else\"[/code]。\n"
+"与 [constant PROPERTY_HINT_ENUM] 不同,具有该提示的属性仍然接受任意值并且可以"
+"为空。值列表用于建议可能的值。"
+
+msgid ""
+"Hints that a [float] property should be edited via an exponential easing "
+"function. The hint string can include [code]\"attenuation\"[/code] to flip "
+"the curve horizontally and/or [code]\"positive_only\"[/code] to exclude in/"
+"out easing and limit values to be greater than or equal to zero."
+msgstr ""
+"提示应通过指数缓动函数编辑 [float] 属性。提示字符串可以包括 "
+"[code]\"attenuation\"[/code] 以水平翻转曲线,和/或 [code]\"positive_only\"[/"
+"code] 以排除 in/out 缓动并限制值大于或等于零。"
+
+msgid ""
"Hints that a vector property should allow its components to be linked. For "
"example, this allows [member Vector2.x] and [member Vector2.y] to be edited "
"together."
@@ -2077,6 +4598,30 @@ msgstr ""
"Vector2.y] 被一起编辑。"
msgid ""
+"Hints that an [int] property is a bitmask with named bit flags.\n"
+"The hint string is a comma separated list of names such as [code]\"Bit0,Bit1,"
+"Bit2,Bit3\"[/code]. Whitespaces are [b]not[/b] removed from either end of a "
+"name. The first name in the list has value 1, the next 2, then 4, 8, 16 and "
+"so on. Explicit values can also be specified by appending [code]:integer[/"
+"code] to the name, e.g. [code]\"A:4,B:8,C:16\"[/code]. You can also combine "
+"several flags ([code]\"A:4,B:8,AB:12,C:16\"[/code]).\n"
+"[b]Note:[/b] A flag value must be at least [code]1[/code] and at most "
+"[code]2 ** 32 - 1[/code].\n"
+"[b]Note:[/b] Unlike [constant PROPERTY_HINT_ENUM], the previous explicit "
+"value is not taken into account. For the hint [code]\"A:16,B,C\"[/code], A "
+"is 16, B is 2, C is 4."
+msgstr ""
+"提示 [int] 属性为位掩码,位标志拥有名称。\n"
+"提示字符串为逗号分隔的名称列表,例如 [code]\"Bit0,Bit1,Bit2,Bit3\"[/code]。名"
+"称两端的空白字符[b]不会[/b]被移除。列表中的第一个名称的值为 1、然后是 2、接下"
+"来就是 4、8、16 等值。也可以通过在名称后加上 [code]:整数[/code] 来指定显式的"
+"值,例如 [code]\"A:4,B:8,C:16\"[/code]。你还可以对标志进行组合([code]\"A:4,"
+"B:8,AB:12,C:16\"[/code])。\n"
+"[b]注意:[/b]标志值最多为 [code]1[/code],最多为 [code]2 ** 32 - 1[/code]。\n"
+"[b]注意:[/b]与 [constant PROPERTY_HINT_ENUM] 不同,不会考虑前一个显式值。如"
+"果提示为 [code]\"A:16,B,C\"[/code],则 A 为 16、B 为 2、C 为 4。"
+
+msgid ""
"Hints that an [int] property is a bitmask using the optionally named 2D "
"render layers."
msgstr "提示 [int] 属性为位掩码,表示可命名的 2D 渲染层。"
@@ -2137,6 +4682,15 @@ msgstr ""
"的文件对话框。"
msgid ""
+"Hints that a property is an instance of a [Resource]-derived type, "
+"optionally specified via the hint string (e.g. [code]\"Texture2D\"[/code]). "
+"Editing it will show a popup menu of valid resource types to instantiate."
+msgstr ""
+"提示属性是 [Resource] 派生类型的实例,可通过提示字符串指定(例如 "
+"[code]\"Texture2D\"[/code])。 编辑该属性会显示一个有效资源类型的弹出菜单用以"
+"实例化。"
+
+msgid ""
"Hints that a [String] property is text with line breaks. Editing it will "
"show a text input field where line breaks can be typed."
msgstr ""
@@ -2152,6 +4706,57 @@ msgstr ""
"提示 [String] 属性在为空时应当显示占位文本。提示字符串为所使用的占位文本。"
msgid ""
+"Hints that a [Color] property should be edited without affecting its "
+"transparency ([member Color.a] is not editable)."
+msgstr ""
+"提示一个 [Color] 属性在编辑时不能影响其透明度([member Color.a] 不可编辑)。"
+
+msgid ""
+"Hint that a property represents a particular type. If a property is "
+"[constant TYPE_STRING], allows to set a type from the create dialog. If you "
+"need to create an [Array] to contain elements of a specific type, the "
+"[code]hint_string[/code] must encode nested types using [code]\":\"[/code] "
+"and [code]\"/\"[/code] for specifying [Resource] types. For instance:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # Array of integers.\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # Two-dimensional array "
+"of floats.\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # Array of "
+"resources.\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# Two-dimensional array of resources.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] The final colon is required for properly detecting built-in "
+"types."
+msgstr ""
+"提示一个属性代表特定的类型。如果属性为 [constant TYPE_STRING],则可以通过创建"
+"对话框设置其类型。如果你需要创建一个 [Array] 来放置特定类型的元素,则 "
+"[code]hint_string[/code] 必须使用 [code]\":\"[/code] 来编码嵌套类型,使用 "
+"[code]\"/\"[/code] 来指定 [Resource] 类型。例如:\n"
+"[codeblock]\n"
+"hint_string = \"%s:\" % [TYPE_INT] # 整数数组。\n"
+"hint_string = \"%s:%s:\" % [TYPE_ARRAY, TYPE_REAL] # 浮点数二维数组。\n"
+"hint_string = \"%s/%s:Resource\" % [TYPE_OBJECT, TYPE_OBJECT] # 资源数组。\n"
+"hint_string = \"%s:%s/%s:Resource\" % [TYPE_ARRAY, TYPE_OBJECT, TYPE_OBJECT] "
+"# 资源二维数组。\n"
+"[/codeblock]\n"
+"[b]注意:[/b]最后的冒号是必须的,否则无法正确检测内置类型。"
+
+msgid ""
+"Hints that a string property is a locale code. Editing it will show a locale "
+"dialog for picking language and country."
+msgstr ""
+"提示一个字符串属性是一个区域设置代码。编辑它将显示一个用于选择语言和地区的区"
+"域设置对话框。"
+
+msgid ""
+"Hints that a dictionary property is string translation map. Dictionary keys "
+"are locale codes and, values are translated strings."
+msgstr ""
+"提示一个字典属性是字符串翻译映射。字典的键是区域设置代码,值是翻译后的字符"
+"串。"
+
+msgid ""
"Hints that a quaternion property should disable the temporary euler editor."
msgstr "提示四元数属性应当禁用临时欧拉值编辑器。"
@@ -2160,15 +4765,36 @@ msgid ""
"with the secret character."
msgstr "提示字符串属性为密码,每一个字符都会被替换为秘密字符。"
+msgid ""
+"The property is not stored, and does not display in the editor. This is the "
+"default for non-exported properties."
+msgstr "该属性不被存储,也不会显示在编辑器中。这是非导出属性的默认值。"
+
msgid "The property is serialized and saved in the scene file (default)."
msgstr "将属性序列化并保存到场景文件中(默认)。"
+msgid "The property is shown in the [EditorInspector] (default)."
+msgstr "该属性将被显示在 [EditorInspector](默认)中。"
+
+msgid "The property can be checked in the [EditorInspector]."
+msgstr "该属性可以在 [EditorInspector] 中被勾选。"
+
+msgid "The property is checked in the [EditorInspector]."
+msgstr "该属性在 [EditorInspector] 中已被勾选。"
+
msgid "Used to group properties together in the editor. See [EditorInspector]."
-msgstr "在编辑器中用于为属性分组。见 [EditorInspector]。"
+msgstr "用于在编辑器中将属性编组在一起。请参阅 [EditorInspector]。"
msgid "Used to categorize properties together in the editor."
msgstr "在编辑器中用于为属性分类。"
+msgid ""
+"Used to group properties together in the editor in a subgroup (under a "
+"group). See [EditorInspector]."
+msgstr ""
+"用于在子组(一个组下)中将编辑器中的属性编组在一起。请参阅 "
+"[EditorInspector]。"
+
msgid "The property does not save its state in [PackedScene]."
msgstr "该属性不在 [PackedScene] 中保存其状态。"
@@ -2180,6 +4806,29 @@ msgid ""
"the scene file."
msgstr "该属性是一个脚本变量,应该被序列化并保存在场景文件中。"
+msgid "The property is an array."
+msgstr "该属性为数组。"
+
+msgid ""
+"When duplicating a resource with [method Resource.duplicate], and this flag "
+"is set on a property of that resource, the property should always be "
+"duplicated, regardless of the [code]subresources[/code] bool parameter."
+msgstr ""
+"当创建一个带有 [method Resource.duplicate] 的 Resource,并且它的标志是在一个 "
+"Resource 的属性上设置的副本时候,无论 [code]subresources[/code] 为多少,该属"
+"性永远都会被创建为副本。"
+
+msgid ""
+"When duplicating a resource with [method Resource.duplicate], and this flag "
+"is set on a property of that resource, the property should never be "
+"duplicated, regardless of the [code]subresources[/code] bool parameter."
+msgstr ""
+"使用 [method Resource.duplicate] 复制资源时,如果该资源的某个属性上设有这个标"
+"志,则不会对该属性进行复制,无视 [code]subresources[/code] 布尔型参数。"
+
+msgid "The property is read-only in the [EditorInspector]."
+msgstr "该属性在 [EditorInspector] 中只读。"
+
msgid "Default usage (storage, editor and network)."
msgstr "默认用法(存储、编辑器和网络)。"
@@ -2200,6 +4849,22 @@ msgstr "常量方法的标志。"
msgid "Flag for a virtual method."
msgstr "虚方法的标志。"
+msgid "Flag for a method with a variable number of arguments."
+msgstr "具有可变数量参数的方法的标志。"
+
+msgid "Flag for a static method."
+msgstr "静态方法的标志。"
+
+msgid ""
+"Used internally. Allows to not dump core virtual methods (such as [method "
+"Object._notification]) to the JSON API."
+msgstr ""
+"内部使用。允许不将核心虚拟方法(例如 [method Object._notification])转储到 "
+"JSON API。"
+
+msgid "Default method flags (normal)."
+msgstr "默认方法标志(正常)。"
+
msgid "Variable is [code]null[/code]."
msgstr "变量为 [code]null[/code]。"
@@ -2209,56 +4874,119 @@ msgstr "变量类型为 [bool]。"
msgid "Variable is of type [int]."
msgstr "变量类型为 [int]。"
+msgid "Variable is of type [float]."
+msgstr "变量的类型为 [float]。"
+
msgid "Variable is of type [String]."
msgstr "变量类型为 [String]。"
msgid "Variable is of type [Vector2]."
msgstr "变量类型为 [Vector2]。"
+msgid "Variable is of type [Vector2i]."
+msgstr "变量类型为 [Vector2i]。"
+
msgid "Variable is of type [Rect2]."
msgstr "变量类型为 [Rect2]。"
+msgid "Variable is of type [Rect2i]."
+msgstr "变量类型为 [Rect2i]。"
+
msgid "Variable is of type [Vector3]."
msgstr "变量类型为 [Vector3]。"
+msgid "Variable is of type [Vector3i]."
+msgstr "变量类型为 [Vector3i]。"
+
msgid "Variable is of type [Transform2D]."
msgstr "变量类型为 [Transform2D]。"
+msgid "Variable is of type [Vector4]."
+msgstr "变量类型为 [Vector4]。"
+
+msgid "Variable is of type [Vector4i]."
+msgstr "变量类型为 [Vector4i]。"
+
msgid "Variable is of type [Plane]."
msgstr "变量类型为 [Plane]。"
+msgid "Variable is of type [Quaternion]."
+msgstr "变量类型为 [Quaternion]。"
+
msgid "Variable is of type [AABB]."
-msgstr "变量的类型为 [AABB]。"
+msgstr "变量类型为 [AABB]。"
msgid "Variable is of type [Basis]."
-msgstr "变量的类型为 [Basis]。"
+msgstr "变量类型为 [Basis]。"
+
+msgid "Variable is of type [Transform3D]."
+msgstr "变量类型为 [Transform3D]。"
+
+msgid "Variable is of type [Projection]."
+msgstr "变量类型为 [Projection]。"
msgid "Variable is of type [Color]."
-msgstr "变量的类型为 [Color]。"
+msgstr "变量类型为 [Color]。"
+
+msgid "Variable is of type [StringName]."
+msgstr "变量类型为 [StringName]。"
msgid "Variable is of type [NodePath]."
-msgstr "变量的类型为 [NodePath]。"
+msgstr "变量类型为 [NodePath]。"
msgid "Variable is of type [RID]."
-msgstr "变量的类型为 [RID]。"
+msgstr "变量类型为 [RID]。"
msgid "Variable is of type [Object]."
-msgstr "变量的类型为 [Object]。"
+msgstr "变量类型为 [Object]。"
+
+msgid "Variable is of type [Callable]."
+msgstr "变量类型为 [Callable]。"
+
+msgid "Variable is of type [Signal]."
+msgstr "变量类型为 [Signal]。"
msgid "Variable is of type [Dictionary]."
-msgstr "变量的类型为 [Dictionary]。"
+msgstr "变量类型为 [Dictionary]。"
msgid "Variable is of type [Array]."
-msgstr "变量的类型为 [Array]。"
+msgstr "变量类型为 [Array]。"
+
+msgid "Variable is of type [PackedByteArray]."
+msgstr "变量类型为 [PackedByteArray]。"
+
+msgid "Variable is of type [PackedInt32Array]."
+msgstr "变量类型为 [PackedInt32Array]。"
+
+msgid "Variable is of type [PackedInt64Array]."
+msgstr "变量类型为 [PackedInt64Array]。"
+
+msgid "Variable is of type [PackedFloat32Array]."
+msgstr "变量类型为 [PackedFloat32Array]。"
+
+msgid "Variable is of type [PackedFloat64Array]."
+msgstr "变量类型为 [PackedFloat64Array]。"
+
+msgid "Variable is of type [PackedStringArray]."
+msgstr "变量类型为 [PackedStringArray]。"
+
+msgid "Variable is of type [PackedVector2Array]."
+msgstr "变量类型为 [PackedVector2Array]。"
+
+msgid "Variable is of type [PackedVector3Array]."
+msgstr "变量类型为 [PackedVector3Array]。"
+
+msgid "Variable is of type [PackedColorArray]."
+msgstr "变量类型为 [PackedColorArray]。"
msgid "Represents the size of the [enum Variant.Type] enum."
-msgstr "表示 [enum Variant.Type] 枚举的大小。"
+msgstr "代表 [enum Variant.Type] 枚举的大小。"
msgid "Equality operator ([code]==[/code])."
-msgstr "等于运算符([code]==[/code])。"
+msgstr "相等运算符([code]==[/code])。"
msgid "Inequality operator ([code]!=[/code])."
-msgstr "不等式运算符([code]!=[/code])。"
+msgstr "不等运算符([code]!=[/code])。"
msgid "Less than operator ([code]<[/code])."
msgstr "小于运算符([code]<[/code])。"
@@ -2270,7 +4998,7 @@ msgid "Greater than operator ([code]>[/code])."
msgstr "大于运算符([code]>[/code])。"
msgid "Greater than or equal operator ([code]>=[/code])."
-msgstr "大于等于运算符([code]> =[/code])。"
+msgstr "大于等于运算符([code]>=[/code])。"
msgid "Addition operator ([code]+[/code])."
msgstr "加法运算符([code]+[/code])。"
@@ -2293,6 +5021,9 @@ msgstr "一元加号运算符([code]+[/code])。"
msgid "Remainder/modulo operator ([code]%[/code])."
msgstr "余数/取模运算符([code]%[/code])。"
+msgid "Power operator ([code]**[/code])."
+msgstr "幂运算符([code]**[/code])。"
+
msgid "Left shift operator ([code]<<[/code])."
msgstr "左移运算符([code]<<[/code])。"
@@ -2327,17 +5058,43 @@ msgid "Logical IN operator ([code]in[/code])."
msgstr "逻辑 IN 运算符([code]in[/code])。"
msgid "Represents the size of the [enum Variant.Operator] enum."
-msgstr "表示 [enum Variant.Operator] 枚举的大小。"
+msgstr "代表 [enum Variant.Operator] 枚举的大小。"
msgid "Axis-Aligned Bounding Box."
msgstr "轴对齐包围盒。"
+msgid ""
+"[AABB] consists of a position, a size, and several utility functions. It is "
+"typically used for fast overlap tests.\n"
+"It uses floating-point coordinates. The 2D counterpart to [AABB] is "
+"[Rect2].\n"
+"Negative values for [member size] are not supported and will not work for "
+"most methods. Use [method abs] to get an AABB with a positive size.\n"
+"[b]Note:[/b] Unlike [Rect2], [AABB] does not have a variant that uses "
+"integer coordinates."
+msgstr ""
+"[AABB] 由一个位置、一个大小和若干实用函数组成。通常用于快速重叠测试。\n"
+"它使用浮点坐标。[AABB] 的 2D 对应物为 [Rect2]。\n"
+"不支持负的 [member size],并且不适用于大多数方法。使用 [method abs] 获得具有"
+"正尺寸的 AABB。\n"
+"[b]注意:[/b]与 [Rect2] 不同,[AABB] 没有使用整数坐标的变体。"
+
+msgid "Math documentation index"
+msgstr "数学文档索引"
+
msgid "Vector math"
msgstr "向量数学"
msgid "Advanced vector math"
msgstr "高等向量数学"
+msgid ""
+"Constructs a default-initialized [AABB] with default (zero) values of "
+"[member position] and [member size]."
+msgstr ""
+"使用 [member position] 和 [member size] 的默认值(零)构造一个默认初始化的 "
+"[AABB]。"
+
msgid "Constructs an [AABB] as a copy of the given [AABB]."
msgstr "构造给定 [AABB] 的副本。"
@@ -2354,6 +5111,43 @@ msgid ""
msgstr "该 [AABB] 完全包含另一个时,返回 [code]true[/code]。"
msgid ""
+"Returns a copy of this [AABB] expanded to include a given point.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# position (-3, 2, 0), size (1, 1, 1)\n"
+"var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))\n"
+"# position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB and "
+"Vector3(0, -1, 2)\n"
+"var box2 = box.expand(Vector3(0, -1, 2))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// position (-3, 2, 0), size (1, 1, 1)\n"
+"var box = new Aabb(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));\n"
+"// position (-3, -1, 0), size (3, 4, 2), so we fit both the original AABB "
+"and Vector3(0, -1, 2)\n"
+"var box2 = box.Expand(new Vector3(0, -1, 2));\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回该 [AABB] 的副本,该副本扩展至包含给出的点。\n"
+"[b]例子:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 位置 (-3, 2, 0),大小 (1, 1, 1)\n"
+"var box = AABB(Vector3(-3, 2, 0), Vector3(1, 1, 1))\n"
+"# 位置 (-3, -1, 0),大小 (3, 4, 2),包含原来的 AABB 和 Vector3(0, -1, 2)\n"
+"var box2 = box.expand(Vector3(0, -1, 2))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 位置 (-3, 2, 0),大小 (1, 1, 1)\n"
+"var box = new Aabb(new Vector3(-3, 2, 0), new Vector3(1, 1, 1));\n"
+"// 位置 (-3, -1, 0),大小 (3, 4, 2),包含原来的 AABB 和 Vector3(0, -1, 2)\n"
+"var box2 = box.Expand(new Vector3(0, -1, 2));\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Returns the center of the [AABB], which is equal to [member position] + "
"([member size] / 2)."
msgstr "返回该 [AABB] 的中心点,等于 [member position] + ([member size] / 2)。"
@@ -2393,6 +5187,46 @@ msgstr "返回指定方向上的支持点。常用于碰撞检测算法。"
msgid "Returns the volume of the [AABB]."
msgstr "返回该 [AABB] 的体积。"
+msgid ""
+"Returns a copy of the [AABB] grown a given number of units towards all the "
+"sides."
+msgstr "返回 [AABB] 的副本,该副本向所有方向增长了给定数量的单位。"
+
+msgid ""
+"Returns [code]true[/code] if the [AABB] contains a point. Points on the "
+"faces of the AABB are considered included, though float-point precision "
+"errors may impact the accuracy of such checks.\n"
+"[b]Note:[/b] This method is not reliable for [AABB] with a [i]negative size[/"
+"i]. Use [method abs] to get a positive sized equivalent [AABB] to check for "
+"contained points."
+msgstr ""
+"如果 [AABB] 包含点,则返回 [code]true[/code]。AABB 表面上的点被视为包括在内,"
+"但浮点精度误差可能会影响此类检测的准确性。\n"
+"[b]注意:[/b]这种方法对于具有[i]负尺寸[/i]的 [AABB] 是不可靠的。使用 [method "
+"abs] 获得一个正尺寸的等效 [AABB] 在检查是否包含点。"
+
+msgid ""
+"Returns [code]true[/code] if the [AABB] has a surface or a length, and "
+"[code]false[/code] if the [AABB] is empty (all components of [member size] "
+"are zero or negative)."
+msgstr ""
+"如果 [AABB] 具有表面或长度,则返回 [code]true[/code];如果 [AABB] 为空"
+"([member size] 的所有分量为零或负),则返回 [code]false[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the [AABB] has a volume, and [code]false[/code] "
+"if the [AABB] is flat, empty, or has a negative [member size]."
+msgstr ""
+"如果 [AABB] 有体积,则返回 [code]true[/code];如果 [AABB] 是扁平的、空的或具"
+"有负的 [member size],则返回 [code]false[/code]。"
+
+msgid ""
+"Returns the intersection between two [AABB]. An empty AABB (size [code](0, "
+"0, 0)[/code]) is returned on failure."
+msgstr ""
+"返回两个 [AABB] 的交叠区域。失败时返回空的 AABB(大小为 [code](0, 0, 0)[/"
+"code])。"
+
msgid "Returns [code]true[/code] if the [AABB] overlaps with another."
msgstr "该 [AABB] 与另一个交叠时,返回 [code]true[/code]。"
@@ -2400,6 +5234,37 @@ msgid "Returns [code]true[/code] if the [AABB] is on both sides of a plane."
msgstr "该 [AABB] 同时位于指定平面的两边时,返回 [code]true[/code]。"
msgid ""
+"Returns [code]true[/code] if the given ray intersects with this [AABB]. Ray "
+"length is infinite."
+msgstr ""
+"如果给定的射线与此 [AABB] 相交,则返回 [code]true[/code]。射线长度是无限的。"
+
+msgid ""
+"Returns [code]true[/code] if the [AABB] intersects the line segment between "
+"[param from] and [param to]."
+msgstr ""
+"如果该 [AABB] 与 [param from] 和 [param to] 之间的线段相交,则返回 "
+"[code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if this [AABB] and [param aabb] are approximately "
+"equal, by calling [method @GlobalScope.is_equal_approx] on each component."
+msgstr ""
+"如果该 [AABB] 和 [param aabb] 近似相等,则返回 [code]true[/code],通过在每个"
+"分量上调用 [method @GlobalScope.is_equal_approx]。"
+
+msgid ""
+"Returns [code]true[/code] if this [AABB] is finite, by calling [method "
+"@GlobalScope.is_finite] on each component."
+msgstr ""
+"如果该 [AABB] 是有限的,则返回 [code]true[/code],方法是在每个分量上调用 "
+"[method @GlobalScope.is_finite]。"
+
+msgid ""
+"Returns a larger [AABB] that contains both this [AABB] and [param with]."
+msgstr "返回同时包含该 [AABB] 和 [param with] 的更大的 [AABB]。"
+
+msgid ""
"Ending corner. This is calculated as [code]position + size[/code]. Setting "
"this value will change the size."
msgstr ""
@@ -2413,9 +5278,30 @@ msgid ""
"positive.\n"
"If the size is negative, you can use [method abs] to fix it."
msgstr ""
-"从[member position] 到 [member end] 的大小。通常所有分量都是正数。\n"
+"从 [member position] 到 [member end] 的大小。通常所有分量都是正数。\n"
"如果大小为负,可以用 [method abs] 修正。"
+msgid ""
+"Returns [code]true[/code] if the vectors are not equal.\n"
+"[b]Note:[/b] Due to floating-point precision errors, consider using [method "
+"is_equal_approx] instead, which is more reliable."
+msgstr ""
+"如果向量不相等,则返回 [code]true[/code]。\n"
+"[b]注意:[/b]由于浮点精度误差,考虑改用更可靠的 [method is_equal_approx]。"
+
+msgid ""
+"Inversely transforms (multiplies) the [AABB] by the given [Transform3D] "
+"transformation matrix."
+msgstr "通过给定的 [Transform3D] 变换矩阵对该 [AABB] 进行逆变换(相乘)。"
+
+msgid ""
+"Returns [code]true[/code] if the AABBs are exactly equal.\n"
+"[b]Note:[/b] Due to floating-point precision errors, consider using [method "
+"is_equal_approx] instead, which is more reliable."
+msgstr ""
+"如果 AABB 完全相等,则返回 [code]true[/code]。\n"
+"[b]注意:[/b]由于浮点精度误差,考虑改用更可靠的 [method is_equal_approx]。"
+
msgid "Base dialog for user notification."
msgstr "用户通知的基本对话框。"
@@ -2423,10 +5309,35 @@ msgid ""
"This dialog is useful for small notifications to the user about an event. It "
"can only be accepted or closed, with the same result."
msgstr ""
-"该对话框对于向用户发送有关事件的小通知很有用。它只能被接受或关闭,并且结果相"
+"该对话框对于向用户发送有关事件的小通知很有用。它只能被接受或关闭,并且结果相"
"同。"
msgid ""
+"Adds a button with label [param text] and a custom [param action] to the "
+"dialog and returns the created button. [param action] will be passed to the "
+"[signal custom_action] signal when pressed.\n"
+"If [code]true[/code], [param right] will place the button to the right of "
+"any sibling buttons.\n"
+"You can use [method remove_button] method to remove a button created with "
+"this method from the dialog."
+msgstr ""
+"将带有标签 [param text] 和自定义 [param action] 的按钮添加到对话框,并返回该"
+"创建的按钮。[param action] 将在按钮被按下时传递给 [signal custom_action] 信"
+"号。\n"
+"如果 [param right] 为 [code]true[/code],按钮会被放置在所有同级按钮的右侧。\n"
+"您可以使用 [method remove_button] 方法从对话框中移除使用该方法创建的按钮。"
+
+msgid ""
+"Adds a button with label [param name] and a cancel action to the dialog and "
+"returns the created button.\n"
+"You can use [method remove_button] method to remove a button created with "
+"this method from the dialog."
+msgstr ""
+"在对话框中添加一个带有标签 [param name] 和取消动作的按钮,并返回创建的按"
+"钮。\n"
+"你可以使用 [method remove_button] 方法从对话框中删除用此方法创建的按钮。"
+
+msgid ""
"Returns the label used for built-in text.\n"
"[b]Warning:[/b] This is a required internal node, removing and freeing it "
"may cause a crash. If you wish to hide it or any of its children, use their "
@@ -2451,10 +5362,29 @@ msgid ""
"dialog will be accepted."
msgstr "在对话框中注册 [LineEdit]。当按下回车键时,对话框将被接受。"
+msgid ""
+"Removes the [param button] from the dialog. Does NOT free the [param "
+"button]. The [param button] must be a [Button] added with [method "
+"add_button] or [method add_cancel_button] method. After removal, pressing "
+"the [param button] will no longer emit this dialog's [signal custom_action] "
+"or [signal canceled] signals."
+msgstr ""
+"从对话框中移除 [param button]。但不释放该 [param button] 对象。[param "
+"button] 必须是用 [method add_button] 或 [method add_cancel] 方法添加的 "
+"[Button]。移除后,按下该 [param button] 将不再发出该对话框的 [signal "
+"custom_action] 或 [signal canceled] 信号。"
+
msgid "Sets autowrapping for the text in the dialog."
msgstr "为对话框中的文本设置自动换行。"
msgid ""
+"If [code]true[/code], the dialog will be hidden when the escape key "
+"([constant KEY_ESCAPE]) is pressed."
+msgstr ""
+"如果为 [code]true[/code],当按下退出键([constant KEY_ESCAPE])时,对话框将被"
+"隐藏。"
+
+msgid ""
"If [code]true[/code], the dialog is hidden when the OK button is pressed. "
"You can set it to [code]false[/code] if you want to do e.g. input validation "
"when receiving the [signal confirmed] signal, and handle hiding the dialog "
@@ -2477,15 +5407,184 @@ msgstr ""
msgid "The text displayed by the dialog."
msgstr "对话框显示的文本。"
+msgid "The text displayed by the OK button (see [method get_ok_button])."
+msgstr "确定按钮(参见 [method get_ok_button])显示的文本。"
+
+msgid ""
+"Emitted when the dialog is closed or the button created with [method "
+"add_cancel_button] is pressed."
+msgstr "当对话框关闭或按下 [method add_cancel_button] 创建的按钮时发出。"
+
msgid "Emitted when the dialog is accepted, i.e. the OK button is pressed."
msgstr "接受对话框时,即按下确定按钮时发出。"
msgid "Emitted when a custom button is pressed. See [method add_button]."
msgstr "按下自定义按钮时发出。见 [method add_button]。"
+msgid ""
+"The size of the vertical space between the dialog's content and the button "
+"row."
+msgstr "对话框内容和按钮行之间的垂直空间的大小。"
+
+msgid "The panel that fills the background of the window."
+msgstr "填充窗口背景的面板。"
+
msgid "Interface to low level AES encryption features."
msgstr "底层 AES 加密功能接口。"
+msgid ""
+"This class provides access to AES encryption/decryption of raw data. Both "
+"AES-ECB and AES-CBC mode are supported.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"extends Node\n"
+"\n"
+"var aes = AESContext.new()\n"
+"\n"
+"func _ready():\n"
+" var key = \"My secret key!!!\" # Key must be either 16 or 32 bytes.\n"
+" var data = \"My secret text!!\" # Data size must be multiple of 16 "
+"bytes, apply padding if needed.\n"
+" # Encrypt ECB\n"
+" aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8())\n"
+" var encrypted = aes.update(data.to_utf8())\n"
+" aes.finish()\n"
+" # Decrypt ECB\n"
+" aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8())\n"
+" var decrypted = aes.update(encrypted)\n"
+" aes.finish()\n"
+" # Check ECB\n"
+" assert(decrypted == data.to_utf8())\n"
+"\n"
+" var iv = \"My secret iv!!!!\" # IV must be of exactly 16 bytes.\n"
+" # Encrypt CBC\n"
+" aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8(), iv.to_utf8())\n"
+" encrypted = aes.update(data.to_utf8())\n"
+" aes.finish()\n"
+" # Decrypt CBC\n"
+" aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8(), iv.to_utf8())\n"
+" decrypted = aes.update(encrypted)\n"
+" aes.finish()\n"
+" # Check CBC\n"
+" assert(decrypted == data.to_utf8())\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"using System.Diagnostics;\n"
+"\n"
+"public partial class MyNode : Node\n"
+"{\n"
+" private AesContext _aes = new AesContext();\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" string key = \"My secret key!!!\"; // Key must be either 16 or 32 "
+"bytes.\n"
+" string data = \"My secret text!!\"; // Data size must be multiple of "
+"16 bytes, apply padding if needed.\n"
+" // Encrypt ECB\n"
+" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8());\n"
+" byte[] encrypted = _aes.Update(data.ToUtf8());\n"
+" _aes.Finish();\n"
+" // Decrypt ECB\n"
+" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8());\n"
+" byte[] decrypted = _aes.Update(encrypted);\n"
+" _aes.Finish();\n"
+" // Check ECB\n"
+" Debug.Assert(decrypted == data.ToUtf8());\n"
+"\n"
+" string iv = \"My secret iv!!!!\"; // IV must be of exactly 16 "
+"bytes.\n"
+" // Encrypt CBC\n"
+" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8(), iv.ToUtf8());\n"
+" encrypted = _aes.Update(data.ToUtf8());\n"
+" _aes.Finish();\n"
+" // Decrypt CBC\n"
+" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8(), iv.ToUtf8());\n"
+" decrypted = _aes.Update(encrypted);\n"
+" _aes.Finish();\n"
+" // Check CBC\n"
+" Debug.Assert(decrypted == data.ToUtf8());\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"此类提供了对原始数据的 AES 加密/解密的访问。同时支持 AES-ECB 和 AES-CBC 模"
+"式。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"extends Node\n"
+"\n"
+"var aes = AESContext.new()\n"
+"\n"
+"func _ready():\n"
+" var key = \"My secret key!!!\" # 密钥必须是 16 或 32 字节。\n"
+" var data = \"My secret text!!\" # 数据大小必须是 16 字节的倍数,需要时添"
+"加补白。\n"
+" # ECB 加密\n"
+" aes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8())\n"
+" var encrypted = aes.update(data.to_utf8())\n"
+" aes.finish()\n"
+" # ECB 解密\n"
+" aes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8())\n"
+" var decrypted = aes.update(encrypted)\n"
+" aes.finish()\n"
+" # ECB 校验\n"
+" assert(decrypted == data.to_utf8())\n"
+"\n"
+" var iv = \"My secret iv!!!!\" # IV 必须是 16 字节。\n"
+" # CBC 加密\n"
+" aes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8(), iv.to_utf8())\n"
+" encrypted = aes.update(data.to_utf8())\n"
+" aes.finish()\n"
+" # CBC 解密\n"
+" aes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8(), iv.to_utf8())\n"
+" decrypted = aes.update(encrypted)\n"
+" aes.finish()\n"
+" # CBC 校验\n"
+" assert(decrypted == data.to_utf8())\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"using System.Diagnostics;\n"
+"\n"
+"public partial class MyNode : Node\n"
+"{\n"
+" private AesContext _aes = new AesContext();\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" string key = \"My secret key!!!\"; // 密钥必须是 16 或 32 字节。\n"
+" string data = \"My secret text!!\"; // 数据大小必须是 16 字节的倍数,"
+"需要时添加补白。\n"
+" // ECB 加密\n"
+" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8());\n"
+" byte[] encrypted = _aes.Update(data.ToUtf8());\n"
+" _aes.Finish();\n"
+" // ECB 解密\n"
+" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8());\n"
+" byte[] decrypted = _aes.Update(encrypted);\n"
+" _aes.Finish();\n"
+" // ECB 校验\n"
+" Debug.Assert(decrypted == data.ToUtf8());\n"
+"\n"
+" string iv = \"My secret iv!!!!\"; // IV 必须是 16 字节。\n"
+" // CBC 加密\n"
+" _aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8(), iv.ToUtf8());\n"
+" encrypted = _aes.Update(data.ToUtf8());\n"
+" _aes.Finish();\n"
+" // CBC 解密\n"
+" _aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8(), iv.ToUtf8());\n"
+" decrypted = _aes.Update(encrypted);\n"
+" _aes.Finish();\n"
+" // CBC 校验\n"
+" Debug.Assert(decrypted == data.ToUtf8());\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
msgid "Close this AES context so it can be started again. See [method start]."
msgstr "关闭此 AES 上下文,以便可以再次启动它。见 [method start]。"
@@ -2500,6 +5599,27 @@ msgstr ""
"[b]注意:[/b]仅当上下文以 [constant MODE_CBC_ENCRYPT] 或 [constant "
"MODE_CBC_DECRYPT] 开头时,此函数才有意义。"
+msgid ""
+"Start the AES context in the given [param mode]. A [param key] of either 16 "
+"or 32 bytes must always be provided, while an [param iv] (initialization "
+"vector) of exactly 16 bytes, is only needed when [param mode] is either "
+"[constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT]."
+msgstr ""
+"在给定的 [param mode] 中启动 AES 上下文。必须始终提供 16 或 32 字节的 [param "
+"key],而仅当 [param mode] 为 [constant MODE_CBC_ENCRYPT] 或 [constant "
+"MODE_CBC_DECRYPT] 时,才需要正好为 16 字节的 [param iv](初始化向量)。"
+
+msgid ""
+"Run the desired operation for this AES context. Will return a "
+"[PackedByteArray] containing the result of encrypting (or decrypting) the "
+"given [param src]. See [method start] for mode of operation.\n"
+"[b]Note:[/b] The size of [param src] must be a multiple of 16. Apply some "
+"padding if needed."
+msgstr ""
+"运行此 AES 上下文所需的操作。将返回包含加密(或解密)给定 [param src] 结果的 "
+"[PackedByteArray] 。有关操作模式,请参阅 [method start]。\n"
+"[b]注意:[/b][param src] 的大小必须是 16 倍的倍数。如果需要,应用一些填充。"
+
msgid "AES electronic codebook encryption mode."
msgstr "AES 电子密码簿加密模式。"
@@ -2515,6 +5635,73 @@ msgstr "AES 密码封锁器链式解密模式。"
msgid "Maximum value for the mode enum."
msgstr "模式列举的最大值。"
+msgid ""
+"Physics body for 2D physics which moves only by script or animation. Useful "
+"for moving platforms and doors."
+msgstr "用于 2D 物理中仅通过脚本或动画移动的物理实体。适用于移动的平台和门。"
+
+msgid ""
+"Animatable body for 2D physics.\n"
+"An animatable body can't be moved by external forces or contacts, but can be "
+"moved by script or animation to affect other bodies in its path. It is ideal "
+"for implementing moving objects in the environment, such as moving platforms "
+"or doors.\n"
+"When the body is moved manually, either from code or from an "
+"[AnimationPlayer] (with [member AnimationPlayer.playback_process_mode] set "
+"to [code]physics[/code]), the physics will automatically compute an estimate "
+"of their linear and angular velocity. This makes them very useful for moving "
+"platforms or other AnimationPlayer-controlled objects (like a door, a bridge "
+"that opens, etc)."
+msgstr ""
+"用于 2D 物理的可动画化实体。\n"
+"可动画化实体无法通过外力或接触移动,但可以通过脚本或动画移动以影响其路径中的"
+"其他实体。它非常适合实现移动环境中的对象,例如移动的平台或门。\n"
+"当实体通过代码或 [AnimationPlayer](将 [member AnimationPlayer."
+"playback_process_mode] 设置为 [code]physics[/code])手动移动时,物理将自动计"
+"算其线速度和角速度的估计值。这使得它们对于移动的平台或其他 AnimationPlayer 控"
+"制的对象(如门、打开的桥等)非常有用。"
+
+msgid ""
+"If [code]true[/code], the body's movement will be synchronized to the "
+"physics frame. This is useful when animating movement via [AnimationPlayer], "
+"for example on moving platforms. Do [b]not[/b] use together with [method "
+"PhysicsBody2D.move_and_collide]."
+msgstr ""
+"如果为 [code]true[/code],则物体的运动将与物理帧同步。当通过 "
+"[AnimationPlayer] 为运动设置动画时,例如在移动的平台上,这个功能很有用。[b]不"
+"要[/b]与[method PhysicsBody2D.move_and_collide]一起使用。"
+
+msgid ""
+"Physics body for 3D physics which moves only by script or animation. Useful "
+"for moving platforms and doors."
+msgstr "仅通过脚本或动画移动、用于3D 物理的物理体。适用于移动的平台和门。"
+
+msgid ""
+"Animatable body for 3D physics.\n"
+"An animatable body can't be moved by external forces or contacts, but can be "
+"moved by script or animation to affect other bodies in its path. It is ideal "
+"for implementing moving objects in the environment, such as moving platforms "
+"or doors.\n"
+"When the body is moved manually, either from code or from an "
+"[AnimationPlayer] (with [member AnimationPlayer.playback_process_mode] set "
+"to [code]physics[/code]), the physics will automatically compute an estimate "
+"of their linear and angular velocity. This makes them very useful for moving "
+"platforms or other AnimationPlayer-controlled objects (like a door, a bridge "
+"that opens, etc).\n"
+"[b]Warning:[/b] With a non-uniform scale this node will probably not "
+"function as expected. Please make sure to keep its scale uniform (i.e. the "
+"same on all axes), and change the size(s) of its collision shape(s) instead."
+msgstr ""
+"用于 3D 物理的可动画实体。\n"
+"可动画的实体不能被外力或接触移动,但可以被脚本或动画移动以影响其路径中的其他"
+"实体。它非常适合在环境中实现移动的实体,例如移动的平台或门。\n"
+"当通过代码或 [AnimationPlayer]([member AnimationPlayer."
+"playback_process_mode] 被设置为 [code]physics[/code])手动移动实体时,物理将"
+"自动计算其线速度和角速度的估计值。这使得它们对于移动的平台或其他 "
+"AnimationPlayer 控制的对象(如门、打开的桥等)非常有用。\n"
+"[b]警告:[/b]如果缩放比例不均匀,此节点可能无法按预期运行。请确保保持其比例统"
+"一(即在所有轴上相同),并改为更改其碰撞形状的大小。"
+
msgid "3D Physics Tests Demo"
msgstr "3D 物理测试演示"
@@ -2525,8 +5712,30 @@ msgid "3D Voxel Demo"
msgstr "3D 体素演示"
msgid ""
+"If [code]true[/code], the body's movement will be synchronized to the "
+"physics frame. This is useful when animating movement via [AnimationPlayer], "
+"for example on moving platforms. Do [b]not[/b] use together with [method "
+"PhysicsBody3D.move_and_collide]."
+msgstr ""
+"如果为 [code]true[/code],则实体的运动将与物理帧同步。当通过 "
+"[AnimationPlayer] 为运动设置动画时,例如在移动的平台上,这个功能很有用。请[b]"
+"不要[/b]与 [method PhysicsBody3D.move_and_collide] 函数一起使用。"
+
+msgid ""
"Sprite node that contains multiple textures as frames to play for animation."
-msgstr "可以使用多个纹理进行动画处理的精灵节点。"
+msgstr "包含多个纹理作为动画播放帧的 Sprite 节点。"
+
+msgid ""
+"[AnimatedSprite2D] is similar to the [Sprite2D] node, except it carries "
+"multiple textures as animation frames. Animations are created using a "
+"[SpriteFrames] resource, which allows you to import image files (or a folder "
+"containing said files) to provide the animation frames for the sprite. The "
+"[SpriteFrames] resource can be configured in the editor via the SpriteFrames "
+"bottom panel."
+msgstr ""
+"[AnimatedSprite2D] 与 [Sprite2D] 节点类似,但是包含多张纹理,可用作动画帧。动"
+"画使用 [SpriteFrames] 资源创建,可以导入图像文件(或包含此类文件的文件夹)为"
+"该精灵提供动画帧。可以在编辑器的“动画帧”底部面板中配置 [SpriteFrames] 资源。"
msgid "2D Sprite animation"
msgstr "2D 精灵动画"
@@ -2534,6 +5743,111 @@ msgstr "2D 精灵动画"
msgid "2D Dodge The Creeps Demo"
msgstr "2D Dodge The Creeps 演示"
+msgid ""
+"Returns the actual playing speed of current animation or [code]0[/code] if "
+"not playing. This speed is the [member speed_scale] property multiplied by "
+"[code]custom_speed[/code] argument specified when calling the [method play] "
+"method.\n"
+"Returns a negative value if the current animation is playing backwards."
+msgstr ""
+"返回当前动画的实际播放速度,未播放时则为 [code]0[/code]。这个速度是 [member "
+"speed_scale] 属性乘以调用 [method play] 时指定的 [code]custom_speed[/code] 参"
+"数。\n"
+"如果当前动画是倒放的,则返回负值。"
+
+msgid ""
+"Returns [code]true[/code] if an animation is currently playing (even if "
+"[member speed_scale] and/or [code]custom_speed[/code] are [code]0[/code])."
+msgstr ""
+"如果动画目前正在播放,则返回 [code]true[/code](即便 [member speed_scale] 和/"
+"或 [code]custom_speed[/code] 为 [code]0[/code])。"
+
+msgid ""
+"Pauses the currently playing animation. The [member frame] and [member "
+"frame_progress] will be kept and calling [method play] or [method "
+"play_backwards] without arguments will resume the animation from the current "
+"playback position.\n"
+"See also [method stop]."
+msgstr ""
+"暂停当前正在播放的动画。会保留 [member frame] 和 [member frame_progress],不"
+"带参数调用 [method play] 或 [method play_backwards] 会从当前播放位置恢复播放"
+"该动画。\n"
+"另见 [method stop]。"
+
+msgid ""
+"Plays the animation with key [param name]. If [param custom_speed] is "
+"negative and [param from_end] is [code]true[/code], the animation will play "
+"backwards (which is equivalent to calling [method play_backwards]).\n"
+"If this method is called with that same animation [param name], or with no "
+"[param name] parameter, the assigned animation will resume playing if it was "
+"paused."
+msgstr ""
+"播放名称键为 [param name] 的动画。如果 [param custom_speed] 为负且 [param "
+"from_end] 为 [code]true[/code],则该动画会倒放(等价于 [method "
+"play_backwards])。\n"
+"如果调用这个方法时使用了相同的动画名称 [param name] 或者没有使用 [param "
+"name] 参数,则会继续播放已暂停的分配动画。"
+
+msgid ""
+"Plays the animation with key [param name] in reverse.\n"
+"This method is a shorthand for [method play] with [code]custom_speed = -1.0[/"
+"code] and [code]from_end = true[/code], so see its description for more "
+"information."
+msgstr ""
+"倒放名称键为 [param name] 的动画。\n"
+"这个方法是简写,等价于调用 [method play] 时使用 [code]custom_speed = -1.0[/"
+"code] 和 [code]from_end = true[/code],所以更多信息请参阅其描述。"
+
+msgid ""
+"The setter of [member frame] resets the [member frame_progress] to "
+"[code]0.0[/code] implicitly, but this method avoids that.\n"
+"This is useful when you want to carry over the current [member "
+"frame_progress] to another [member frame].\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Change the animation with keeping the frame index and progress.\n"
+"var current_frame = animated_sprite.get_frame()\n"
+"var current_progress = animated_sprite.get_frame_progress()\n"
+"animated_sprite.play(\"walk_another_skin\")\n"
+"animated_sprite.set_frame_and_progress(current_frame, current_progress)\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+msgstr ""
+"设置 [member frame] 时会隐式将 [member frame_progress] 重置为 [code]0.0[/"
+"code],但这个方法可以避免。\n"
+"如果你想要把当前的 [member frame_progress] 带到其他 [member frame] 中,就会非"
+"常有用。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 更改动画的同时保留帧索引和进度。\n"
+"var current_frame = animated_sprite.get_frame()\n"
+"var current_progress = animated_sprite.get_frame_progress()\n"
+"animated_sprite.play(\"walk_another_skin\")\n"
+"animated_sprite.set_frame_and_progress(current_frame, current_progress)\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+
+msgid ""
+"Stops the currently playing animation. The animation position is reset to "
+"[code]0[/code] and the [code]custom_speed[/code] is reset to [code]1.0[/"
+"code]. See also [method pause]."
+msgstr ""
+"停止当前正在播放的动画。会将动画的位置重置为 [code]0[/code],并将 "
+"[code]custom_speed[/code] 重置为 [code]1.0[/code]。另见 [method pause]。"
+
+msgid ""
+"The current animation from the [member sprite_frames] resource. If this "
+"value is changed, the [member frame] counter and the [member frame_progress] "
+"are reset."
+msgstr ""
+"当前动画,来自 [member sprite_frames]。如果更改了这个值,会重置 [member "
+"frame] 计数和 [member frame_progress]。"
+
+msgid "The key of the animation to play when the scene loads."
+msgstr "场景加载时要播放的动画名称。"
+
msgid "If [code]true[/code], texture will be centered."
msgstr "如果为 [code]true[/code],纹理将被居中。"
@@ -2543,10 +5857,38 @@ msgstr "如果为 [code]true[/code],纹理将被水平翻转。"
msgid "If [code]true[/code], texture is flipped vertically."
msgstr "如果为 [code]true[/code],纹理将被垂直翻转。"
+msgid ""
+"The displayed animation frame's index. Setting this property also resets "
+"[member frame_progress]. If this is not desired, use [method "
+"set_frame_and_progress]."
+msgstr ""
+"所显示动画帧的索引。设置这个属性会重置 [member frame_progress]。如果不希望这"
+"样,请使用 [method set_frame_and_progress]。"
+
+msgid ""
+"The progress value between [code]0.0[/code] and [code]1.0[/code] until the "
+"current frame transitions to the next frame. If the animation is playing "
+"backwards, the value transitions from [code]1.0[/code] to [code]0.0[/code]."
+msgstr ""
+"当前帧过渡到下一帧的进度值,在 [code]0.0[/code] 和 [code]1.0[/code] 之间。如"
+"果动画是倒放的,则该值是从 [code]1.0[/code] 到 [code]0.0[/code]。"
+
msgid "The texture's drawing offset."
msgstr "纹理的绘图偏移量。"
msgid ""
+"The speed scaling ratio. For example, if this value is [code]1[/code], then "
+"the animation plays at normal speed. If it's [code]0.5[/code], then it plays "
+"at half speed. If it's [code]2[/code], then it plays at double speed.\n"
+"If set to a negative value, the animation is played in reverse. If set to "
+"[code]0[/code], the animation will not advance."
+msgstr ""
+"速度缩放比。例如,如果该值为 [code]1[/code],则动画以正常速度播放。如果它是 "
+"[code]0.5[/code],那么它会半速播放。如果是 [code]2[/code],则会以双倍速度播"
+"放。\n"
+"如果设置为负值,则动画反向播放。如果设置为[code]0[/code],则动画不会前进。"
+
+msgid ""
"The [SpriteFrames] resource containing the animation(s). Allows you the "
"option to load, edit, clear, make unique and save the states of the "
"[SpriteFrames] resource."
@@ -2554,18 +5896,74 @@ msgstr ""
"包含动画的 [SpriteFrames] 资源。可以对 [SpriteFrames] 资源进行加载、编辑、清"
"空、唯一化、保存状态等操作。"
+msgid "Emitted when [member animation] changes."
+msgstr "当 [member animation] 更改时发出。"
+
+msgid ""
+"Emitted when the animation reaches the end, or the start if it is played in "
+"reverse. When the animation finishes, it pauses the playback."
+msgstr ""
+"当动画到达结尾时,或者如果反向播放则到达起点时发出。当动画结束时,它会暂停播"
+"放。"
+
+msgid "Emitted when the animation loops."
+msgstr "当动画循环播放时发出。"
+
+msgid "Emitted when [member frame] changes."
+msgstr "[member frame] 更改时发出。"
+
+msgid "Emitted when [member sprite_frames] changes."
+msgstr "当 [member sprite_frames] 更改时发出。"
+
msgid ""
"2D sprite node in 3D world, that can use multiple 2D textures for animation."
msgstr "3D 世界中的 2D 精灵节点,可以使用多个 2D 纹理进行动画处理。"
+msgid ""
+"[AnimatedSprite3D] is similar to the [Sprite3D] node, except it carries "
+"multiple textures as animation [member sprite_frames]. Animations are "
+"created using a [SpriteFrames] resource, which allows you to import image "
+"files (or a folder containing said files) to provide the animation frames "
+"for the sprite. The [SpriteFrames] resource can be configured in the editor "
+"via the SpriteFrames bottom panel."
+msgstr ""
+"[AnimatedSprite3D] 与 [Sprite3D] 节点类似,但是包含多张纹理,可用作动画 "
+"[member sprite_frames]。动画使用 [SpriteFrames] 资源创建,可以导入图像文件"
+"(或包含此类文件的文件夹)为该精灵提供动画帧。可以在编辑器的“动画帧”底部面板"
+"中配置 [SpriteFrames] 资源。"
+
msgid "2D Sprite animation (also applies to 3D)"
msgstr "2D 精灵动画(也适用于 3D)"
msgid "Proxy texture for simple frame-based animations."
-msgstr "基于简单帧动画的代理纹理。"
+msgstr "用于简单帧动画的代理纹理。"
-msgid "Sets the currently visible frame of the texture."
-msgstr "设置纹理当前可见的帧。"
+msgid "Returns the given [param frame]'s duration, in seconds."
+msgstr "返回给定的 [param frame] 的持续时间,以秒为单位。"
+
+msgid "Returns the given frame's [Texture2D]."
+msgstr "返回给定帧的 [Texture2D]。"
+
+msgid ""
+"Sets the duration of any given [param frame]. The final duration is affected "
+"by the [member speed_scale]. If set to [code]0[/code], the frame is skipped "
+"during playback."
+msgstr ""
+"设置任何给定 [param frame] 的持续时间。最终的持续时间受 [member speed_scale] "
+"影响。如果设置为 [code]0[/code],则该帧在播放过程中被跳过。"
+
+msgid ""
+"Assigns a [Texture2D] to the given frame. Frame IDs start at 0, so the first "
+"frame has ID 0, and the last frame of the animation has ID [member frames] - "
+"1.\n"
+"You can define any number of textures up to [constant MAX_FRAMES], but keep "
+"in mind that only frames from 0 to [member frames] - 1 will be part of the "
+"animation."
+msgstr ""
+"将 [Texture2D] 分配给给定的帧。帧 ID 从 0 开始,因此第一帧的 ID 为 0,动画的"
+"最后一帧的 ID 为 [member frames] - 1。\n"
+"您可以定义最多 [constant MAX_FRAMES] 个纹理,但要记住,只有 0 到 [member "
+"frames] - 1 的帧会成为动画的一部分。"
msgid ""
"Number of frames to use in the animation. While you can create the frames "
@@ -2593,40 +5991,327 @@ msgstr ""
"current_frame])。将此属性更改为 [code]false[/code] 时,动画将从暂停处继续播"
"放。"
+msgid ""
+"The animation speed is multiplied by this value. If set to a negative value, "
+"the animation is played in reverse."
+msgstr "动画速度将乘以该值。如果设置为负值,则动画反向播放。"
+
+msgid ""
+"The maximum number of frames supported by [AnimatedTexture]. If you need "
+"more frames in your animation, use [AnimationPlayer] or [AnimatedSprite2D]."
+msgstr ""
+"[AnimatedTexture] 支持的最大帧数。如果动画需要更多帧,请使用 "
+"[AnimationPlayer] 或 [AnimatedSprite2D]。"
+
msgid "Contains data used to animate everything in the engine."
msgstr "包含用于对引擎中所有内容进行动画处理的数据。"
+msgid ""
+"An Animation resource contains data used to animate everything in the "
+"engine. Animations are divided into tracks, and each track must be linked to "
+"a node. The state of that node can be changed through time, by adding timed "
+"keys (events) to the track.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# This creates an animation that makes the node \"Enemy\" move to the right "
+"by\n"
+"# 100 pixels in 0.5 seconds.\n"
+"var animation = Animation.new()\n"
+"var track_index = animation.add_track(Animation.TYPE_VALUE)\n"
+"animation.track_set_path(track_index, \"Enemy:position:x\")\n"
+"animation.track_insert_key(track_index, 0.0, 0)\n"
+"animation.track_insert_key(track_index, 0.5, 100)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// This creates an animation that makes the node \"Enemy\" move to the right "
+"by\n"
+"// 100 pixels in 0.5 seconds.\n"
+"var animation = new Animation();\n"
+"int trackIndex = animation.AddTrack(Animation.TrackType.Value);\n"
+"animation.TrackSetPath(trackIndex, \"Enemy:position:x\");\n"
+"animation.TrackInsertKey(trackIndex, 0.0f, 0);\n"
+"animation.TrackInsertKey(trackIndex, 0.5f, 100);\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Animations are just data containers, and must be added to nodes such as an "
+"[AnimationPlayer] to be played back. Animation tracks have different types, "
+"each with its own set of dedicated methods. Check [enum TrackType] to see "
+"available types.\n"
+"[b]Note:[/b] For 3D position/rotation/scale, using the dedicated [constant "
+"TYPE_POSITION_3D], [constant TYPE_ROTATION_3D] and [constant TYPE_SCALE_3D] "
+"track types instead of [constant TYPE_VALUE] is recommended for performance "
+"reasons."
+msgstr ""
+"Animation(动画)资源包含用于对引擎中的一切进行动画处理的数据。动画分为轨道,"
+"轨道必须与节点相连。向轨道添加定时关键帧(事件)后,节点的状态可以随时间变"
+"化。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 创建动画,让“Enemy”节点在 0.5 秒内\n"
+"# 向右移动 100 像素。\n"
+"var animation = Animation.new()\n"
+"var track_index = animation.add_track(Animation.TYPE_VALUE)\n"
+"animation.track_set_path(track_index, \"Enemy:position:x\")\n"
+"animation.track_insert_key(track_index, 0.0, 0)\n"
+"animation.track_insert_key(track_index, 0.5, 100)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"# 创建动画,让“Enemy”节点在 0.5 秒内\n"
+"# 向右移动 100 像素。\n"
+"var animation = new Animation();\n"
+"int trackIndex = animation.AddTrack(Animation.TrackType.Value);\n"
+"animation.TrackSetPath(trackIndex, \"Enemy:position:x\");\n"
+"animation.TrackInsertKey(trackIndex, 0.0f, 0);\n"
+"animation.TrackInsertKey(trackIndex, 0.5f, 100);\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"动画只是数据的容器,必须添加至 [AnimationPlayer] 等节点才能进行播放。动画轨道"
+"分为不同的类型,不同的类型有各自不同的专属方法。可用的类型请查看 [enum "
+"TrackType]。\n"
+"[b]注意:[/b]对于 3D 的位置、旋转、缩放,推荐使用专门的 [constant "
+"TYPE_POSITION_3D]、[constant TYPE_ROTATION_3D]、[constant TYPE_SCALE_3D] 轨道"
+"类型,不要使用 [constant TYPE_VALUE],性能更高。"
+
+msgid "Animation documentation index"
+msgstr "动画教程索引"
+
msgid "Adds a track to the Animation."
msgstr "向动画添加轨道。"
+msgid ""
+"Returns the animation name at the key identified by [param key_idx]. The "
+"[param track_idx] must be the index of an Animation Track."
+msgstr ""
+"返回由 [param key_idx] 标识的键处的动画名称。[param track_idx] 必须是动画轨道"
+"的索引。"
+
+msgid ""
+"Inserts a key with value [param animation] at the given [param time] (in "
+"seconds). The [param track_idx] must be the index of an Animation Track."
+msgstr ""
+"在给定的 [param time](以秒为单位)插入一个值为 [param animation] 的键。"
+"[param track_idx] 必须是动画轨道的索引。"
+
+msgid ""
+"Sets the key identified by [param key_idx] to value [param animation]. The "
+"[param track_idx] must be the index of an Animation Track."
+msgstr ""
+"将 [param key_idx] 标识的键设置为值 [param animation]。[param track_idx] 必须"
+"是动画轨道的索引。"
+
+msgid ""
+"Returns the end offset of the key identified by [param key_idx]. The [param "
+"track_idx] must be the index of an Audio Track.\n"
+"End offset is the number of seconds cut off at the ending of the audio "
+"stream."
+msgstr ""
+"返回由 [param key_idx] 标识的键的结束偏移量。[param track_idx] 必须是音频轨道"
+"的索引。\n"
+"结束偏移量是在音频流结束时截断的秒数。"
+
+msgid ""
+"Returns the start offset of the key identified by [param key_idx]. The "
+"[param track_idx] must be the index of an Audio Track.\n"
+"Start offset is the number of seconds cut off at the beginning of the audio "
+"stream."
+msgstr ""
+"返回由 [param key_idx] 标识的键的起始偏移量。[param track_idx] 必须是音频轨道"
+"的索引。\n"
+"起始偏移量是在音频流开始时截断的秒数。"
+
+msgid ""
+"Returns the audio stream of the key identified by [param key_idx]. The "
+"[param track_idx] must be the index of an Audio Track."
+msgstr ""
+"返回由 [param key_idx] 标识的键的音频流。[param track_idx] 必须是音频轨道的索"
+"引。"
+
+msgid ""
+"Inserts an Audio Track key at the given [param time] in seconds. The [param "
+"track_idx] must be the index of an Audio Track.\n"
+"[param stream] is the [AudioStream] resource to play. [param start_offset] "
+"is the number of seconds cut off at the beginning of the audio stream, while "
+"[param end_offset] is at the ending."
+msgstr ""
+"在 [param time] 秒处插入音频轨道关键帧。[param track_idx] 必须是音频轨道的索"
+"引。\n"
+"[param stream] 是要播放的 [AudioStream] 资源。[param start_offset] 是音频流开"
+"头截断的秒数,而 [param end_offset] 是在结尾处截断的秒数。"
+
+msgid ""
+"Sets the end offset of the key identified by [param key_idx] to value [param "
+"offset]. The [param track_idx] must be the index of an Audio Track."
+msgstr ""
+"将由 [param key_idx] 标识的键的结束偏移量设置为值 [param offset]。[param "
+"track_idx] 必须是音频轨道的索引。"
+
+msgid ""
+"Sets the start offset of the key identified by [param key_idx] to value "
+"[param offset]. The [param track_idx] must be the index of an Audio Track."
+msgstr ""
+"将由 [param key_idx] 标识的键的起始偏移量设置为值 [param offset]。[param "
+"track_idx] 必须是音频轨道的索引。"
+
+msgid ""
+"Sets the stream of the key identified by [param key_idx] to value [param "
+"stream]. The [param track_idx] must be the index of an Audio Track."
+msgstr ""
+"将由 [param key_idx] 标识的键的流设置为值 [param stream]。[param track_idx] "
+"必须是音频轨道的索引。"
+
+msgid ""
+"Sets whether the track will be blended with other animations. If [code]true[/"
+"code], the audio playback volume changes depending on the blend value."
+msgstr ""
+"设置轨道是否将与其他动画混合。如果为 [code]true[/code],音频播放音量会根据混"
+"合值而变化。"
+
+msgid ""
+"Returns the in handle of the key identified by [param key_idx]. The [param "
+"track_idx] must be the index of a Bezier Track."
+msgstr ""
+"返回由 [param key_idx] 识别的键的入点手柄,[param track_idx] 必须是贝赛尔曲线"
+"轨道的索引。"
+
+msgid ""
+"Returns the out handle of the key identified by [param key_idx]. The [param "
+"track_idx] must be the index of a Bezier Track."
+msgstr ""
+"返回由 [param key_idx] 识别的键的出点手柄,[param track_idx] 必须是贝赛尔曲线"
+"轨道的索引。"
+
+msgid ""
+"Returns the value of the key identified by [param key_idx]. The [param "
+"track_idx] must be the index of a Bezier Track."
+msgstr ""
+"返回由 [param key_idx] 识别的键的值,[param track_idx] 必须是贝塞尔轨道的索"
+"引。"
+
+msgid ""
+"Inserts a Bezier Track key at the given [param time] in seconds. The [param "
+"track_idx] must be the index of a Bezier Track.\n"
+"[param in_handle] is the left-side weight of the added Bezier curve point, "
+"[param out_handle] is the right-side one, while [param value] is the actual "
+"value at this point."
+msgstr ""
+"在给定的时间 [param time] 秒处插入贝塞尔轨道键。[param track_idx] 必须是贝塞"
+"尔轨道的索引。\n"
+"[param in_handle] 是添加的贝塞尔曲线点的左侧权重,[param out_handle] 是右侧权"
+"重,而 [param value] 是这个点的实际值。"
+
+msgid ""
+"Returns the interpolated value at the given [param time] (in seconds). The "
+"[param track_idx] must be the index of a Bezier Track."
+msgstr ""
+"返回给定 [param time] 处的插值(以秒为单位)。[param track_idx] 必须是贝塞尔"
+"轨道的索引。"
+
+msgid ""
+"Sets the in handle of the key identified by [param key_idx] to value [param "
+"in_handle]. The [param track_idx] must be the index of a Bezier Track."
+msgstr ""
+"将 [param key_idx] 所标识的键的入点手柄设置为 [param in_handle] 值。[param "
+"track_idx] 必须是贝塞尔轨道的索引。"
+
+msgid ""
+"Sets the out handle of the key identified by [param key_idx] to value [param "
+"out_handle]. The [param track_idx] must be the index of a Bezier Track."
+msgstr ""
+"将由 [param key_idx] 确定的关键帧的出点手柄设置为 [param out_handle]。参数 "
+"[param track_idx] 必须是贝塞尔轨道的索引。"
+
+msgid ""
+"Sets the value of the key identified by [param key_idx] to the given value. "
+"The [param track_idx] must be the index of a Bezier Track."
+msgstr ""
+"将 [param key_idx] 所标识的键值设置为给定值。[param track_idx] 必须是贝塞尔轨"
+"道的索引。"
+
+msgid "Inserts a key in a given blend shape track. Returns the key index."
+msgstr "在给定的混合形状轨道中插入一个关键帧。返回键索引。"
+
msgid "Clear the animation (clear all tracks and reset all)."
msgstr "清除动画(清除所有轨道并重置所有)。"
msgid ""
+"Compress the animation and all its tracks in-place. This will make [method "
+"track_is_compressed] return [code]true[/code] once called on this "
+"[Animation]. Compressed tracks require less memory to be played, and are "
+"designed to be used for complex 3D animations (such as cutscenes) imported "
+"from external 3D software. Compression is lossy, but the difference is "
+"usually not noticeable in real world conditions.\n"
+"[b]Note:[/b] Compressed tracks have various limitations (such as not being "
+"editable from the editor), so only use compressed animations if you actually "
+"need them."
+msgstr ""
+"就地压缩动画及其所有轨道。这将使 [method track_is_compressed] 一旦在这个 "
+"[Animation] 上被调用就会返回 [code]true[/code]。压缩后的轨道在播放时需要更少"
+"的内存,并且这被设计用于从外部3D软件导入的复杂的3D动画(比如过场动画)。压缩"
+"是有损失的,但现实中通常不会注意到这种差异。\n"
+"[b]注意:[/b]压缩轨道有各种限制(比如不能从编辑器中编辑),所以只有在你真正需"
+"要时才使用压缩动画。"
+
+msgid ""
+"Adds a new track that is a copy of the given track from [param to_animation]."
+msgstr "添加一个新的轨道,这个轨道是给定轨道 [param to_animation] 的副本。"
+
+msgid ""
"Returns the index of the specified track. If the track is not found, return "
"-1."
msgstr "返回指定轨迹的索引。如果没有找到,返回 -1。"
msgid "Returns the amount of tracks in the animation."
-msgstr "返回动画中的曲目量。"
+msgstr "返回动画中的轨道数。"
msgid "Returns the method name of a method track."
-msgstr "返回一个方法轨迹的方法名。"
+msgstr "返回一个方法轨道的方法名。"
msgid ""
"Returns the arguments values to be called on a method track for a given key "
"in a given track."
-msgstr "返回给定轨道中给定键的方法轨道上要调用的参数值。"
+msgstr "返回给定方法轨道中给定键的方法要调用的参数值。"
+
+msgid "Inserts a key in a given 3D position track. Returns the key index."
+msgstr "在给定的 3D 位置轨道中插入关键帧。返回该关键帧的索引。"
msgid "Removes a track by specifying the track index."
msgstr "通过指定轨道索引来移除一个轨道。"
+msgid "Inserts a key in a given 3D rotation track. Returns the key index."
+msgstr "在给定的 3D 旋转轨道中插入关键帧。返回该关键帧的索引。"
+
+msgid "Inserts a key in a given 3D scale track. Returns the key index."
+msgstr "在给定的 3D 缩放轨道中插入关键帧。返回该关键帧的索引。"
+
+msgid ""
+"Finds the key index by time in a given track. Optionally, only find it if "
+"the approx/exact time is given."
+msgstr ""
+"按时间查找给定轨道中的关键帧索引。也可选择只在给定大约/准确时间的情况下查找。"
+
+msgid ""
+"Returns [code]true[/code] if the track at [param track_idx] wraps the "
+"interpolation loop. New tracks wrap the interpolation loop by default."
+msgstr ""
+"如果 [param track_idx] 处的轨道环绕插值循环,则返回 [code]true[/code]。新建的"
+"轨道默认都会环绕插值循环。"
+
msgid "Returns the interpolation type of a given track."
msgstr "返回给定轨道的插值类型。"
+msgid "Returns the number of keys in a given track."
+msgstr "返回给定轨道中关键帧的数量。"
+
msgid "Returns the time at which the key is located."
msgstr "返回关键帧所在的时间。"
+msgid ""
+"Returns the transition curve (easing) for a specific key (see the built-in "
+"math function [method @GlobalScope.ease])."
+msgstr ""
+"返回给定关键帧的过渡曲线(缓动)(见内置数学函数 [method @GlobalScope."
+"ease])。"
+
msgid "Returns the value of a given key in a given track."
msgstr "返回给定轨道中给定关键帧的值。"
@@ -2639,6 +6324,20 @@ msgstr ""
msgid "Gets the type of a track."
msgstr "获取轨道的类型。"
+msgid "Inserts a generic key in a given track. Returns the key index."
+msgstr "在给定的轨道中插入一个通用关键帧。返回关键帧索引。"
+
+msgid ""
+"Returns [code]true[/code] if the track is compressed, [code]false[/code] "
+"otherwise. See also [method compress]."
+msgstr ""
+"如果轨道被压缩,则返回 [code]true[/code],否则返回 [code]false[/code]。另见 "
+"[method compress]。"
+
+msgid ""
+"Returns [code]true[/code] if the track at index [param track_idx] is enabled."
+msgstr "如果启用了索引 [param track_idx] 处的轨道,则返回 [code]true[/code]。"
+
msgid ""
"Returns [code]true[/code] if the given track is imported. Else, return "
"[code]false[/code]."
@@ -2649,24 +6348,44 @@ msgstr ""
msgid "Moves a track down."
msgstr "将轨道下移。"
+msgid ""
+"Changes the index position of track [param track_idx] to the one defined in "
+"[param to_idx]."
+msgstr "将轨道 [param track_idx] 的索引位置改为 [param to_idx] 中定义的位置。"
+
msgid "Moves a track up."
msgstr "将轨道上移。"
msgid "Removes a key by index in a given track."
msgstr "在指定的轨道上按索引移除一个键。"
+msgid "Removes a key at [param time] in a given track."
+msgstr "在给定轨道中的 [param time] 移除一个键。"
+
msgid "Enables/disables the given track. Tracks are enabled by default."
-msgstr "启用/禁用指定的轨道。轨道默认为启用。"
+msgstr "启用/禁用给定的轨道。轨道默认为启用。"
msgid "Sets the given track as imported or not."
msgstr "将指定的轨道设置为导入或不导入。"
+msgid ""
+"If [code]true[/code], the track at [param track_idx] wraps the interpolation "
+"loop."
+msgstr "如果为 [code]true[/code],则 [param track_idx] 处的轨道环绕插值循环。"
+
msgid "Sets the interpolation type of a given track."
-msgstr "设置指定轨道的内插类型。"
+msgstr "设置指定轨道的插值类型。"
msgid "Sets the time of an existing key."
msgstr "设置现有关键帧的时间。"
+msgid ""
+"Sets the transition curve (easing) for a specific key (see the built-in math "
+"function [method @GlobalScope.ease])."
+msgstr ""
+"设置指定关键帧的过渡曲线(缓动)(参阅内置数学函数 [method @GlobalScope."
+"ease])。"
+
msgid "Sets the value of an existing key."
msgstr "设置现有关键帧的值。"
@@ -2684,9 +6403,22 @@ msgstr ""
"例如,[code]\"character/skeleton:ankle\"[/code] 或 [code]\"character/mesh:"
"transform/local\"[/code]。"
+msgid ""
+"Swaps the track [param track_idx]'s index position with the track [param "
+"with_idx]."
+msgstr ""
+"将轨道 [param track_idx] 的索引位置与轨道 [param with_idx] 的索引位置互换。"
+
msgid "Returns the update mode of a value track."
msgstr "返回值轨道的更新模式。"
+msgid ""
+"Returns the interpolated value at the given time (in seconds). The [param "
+"track_idx] must be the index of a value track."
+msgstr ""
+"返回位于给定时间(以秒为单位)的插值后的值。[param track_idx] 必须是值轨道的"
+"索引。"
+
msgid "Sets the update mode (see [enum UpdateMode]) of a value track."
msgstr "设置值轨道的更新模式(请参阅 [enum UpdateMode])。"
@@ -2699,9 +6431,41 @@ msgstr ""
"[b]注意:[/b]长度不以最后一个关键帧为界,因为这个关键帧可能位于结束前或结束"
"后,以确保正确的插值和循环。"
+msgid ""
+"Determines the behavior of both ends of the animation timeline during "
+"animation playback. This is used for correct interpolation of animation "
+"cycles, and for hinting the player that it must restart the animation."
+msgstr ""
+"确定动画播放期间动画时间轴两端的行为。 这用于动画循环的正确插值,以及提示播放"
+"器必须重新启动动画。"
+
msgid "The animation step value."
msgstr "动画步长值。"
+msgid ""
+"Value tracks set values in node properties, but only those which can be "
+"interpolated. For 3D position/rotation/scale, using the dedicated [constant "
+"TYPE_POSITION_3D], [constant TYPE_ROTATION_3D] and [constant TYPE_SCALE_3D] "
+"track types instead of [constant TYPE_VALUE] is recommended for performance "
+"reasons."
+msgstr ""
+"值轨道设置节点属性中的值,但仅限于那些可以被插值的属性。对于 3D 位置/旋转/缩"
+"放,出于性能原因,建议使用专用的 [constant TYPE_POSITION_3D]、[constant "
+"TYPE_ROTATION_3D] 和 [constant TYPE_SCALE_3D] 轨道类型而不是 [constant "
+"TYPE_VALUE]。"
+
+msgid "3D position track (values are stored in [Vector3]s)."
+msgstr "3D 位置轨道(值存储在 [Vector3] 中)。"
+
+msgid "3D rotation track (values are stored in [Quaternion]s)."
+msgstr "3D 旋转轨道(值存储在 [Quaternion] 中)。"
+
+msgid "3D scale track (values are stored in [Vector3]s)."
+msgstr "3D 缩放轨道(值存储在 [Vector3] 中)。"
+
+msgid "Blend shape track."
+msgstr "混合形状轨道。"
+
msgid "Method tracks call functions with given arguments per key."
msgstr "方法轨道会在各个关键帧上使用给定参数的调用函数。"
@@ -2730,6 +6494,35 @@ msgstr "无插值(最邻近的值)。"
msgid "Linear interpolation."
msgstr "线性插值。"
+msgid ""
+"Cubic interpolation. This looks smoother than linear interpolation, but is "
+"more expensive to interpolate. Stick to [constant INTERPOLATION_LINEAR] for "
+"complex 3D animations imported from external software, even if it requires "
+"using a higher animation framerate in return."
+msgstr ""
+"三次插值。这看起来比线性插值更平滑,但插值成本更高。对于从外部软件导入的复杂 "
+"3D 动画,坚持使用 [constant INTERPOLATION_LINEAR],即使它需要使用更高的动画帧"
+"率作为回报。"
+
+msgid ""
+"Linear interpolation with shortest path rotation.\n"
+"[b]Note:[/b] The result value is always normalized and may not match the key "
+"value."
+msgstr ""
+"具有最短路径旋转的线性插值。\n"
+"[b]注意:[/b]结果值总是归一化的,可能与关键帧的值不匹配。"
+
+msgid ""
+"Cubic interpolation with shortest path rotation.\n"
+"[b]Note:[/b] The result value is always normalized and may not match the key "
+"value."
+msgstr ""
+"具有最短路径旋转的三次插值。\n"
+"[b]注意:[/b]结果值总是归一化的,可能与关键帧的值不匹配。"
+
+msgid "Update between keyframes and hold the value."
+msgstr "在关键帧之间更新并保持值。"
+
msgid "Update at the keyframes."
msgstr "在关键帧更新。"
@@ -2740,9 +6533,104 @@ msgstr ""
"与线性插值相同,但如果第一个关键帧不在第 0 秒,则会从当前值进行插值(即在运行"
"时动态插值)。"
+msgid "At both ends of the animation, the animation will stop playing."
+msgstr "在动画的两端,动画将停止播放。"
+
+msgid ""
+"At both ends of the animation, the animation will be repeated without "
+"changing the playback direction."
+msgstr "在动画的两端,动画会在不改变播放方向的情况下重复播放。"
+
+msgid "Repeats playback and reverse playback at both ends of the animation."
+msgstr "在动画的两端重复进行播放和反向播放。"
+
+msgid "This flag indicates that the animation proceeds without any looping."
+msgstr "该标志指示动画在没有任何循环的情况下继续进行。"
+
+msgid ""
+"This flag indicates that the animation has reached the end of the animation "
+"and just after loop processed."
+msgstr "该标志表示动画已到达动画的末尾并且刚好在循环处理之后。"
+
+msgid ""
+"This flag indicates that the animation has reached the start of the "
+"animation and just after loop processed."
+msgstr "该标志表示动画已经到达动画的开始并且刚好在循环处理之后。"
+
+msgid "Finds the nearest time key."
+msgstr "查找最近的时间键。"
+
+msgid "Finds only the key with approximating the time."
+msgstr "仅查找与时间相近的键。"
+
+msgid "Finds only the key with matching the time."
+msgstr "仅查找与时间匹配的键。"
+
+msgid "Container for [Animation] resources."
+msgstr "[Animation] 资源的容器。"
+
+msgid ""
+"An animation library stores a set of animations accessible through "
+"[StringName] keys, for use with [AnimationPlayer] nodes."
+msgstr ""
+"动画库存储一组可通过 [StringName] 键访问的动画,可用于 [AnimationPlayer] 节"
+"点。"
+
msgid "Animation tutorial index"
msgstr "动画教程索引"
+msgid ""
+"Adds the [param animation] to the library, accessible by the key [param "
+"name]."
+msgstr "将 [param animation] 添加到库中,可通过键 [param name] 访问。"
+
+msgid ""
+"Returns the [Animation] with the key [param name]. If the animation does not "
+"exist, [code]null[/code] is returned and an error is logged."
+msgstr ""
+"返回带有键 [param name] 的 [Animation]。如果动画不存在,则返回 [code]null[/"
+"code] 并记录错误。"
+
+msgid "Returns the keys for the [Animation]s stored in the library."
+msgstr "返回库中存储的 [Animation] 的键。"
+
+msgid ""
+"Returns [code]true[/code] if the library stores an [Animation] with [param "
+"name] as the key."
+msgstr ""
+"如果该库存储了以 [param name] 作为键的 [Animation],则返回 [code]true[/"
+"code]。"
+
+msgid "Removes the [Animation] with the key [param name]."
+msgstr "使用键 [param name] 移除 [Animation]。"
+
+msgid ""
+"Changes the key of the [Animation] associated with the key [param name] to "
+"[param newname]."
+msgstr "将与键 [param name] 关联的 [Animation] 的键更改为 [param newname]。"
+
+msgid "Emitted when an [Animation] is added, under the key [param name]."
+msgstr "在键 [param name] 下添加 [Animation] 时发出。"
+
+msgid ""
+"Emitted when there's a change in one of the animations, e.g. tracks are "
+"added, moved or have changed paths. [param name] is the key of the animation "
+"that was changed.\n"
+"See also [signal Resource.changed], which this acts as a relay for."
+msgstr ""
+"当其中一个动画发生变化时发出,例如轨道被添加、移动,或路径被更改。[param "
+"name] 是被改变的动画的键。\n"
+"另见 [signal Resource.changed],本信号充当该信号的中继。"
+
+msgid ""
+"Emitted when an [Animation] stored with the key [param name] is removed."
+msgstr "当使用键 [param name] 存储的 [Animation] 被移除时发出。"
+
+msgid ""
+"Emitted when the key for an [Animation] is changed, from [param name] to "
+"[param to_name]."
+msgstr "当 [Animation] 的键从 [param name] 更改为 [param to_name] 时发出。"
+
msgid "Base resource for [AnimationTree] nodes."
msgstr "[AnimationTree] 节点的基础资源。"
@@ -2768,6 +6656,13 @@ msgstr ""
msgid ""
"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return a child node by its [param name]."
+msgstr ""
+"继承 [AnimationRootNode] 时,实现这个虚方法可以根据名称 [param name] 来返回对"
+"应的子节点。"
+
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
"return all children nodes in order as a [code]name: node[/code] dictionary."
msgstr ""
"继承 [AnimationRootNode] 时,实现这个虚方法可以用 [code]名称:节点[/code] 字典"
@@ -2775,6 +6670,14 @@ msgstr ""
msgid ""
"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return the default value of a [param parameter]. Parameters are custom local "
+"memory used for your nodes, given a resource can be reused in multiple trees."
+msgstr ""
+"继承 [AnimationRootNode] 时,实现这个虚方法可以返回参数“[param parameter]”的"
+"默认值。参数是节点的自定义本地存储,资源可以在多个树中重用。"
+
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
"return a list of the properties on this node. Parameters are custom local "
"memory used for your nodes, given a resource can be reused in multiple "
"trees. Format is similar to [method Object.get_property_list]."
@@ -2792,12 +6695,78 @@ msgstr ""
"节点上显示过滤器编辑。"
msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"return whether the [param parameter] is read-only. Parameters are custom "
+"local memory used for your nodes, given a resource can be reused in multiple "
+"trees."
+msgstr ""
+"继承 [AnimationRootNode] 时,实现这个虚方法可以返回参数 [param parameter] 是"
+"否只读。参数是节点的自定义本地存储,资源可以在多个树中重用。"
+
+msgid ""
+"When inheriting from [AnimationRootNode], implement this virtual method to "
+"run some code when this node is processed. The [param time] parameter is a "
+"relative delta, unless [param seek] is [code]true[/code], in which case it "
+"is absolute.\n"
+"Here, call the [method blend_input], [method blend_node] or [method "
+"blend_animation] functions. You can also use [method get_parameter] and "
+"[method set_parameter] to modify local memory.\n"
+"This function should return the time left for the current animation to "
+"finish (if unsure, pass the value from the main blend being called)."
+msgstr ""
+"继承 [AnimationRootNode] 时,实现这个虚方法可以在这个节点进行处理时执行代码。"
+"参数 [param time] 是相对增量,除非 [param seek] 为 [code]true[/code],此时为"
+"绝对增量。\n"
+"请在此处调用 [method blend_input]、[method blend_node] 或 [method "
+"blend_animation] 函数。你也可以使用 [method get_parameter] 和 [method "
+"set_parameter] 来修改本地存储。\n"
+"这个函数应当返回当前动画还需多少时间完成(不确定的话,请传递调用主混合的"
+"值)。"
+
+msgid ""
+"Adds an input to the node. This is only useful for nodes created for use in "
+"an [AnimationNodeBlendTree]. If the addition fails, returns [code]false[/"
+"code]."
+msgstr ""
+"为节点添加一个输入。这只对创建用于 [AnimationNodeBlendTree] 的节点有用。如果"
+"添加失败,返回 [code]false[/code]。"
+
+msgid ""
+"Blend an animation by [param blend] amount (name must be valid in the linked "
+"[AnimationPlayer]). A [param time] and [param delta] may be passed, as well "
+"as whether [param seeked] happened.\n"
+"A [param looped_flag] is used by internal processing immediately after the "
+"loop. See also [enum Animation.LoopedFlag]."
+msgstr ""
+"按 [param blend] 量混合一个动画(名称必须在链接的 [AnimationPlayer] 中有"
+"效)。可以传入时间 [param time] 和增量 [param delta],以及表示是否发生寻道的 "
+"[param seeked]。\n"
+"[param looped_flag] 在循环后立即由内部处理使用。另见 [enum Animation."
+"LoopedFlag]。"
+
+msgid ""
+"Blend an input. This is only useful for nodes created for an "
+"[AnimationNodeBlendTree]. The [param time] parameter is a relative delta, "
+"unless [param seek] is [code]true[/code], in which case it is absolute. A "
+"filter mode may be optionally passed (see [enum FilterAction] for options)."
+msgstr ""
+"混合一个输入。这只对为 [AnimationNodeBlendTree] 创建的节点有用。时间参数 "
+"[param time] 是一个相对的增量,除非 [param seek] 是 [code]true[/code],此时它"
+"是绝对的。可以选择传入过滤模式(选项请参阅 [enum FilterAction])。"
+
+msgid ""
"Blend another animation node (in case this node contains children animation "
"nodes). This function is only useful if you inherit from [AnimationRootNode] "
"instead, else editors will not display your node for addition."
msgstr ""
"混合另一个动画节点(在这个节点包含子动画节点的情况下)。这个函数只有在你继承 "
-"[AnimationRootNode] 时才有用,否则编辑器将不会显示你的节点进行添加。"
+"[AnimationRootNode] 时才有用,否则编辑器将不会显示你的节点以供添加。"
+
+msgid ""
+"Returns the input index which corresponds to [param name]. If not found, "
+"returns [code]-1[/code]."
+msgstr ""
+"返回与名称 [param name] 相关的输入索引,如果不存在则返回 [code]-1[/code]。"
msgid ""
"Amount of inputs in this node, only useful for nodes that go into "
@@ -2815,7 +6784,7 @@ msgstr ""
"中重复使用。"
msgid "Returns whether the given path is filtered."
-msgstr "返回是否对给定的路径进行过滤。"
+msgstr "返回给定路径是否被过滤。"
msgid "Removes an input, call this only when inactive."
msgstr "移除输入,仅在处于非活动状态时调用此输入。"
@@ -2824,6 +6793,13 @@ msgid "Adds or removes a path for the filter."
msgstr "添加或移除筛选器的路径。"
msgid ""
+"Sets the name of the input at the given [param input] index. If the setting "
+"fails, returns [code]false[/code]."
+msgstr ""
+"在给定的 [param input] 索引处设置输入的名称。如果设置失败,返回 [code]false[/"
+"code]。"
+
+msgid ""
"Sets a custom parameter. These are used as local memory, because resources "
"can be reused across the tree or scenes."
msgstr ""
@@ -2833,6 +6809,38 @@ msgstr ""
msgid "If [code]true[/code], filtering is enabled."
msgstr "如果为 [code]true[/code],则启用筛选功能。"
+msgid ""
+"Emitted by nodes that inherit from this class and that have an internal tree "
+"when one of their nodes removes. The nodes that emit this signal are "
+"[AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], "
+"[AnimationNodeStateMachine], and [AnimationNodeBlendTree]."
+msgstr ""
+"由继承自该类的节点发出,并且当其中一个节点移除时具有内部树。发出此信号的节点"
+"可以是 [AnimationNodeBlendSpace1D]、[AnimationNodeBlendSpace2D]、"
+"[AnimationNodeStateMachine] 和 [AnimationNodeBlendTree]。"
+
+msgid ""
+"Emitted by nodes that inherit from this class and that have an internal tree "
+"when one of their node names changes. The nodes that emit this signal are "
+"[AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], "
+"[AnimationNodeStateMachine], and [AnimationNodeBlendTree]."
+msgstr ""
+"由继承自该类的节点发出,并且当其中一个节点名称更改时具有内部树。发出此信号的"
+"节点可以是 [AnimationNodeBlendSpace1D]、[AnimationNodeBlendSpace2D]、"
+"[AnimationNodeStateMachine] 和 [AnimationNodeBlendTree]。"
+
+msgid ""
+"Emitted by nodes that inherit from this class and that have an internal tree "
+"when one of their nodes changes. The nodes that emit this signal are "
+"[AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], "
+"[AnimationNodeStateMachine], [AnimationNodeBlendTree] and "
+"[AnimationNodeTransition]."
+msgstr ""
+"由继承自该类的节点发出,并且当其一个节点发生变化时具有内部树。发出此信号的节"
+"点可以是 [AnimationNodeBlendSpace1D]、[AnimationNodeBlendSpace2D]、"
+"[AnimationNodeStateMachine]、[AnimationNodeBlendTree] 和 "
+"[AnimationNodeTransition]。"
+
msgid "Do not use filtering."
msgstr "不要使用筛选功能。"
@@ -2875,19 +6883,19 @@ msgstr ""
"内的值,将三个动画中的两个动画加法混合在一起。\n"
"这个节点有三个输入。\n"
"- 要添加到基础动画中的动画\n"
-"- 当混合量在 [code][-1.0,0.0][/code] 范围内时,添加动画进行混合。\n"
-"- 当混合量在 [code][0.0,1.0][/code] 范围内时,添加动画进行混合"
+"- 当混合量在 [code][-1.0,0.0][/code] 范围内时,-add 进行混合。\n"
+"- 当混合量在 [code][0.0,1.0][/code] 范围内时,+add 进行混合"
msgid "Input animation to use in an [AnimationNodeBlendTree]."
-msgstr "输入要在 [AnimationNodeBlendTree] 中使用的动画。"
+msgstr "要在 [AnimationNodeBlendTree] 中使用的输入动画。"
msgid ""
"A resource to add to an [AnimationNodeBlendTree]. Only features one output "
"set using the [member animation] property. Use it as an input for "
"[AnimationNode] that blend animations together."
msgstr ""
-"添加到 [AnimationNodeBlendTree] 的资源。只具有一个使用 [member animation] 属"
-"性的输出集。将其作为 [AnimationNode] 的输入,将动画融合在一起。"
+"一种添加到 [AnimationNodeBlendTree] 的资源。仅使用 [member animation] 属性设"
+"置一个输出集。将其作为 [AnimationNode] 的输入,将动画混合在一起。"
msgid "3D Platformer Demo"
msgstr "3D 平台跳跃演示"
@@ -2898,6 +6906,9 @@ msgid ""
msgstr ""
"作为输出使用的动画。它是 [member AnimationTree.anim_player] 提供的动画之一。"
+msgid "Determines the playback direction of the animation."
+msgstr "确定动画的播放方向。"
+
msgid "Blends two animations linearly inside of an [AnimationNodeBlendTree]."
msgstr "在 [AnimationNodeBlendTree] 中将两个动画进行线性混合。"
@@ -2924,12 +6935,12 @@ msgid ""
"- A +blend animation to blend with when the blend amount is in the [code]"
"[0.0, 1.0][/code] range"
msgstr ""
-"添加到 [AnimationNodeBlendTree] 的资源。根据[code][-1.0,1.0][/code]范围内的"
-"值,将三个动画中的两个动画线性地混合在一起。\n"
-"这个节点有三个输入。\n"
+"一种添加到 [AnimationNodeBlendTree] 的资源。根据范围在 [code][-1.0,1.0][/"
+"code] 内的值,将三个动画中的两个动画,线性地混合在一起。\n"
+"这个节点有三个输入:\n"
"- 基础动画\n"
-"- 当混合量在[code][-1.0,0.0][/code]范围内时,使用-混合动画进行混合。\n"
-"- 当混合量在[code][0.0,1.0][/code]范围内时,要使用+混合动画进行混合"
+"- 当混合量在 [code][-1.0,0.0][/code] 范围内时,使用 -blend 动画进行混合。\n"
+"- 当混合量在 [code][0.0,1.0][/code] 范围内时,使用 +blend 动画进行混合"
msgid ""
"Blends linearly between two of any number of [AnimationNode] of any type "
@@ -2950,13 +6961,41 @@ msgstr ""
"可添加到 [AnimationNodeBlendTree] 的资源。\n"
"这是一个虚拟轴,您可以使用 [method add_blend_point] 在上面添加任何类型的 "
"[AnimationNode]。\n"
-"输出最接近节点当前值的两个 [AnimationNode] 的线性混合。\n"
-"您可以使用 [member min_space] 和 [member max_space] 来设置轴的外延。"
+"输出最接近节点当前值的两个 [AnimationNode] 之间的线性混合。\n"
+"您可以使用 [member min_space] 和 [member max_space] 来设置轴的范围。"
+
+msgid ""
+"Adds a new point that represents a [param node] on the virtual axis at a "
+"given position set by [param pos]. You can insert it at a specific index "
+"using the [param at_index] argument. If you use the default value for [param "
+"at_index], the point is inserted at the end of the blend points array."
+msgstr ""
+"在虚拟轴上 [param pos] 设定的给定位置,添加一个新点代表 [param node]。您可以"
+"使用 [param at_index] 参数在特定的索引处插入新点。如果您使用 [param "
+"at_index] 的默认值,该点会被插入到混合点数组的末尾。"
msgid "Returns the number of points on the blend axis."
msgstr "返回混合轴上的点的数量。"
msgid ""
+"Returns the [AnimationNode] referenced by the point at index [param point]."
+msgstr "返回索引 [param point] 处的点所引用的 [AnimationNode]。"
+
+msgid "Returns the position of the point at index [param point]."
+msgstr "返回索引 [param point] 处的点的位置。"
+
+msgid "Removes the point at index [param point] from the blend axis."
+msgstr "从混合轴移除索引 [param point] 处的点。"
+
+msgid ""
+"Changes the [AnimationNode] referenced by the point at index [param point]."
+msgstr "更改索引 [param point] 处的点所引用的 [AnimationNode]。"
+
+msgid ""
+"Updates the position of the point at index [param point] on the blend axis."
+msgstr "更新混合轴上索引 [param point] 处的点的位置。"
+
+msgid ""
"Controls the interpolation between animations. See [enum BlendMode] "
"constants."
msgstr "控制动画之间的插值。见 [enum BlendMode] 常量。"
@@ -2964,21 +7003,30 @@ msgstr "控制动画之间的插值。见 [enum BlendMode] 常量。"
msgid ""
"The blend space's axis's upper limit for the points' position. See [method "
"add_blend_point]."
-msgstr "混合空间的轴的点的位置上限。见 [method add_blend_point]。"
+msgstr "用于点位置的混合空间轴的上限。见 [method add_blend_point]。"
msgid ""
"The blend space's axis's lower limit for the points' position. See [method "
"add_blend_point]."
-msgstr "混合空间的轴的点的位置下限。见 [method add_blend_point]。"
+msgstr "用于点位置的混合空间轴的下限。见 [method add_blend_point]。"
msgid "Position increment to snap to when moving a point on the axis."
msgstr "当在轴上移动一个点时,要捕捉到的位置增量。"
+msgid ""
+"If [code]false[/code], the blended animations' frame are stopped when the "
+"blend value is [code]0[/code].\n"
+"If [code]true[/code], forcing the blended animations to advance frame."
+msgstr ""
+"如果为 [code]false[/code],则当混合值为 [code]0[/code] 时,停止混合动画的"
+"帧。\n"
+"如果为 [code]true[/code],则强制混合动画以前进帧。"
+
msgid "Label of the virtual axis of the blend space."
msgstr "混合空间虚拟轴的标签。"
msgid "The interpolation between animations is linear."
-msgstr "动画之间的插点是线性的。"
+msgstr "动画之间的插值是线性的。"
msgid ""
"The blend space plays the animation of the node the blending position is "
@@ -2995,7 +7043,7 @@ msgstr ""
msgid ""
"Blends linearly between three [AnimationNode] of any type placed in a 2D "
"space."
-msgstr "在 2D 空间中放置的三个任意类型的 [AnimationNode] 之间线性融合。"
+msgstr "在 2D 空间中放置的三个任意类型的 [AnimationNode] 之间线性混合。"
msgid ""
"A resource to add to an [AnimationNodeBlendTree].\n"
@@ -3012,13 +7060,50 @@ msgstr ""
"auto_triangles] 设置为 [code]true[/code] 来自动进行三角测量。否则,请使用 "
"[method add_triangle] 和 [method remove_triangle] 手工创建混合空间。"
+msgid ""
+"Adds a new point that represents a [param node] at the position set by "
+"[param pos]. You can insert it at a specific index using the [param "
+"at_index] argument. If you use the default value for [param at_index], the "
+"point is inserted at the end of the blend points array."
+msgstr ""
+"在 [param pos] 设定的位置添加一个代表 [param node] 的新点。您可以使用 [param "
+"at_index] 参数将它插入到特定的索引中。如果您使用 [param at_index] 的默认值,"
+"这个点会被插入到混合点数组的末尾。"
+
+msgid ""
+"Creates a new triangle using three points [param x], [param y], and [param "
+"z]. Triangles can overlap. You can insert the triangle at a specific index "
+"using the [param at_index] argument. If you use the default value for [param "
+"at_index], the point is inserted at the end of the blend points array."
+msgstr ""
+"使用三个点 [param x]、[param y] 和 [param z] 创建一个新三角形。三角形可以重"
+"叠。可以使用 [param at_index] 参数在特定索引处插入三角形。如果使用 [param "
+"at_index] 的默认值,该点将插入到混合点数组的末尾。"
+
msgid "Returns the number of points in the blend space."
msgstr "返回混合空间中的点的数量。"
+msgid ""
+"Returns the [AnimationRootNode] referenced by the point at index [param "
+"point]."
+msgstr "返回索引 [param point] 处的点所引用的 [AnimationRootNode]。"
+
msgid "Returns the number of triangles in the blend space."
msgstr "返回混合空间中三角形的数量。"
msgid ""
+"Returns the position of the point at index [param point] in the triangle of "
+"index [param triangle]."
+msgstr ""
+"返回索引 [param point] 处的点在索引 [param triangle] 的三角形中的位置。"
+
+msgid "Removes the point at index [param point] from the blend space."
+msgstr "从混合空间中移除索引 [param point] 处的点。"
+
+msgid "Removes the triangle at index [param triangle] from the blend space."
+msgstr "从混合空间中移除索引 [param triangle] 处的三角形。"
+
+msgid ""
"If [code]true[/code], the blend space is triangulated automatically. The "
"mesh updates every time you add or remove points with [method "
"add_blend_point] and [method remove_blend_point]."
@@ -3030,15 +7115,17 @@ msgstr ""
msgid ""
"The blend space's X and Y axes' upper limit for the points' position. See "
"[method add_blend_point]."
-msgstr "混合空间的 X 轴和 Y 轴的点的位置上限。见 [method add_blend_point]。"
+msgstr ""
+"用于点的位置的混合空间的 X 轴和 Y 轴的上限。请参阅 [method add_blend_point]。"
msgid ""
"The blend space's X and Y axes' lower limit for the points' position. See "
"[method add_blend_point]."
-msgstr "混合空间的 X 轴和 Y 轴的点的位置下限。见 [method add_blend_point]。"
+msgstr ""
+"用于点的位置的混合空间的 X 轴和 Y 轴的下限。请参阅 [method add_blend_point]。"
msgid "Position increment to snap to when moving a point."
-msgstr "移动点时要对齐的位置增量。"
+msgstr "移动点时要吸附到的位置增量。"
msgid "Name of the blend space's X axis."
msgstr "混合空间 X 轴的名称。"
@@ -3066,9 +7153,33 @@ msgstr ""
"最常用的根之一。\n"
"默认会创建一个名为 [code]output[/code] 的 [AnimationNodeOutput] 节点。"
+msgid ""
+"Adds an [AnimationNode] at the given [param position]. The [param name] is "
+"used to identify the created sub-node later."
+msgstr ""
+"在给定的 [param position] 添加一个 [AnimationNode]。[param name] 用于稍后识别"
+"该创建的子节点。"
+
+msgid ""
+"Connects the output of an [AnimationNode] as input for another "
+"[AnimationNode], at the input port specified by [param input_index]."
+msgstr ""
+"连接一个 [AnimationNode] 的输出作为另一个 [AnimationNode] 的输入,连接在 "
+"[param input_index] 指定的输入端口。"
+
msgid "Disconnects the node connected to the specified input."
msgstr "断开连接到指定输入端的节点。"
+msgid "Returns the sub-node with the specified [param name]."
+msgstr "返回名称为 [param name] 的子节点。"
+
+msgid "Returns the position of the sub-node with the specified [param name]."
+msgstr "返回名称为 [param name] 的子节点的位置。"
+
+msgid ""
+"Returns [code]true[/code] if a sub-node with specified [param name] exists."
+msgstr "如果存在名称为 [param name] 的子节点,则返回 [code]true[/code]。"
+
msgid "Removes a sub-node."
msgstr "移除一个子节点。"
@@ -3081,6 +7192,9 @@ msgstr "修改子节点的位置。"
msgid "The global offset of all sub-nodes."
msgstr "所有子节点的全局偏移量。"
+msgid "Emitted when the input port information is changed."
+msgstr "当输入端口信息发生更改时发出。"
+
msgid "The connection was successful."
msgstr "连接成功。"
@@ -3102,19 +7216,6 @@ msgstr "指定的连接已经存在。"
msgid "Plays an animation once in [AnimationNodeBlendTree]."
msgstr "在 [AnimationNodeBlendTree] 中播放一次动画。"
-msgid ""
-"A resource to add to an [AnimationNodeBlendTree]. This node will execute a "
-"sub-animation and return once it finishes. Blend times for fading in and out "
-"can be customized, as well as filters."
-msgstr ""
-"可添加到 [AnimationNodeBlendTree] 的资源。这个节点将执行一个子动画,并在完成"
-"后返回。可以自定义淡入和淡出的混合时间,以及过滤器。"
-
-msgid ""
-"If [code]true[/code], the sub-animation will restart automatically after "
-"finishing."
-msgstr "如果为 [code]true[/code],则子动画完成后会自动重新开始。"
-
msgid "The delay after which the automatic restart is triggered, in seconds."
msgstr "触发自动重启的延迟时间,以秒为单位。"
@@ -3132,11 +7233,51 @@ msgstr "可添加到 [AnimationNodeBlendTree] 的通用输出节点。"
msgid "State machine for control of animations."
msgstr "用于控制动画的状态机。"
+msgid ""
+"Contains multiple nodes representing animation states, connected in a graph. "
+"Node transitions can be configured to happen automatically or via code, "
+"using a shortest-path algorithm. Retrieve the "
+"[AnimationNodeStateMachinePlayback] object from the [AnimationTree] node to "
+"control it programmatically.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var state_machine = $AnimationTree.get(\"parameters/playback\")\n"
+"state_machine.travel(\"some_state\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var stateMachine = GetNode<AnimationTree>(\"AnimationTree\")."
+"Get(\"parameters/playback\") as AnimationNodeStateMachinePlayback;\n"
+"stateMachine.Travel(\"some_state\");\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"包含表示动画状态的多个节点,以图的形式连接。可以使用最短路径算法,将节点过渡"
+"配置为自动发生或通过代码发生。从 [AnimationTree] 节点检索 "
+"[AnimationNodeStateMachinePlayback] 对象,以编程方式控制它。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var state_machine = $AnimationTree.get(\"parameters/playback\")\n"
+"state_machine.travel(\"some_state\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var stateMachine = GetNode<AnimationTree>(\"AnimationTree\")."
+"Get(\"parameters/playback\") as AnimationNodeStateMachinePlayback;\n"
+"stateMachine.Travel(\"some_state\");\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Adds a new node to the graph. The [param position] is used for display in "
+"the editor."
+msgstr "向图中添加一个新节点。[param position] 用于在编辑器中显示。"
+
msgid "Adds a transition between the given nodes."
msgstr "在给定节点之间添加一个过渡。"
msgid "Returns the draw offset of the graph. Used for display in the editor."
-msgstr "返回图形的绘制偏移。用于编辑器中的显示。"
+msgstr "返回图的绘制偏移。用于在编辑器中显示。"
msgid "Returns the animation node with the given name."
msgstr "返回指定名称的动画节点。"
@@ -3145,7 +7286,7 @@ msgid "Returns the given animation node's name."
msgstr "返回指定动画节点的名称。"
msgid "Returns the given node's coordinates. Used for display in the editor."
-msgstr "返回给定的节点的坐标。用于编辑器中的显示。"
+msgstr "返回给定节点的坐标。用于在编辑器中显示。"
msgid "Returns the given transition."
msgstr "返回给定的过渡。"
@@ -3157,7 +7298,7 @@ msgid "Returns the given transition's start node."
msgstr "返回给定过渡的开始节点。"
msgid "Returns the given transition's end node."
-msgstr "返回给定过渡的端节点。"
+msgstr "返回给定过渡的末端节点。"
msgid "Returns [code]true[/code] if the graph contains the given node."
msgstr "如果图中包含给定的节点,返回 [code]true[/code]。"
@@ -3179,20 +7320,64 @@ msgid "Renames the given node."
msgstr "重命名给定的节点。"
msgid "Sets the draw offset of the graph. Used for display in the editor."
-msgstr "设置图形的绘制偏移。用于编辑器中的显示。"
+msgstr "设置图形的绘制偏移。用于在编辑器中显示。"
msgid "Sets the node's coordinates. Used for display in the editor."
-msgstr "设置节点的坐标。用于编辑器中的显示。"
+msgstr "设置节点的坐标。用于在编辑器中显示。"
+
+msgid ""
+"If [code]true[/code], allows teleport to the self state with [method "
+"AnimationNodeStateMachinePlayback.travel]. When the reset option is enabled "
+"in [method AnimationNodeStateMachinePlayback.travel], the animation is "
+"restarted. If [code]false[/code], nothing happens on the teleportation to "
+"the self state."
+msgstr ""
+"如果为 [code]true[/code],允许使用 [method AnimationNodeStateMachinePlayback."
+"travel] 传送到当前状态。当在 [method AnimationNodeStateMachinePlayback."
+"travel] 中启用重置选项时,动画将重新启动。如果为 [code]false[/code],传送到当"
+"前状态时不会发生任何事情。"
msgid "Playback control for [AnimationNodeStateMachine]."
msgstr "[AnimationNodeStateMachine] 的播放控件。"
-msgid "Returns the currently playing animation state."
-msgstr "返回当前播放的动画状态。"
+msgid ""
+"Allows control of [AnimationTree] state machines created with "
+"[AnimationNodeStateMachine]. Retrieve with [code]$AnimationTree."
+"get(\"parameters/playback\")[/code].\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var state_machine = $AnimationTree.get(\"parameters/playback\")\n"
+"state_machine.travel(\"some_state\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var stateMachine = GetNode<AnimationTree>(\"AnimationTree\")."
+"Get(\"parameters/playback\") as AnimationNodeStateMachinePlayback;\n"
+"stateMachine.Travel(\"some_state\");\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"允许控制使用 [AnimationNodeStateMachine] 创建的 [AnimationTree] 状态机。使用 "
+"[code]$AnimationTree.get(\"parameters/playback\")[/code] 检索。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var state_machine = $AnimationTree.get(\"parameters/playback\")\n"
+"state_machine.travel(\"some_state\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var stateMachine = GetNode<AnimationTree>(\"AnimationTree\")."
+"Get(\"parameters/playback\") as AnimationNodeStateMachinePlayback;\n"
+"stateMachine.Travel(\"some_state\");\n"
+"[/csharp]\n"
+"[/codeblocks]"
msgid "Returns the playback position within the current animation state."
msgstr "返回当前动画状态内的播放位置。"
+msgid "Returns the starting state of currently fading animation."
+msgstr "返回当前淡入淡出动画的开始状态。"
+
msgid ""
"Returns the current travel path as computed internally by the A* algorithm."
msgstr "返回 A* 算法内部计算的当前行进路径。"
@@ -3200,11 +7385,109 @@ msgstr "返回 A* 算法内部计算的当前行进路径。"
msgid "Returns [code]true[/code] if an animation is playing."
msgstr "如果正在播放动画,返回 [code]true[/code]。"
+msgid ""
+"If there is a next path by travel or auto advance, immediately transitions "
+"from the current state to the next state."
+msgstr "如果通过行进或自动前进有下一条路径,则立即从当前状态过渡到下一个状态。"
+
+msgid ""
+"Starts playing the given animation.\n"
+"If [param reset] is [code]true[/code], the animation is played from the "
+"beginning."
+msgstr ""
+"开始播放给定的动画。\n"
+"如果 [param reset] 为 [code]true[/code],则动画从头开始播放。"
+
msgid "Stops the currently playing animation."
msgstr "停止当前播放的动画。"
+msgid ""
+"Transitions from the current state to another one, following the shortest "
+"path.\n"
+"If the path does not connect from the current state, the animation will play "
+"after the state teleports.\n"
+"If [param reset_on_teleport] is [code]true[/code], the animation is played "
+"from the beginning when the travel cause a teleportation."
+msgstr ""
+"按照最短的路径从当前状态过渡到另一个状态。\n"
+"如果路径没有连接到当前状态,则动画将在状态传送后播放。\n"
+"如果 [param reset_on_teleport] 为 [code]true[/code],当行进导致传送时,该动画"
+"将从头开始播放。"
+
+msgid ""
+"Turn on auto advance when this condition is set. The provided name will "
+"become a boolean parameter on the [AnimationTree] that can be controlled "
+"from code (see [url=$DOCS_URL/tutorials/animation/animation_tree."
+"html#controlling-from-code]Using AnimationTree[/url]). For example, if "
+"[member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and "
+"[member advance_condition] is set to [code]\"idle\"[/code]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"$animation_tree.set(\"parameters/conditions/idle\", is_on_floor and "
+"(linear_velocity.x == 0))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GetNode<AnimationTree>(\"animation_tree\").Set(\"parameters/conditions/"
+"idle\", IsOnFloor && (LinearVelocity.X == 0));\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"该条件被设置时打开自动前进。提供的名称将成为 [AnimationTree] 上的布尔参数,可"
+"以通过代码进行控制(请参阅 [url=$DOCS_URL/tutorials/animation/animation_tree."
+"html#controlling-from-code]使用 AnimationTree[/url])。例如,如果 [member "
+"AnimationTree.tree_root] 是一个 [AnimationNodeStateMachine] 并且 [member "
+"advance_condition] 被设置为 [code]\"idle\"[/code]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"$animation_tree.set(\"parameters/conditions/idle\", is_on_floor and "
+"(linear_velocity.x == 0))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GetNode<AnimationTree>(\"animation_tree\").Set(\"parameters/conditions/"
+"idle\", IsOnFloor && (LinearVelocity.X == 0));\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Use an expression as a condition for state machine transitions. It is "
+"possible to create complex animation advance conditions for switching "
+"between states and gives much greater flexibility for creating complex state "
+"machines by directly interfacing with the script code."
+msgstr ""
+"将表达式用作状态机过渡的条件。可以为状态之间的切换创建复杂的动画推进条件,并"
+"通过直接与脚本代码交互为创建复杂的状态机提供更大的灵活性。"
+
+msgid ""
+"Determines whether the transition should disabled, enabled when using "
+"[method AnimationNodeStateMachinePlayback.travel], or traversed "
+"automatically if the [member advance_condition] and [member "
+"advance_expression] checks are true (if assigned)."
+msgstr ""
+"决定在使用 [method AnimationNodeStateMachinePlayback.travel] 时该过渡是否应该"
+"被禁用/启用,或者如果 [member advance_condition] 和 [member "
+"advance_expression] 检查为真则自动行进(如果已分配)。"
+
+msgid ""
+"Lower priority transitions are preferred when travelling through the tree "
+"via [method AnimationNodeStateMachinePlayback.travel] or [member "
+"advance_mode] is set to [constant ADVANCE_MODE_AUTO]."
+msgstr ""
+"当在树中通过 [method AnimationNodeStateMachinePlayback.travel] 或将 [member "
+"advance_mode] 设置为 [constant ADVANCE_MODE_AUTO] 行进时,倾向于优先级较低的"
+"过渡。"
+
+msgid ""
+"If [code]true[/code], the destination animation is played back from the "
+"beginning when switched."
+msgstr "如果为 [code]true[/code],切换时目标动画从头开始播放。"
+
msgid "The transition type."
-msgstr "过渡类型."
+msgstr "过渡类型。"
+
+msgid ""
+"Ease curve for better control over cross-fade between this state and the "
+"next."
+msgstr "缓动曲线可以更好地控制此状态和下一个状态之间的交叉淡入淡出。"
msgid "The time to cross-fade between this state and the next."
msgstr "这个状态和下一个状态之间的交叉渐变时间。"
@@ -3215,18 +7498,33 @@ msgstr "变更 [member advance_condition] 时发出。"
msgid ""
"Switch to the next state immediately. The current state will end and blend "
"into the beginning of the new one."
-msgstr "立即切换到下一个状态。当前状态将结束,并融合到新状态的开始。"
+msgstr "立即切换到下一个状态。当前状态将结束,并混合到新状态的开始。"
msgid ""
"Switch to the next state immediately, but will seek the new state to the "
"playback position of the old state."
-msgstr "立即切换到下一个状态,但会寻找新的状态到旧状态的播放位置。"
+msgstr "立即切换到下一个状态,但会将新的状态定位到旧状态的播放位置。"
msgid ""
"Wait for the current state playback to end, then switch to the beginning of "
"the next state animation."
msgstr "等待当前状态播放结束,然后切换到下一个状态动画的开头。"
+msgid "Don't use this transition."
+msgstr "不要使用该过渡。"
+
+msgid ""
+"Only use this transition during [method AnimationNodeStateMachinePlayback."
+"travel]."
+msgstr "仅在 [method AnimationNodeStateMachinePlayback.travel] 时使用该过渡。"
+
+msgid ""
+"Automatically use this transition if the [member advance_condition] and "
+"[member advance_expression] checks are true (if assigned)."
+msgstr ""
+"如果 [member advance_condition] 和 [member advance_expression] 检查为真,则自"
+"动使用该过渡(如果已分配)。"
+
msgid "A time-scaling animation node to be used with [AnimationTree]."
msgstr "与 [AnimationTree] 一起使用的时间缩放动画节点。"
@@ -3242,18 +7540,106 @@ msgid "A generic animation transition node for [AnimationTree]."
msgstr "[AnimationTree] 的通用动画过渡节点。"
msgid ""
-"Simple state machine for cases which don't require a more advanced "
-"[AnimationNodeStateMachine]. Animations can be connected to the inputs and "
-"transition times can be specified."
+"Returns whether the animation restarts when the animation transitions from "
+"the other animation."
+msgstr "返回当动画从另一个动画过渡时,该动画是否重新开始。"
+
+msgid ""
+"Returns [code]true[/code] if auto-advance is enabled for the given [param "
+"input] index."
+msgstr ""
+"如果为给定的 [param input] 索引启用了自动前进,则返回 [code]true[/code]。"
+
+msgid ""
+"Enables or disables auto-advance for the given [param input] index. If "
+"enabled, state changes to the next input after playing the animation once. "
+"If enabled for the last input state, it loops to the first."
msgstr ""
-"简单的状态机,适用于不需要更高级的[AnimationNodeStateMachine]的情况。可以将动"
-"画连接到输入,并指定过渡时间。"
+"为给定的 [param input] 索引启用或禁用自动前进。如果启用,状态会在播放一次动画"
+"后更改为下一个输入。如果为最后一个输入状态启用,它会循环到第一个。"
+
+msgid ""
+"If [code]true[/code], the destination animation is restarted when the "
+"animation transitions."
+msgstr "如果为 [code]true[/code],则目标动画在动画过渡时重新启动。"
+
+msgid ""
+"If [code]true[/code], allows transition to the self state. When the reset "
+"option is enabled in input, the animation is restarted. If [code]false[/"
+"code], nothing happens on the transition to the self state."
+msgstr ""
+"如果为 [code]true[/code],允许过渡到当前状态。当在输入中启用重置选项时,动画"
+"将重新启动。如果为 [code]false[/code],则在过渡到 当前状态时不会发生任何事"
+"情。"
+
+msgid "The number of enabled input ports for this node."
+msgstr "该节点已启用的输入端口数。"
+
+msgid ""
+"Determines how cross-fading between animations is eased. If empty, the "
+"transition will be linear."
+msgstr "确定如何缓动动画之间的淡入淡出。如果为空,过渡将是线性的。"
msgid ""
"Cross-fading time (in seconds) between each animation connected to the "
"inputs."
msgstr "连接到输入的每个动画之间的交叉渐变时间(秒)。"
+msgid "Player of [Animation] resources."
+msgstr "[Animation] 资源的播放器。"
+
+msgid ""
+"An animation player is used for general-purpose playback of [Animation] "
+"resources. It contains a dictionary of [AnimationLibrary] resources and "
+"custom blend times between animation transitions.\n"
+"Some methods and properties use a single key to reference an animation "
+"directly. These keys are formatted as the key for the library, followed by a "
+"forward slash, then the key for the animation within the library, for "
+"example [code]\"movement/run\"[/code]. If the library's key is an empty "
+"string (known as the default library), the forward slash is omitted, being "
+"the same key used by the library.\n"
+"[AnimationPlayer] is more suited than [Tween] for animations where you know "
+"the final values in advance. For example, fading a screen in and out is more "
+"easily done with an [AnimationPlayer] node thanks to the animation tools "
+"provided by the editor. That particular example can also be implemented with "
+"a [Tween], but it requires doing everything by code.\n"
+"Updating the target properties of animations occurs at process time."
+msgstr ""
+"动画播放器用于 [Animation] 资源的通用播放。它包含一个 [AnimationLibrary] 资源"
+"的字典和动画过渡之间的自定义混合时间。\n"
+"某些方法和属性使用单个键直接引用动画。这些键的格式为库的键,后跟正斜杠,然后"
+"是库内动画的键,例如 [code]\"movement/run\"[/code]。如果库的键是空字符串(称"
+"为默认库),则省略正斜杠,与库使用的键相同。\n"
+"[AnimationPlayer] 比 [Tween] 更适合用于事先知道最终值的动画。例如,由于编辑器"
+"提供的动画工具,使用 [AnimationPlayer] 节点可以更轻松地实现屏幕淡入淡出。该特"
+"定示例也可以使用 [Tween] 实现,但它需要通过代码来完成一切。\n"
+"更新动画的目标属性是在处理时进行的。"
+
+msgid "A virtual function for processing after key getting during playback."
+msgstr "一个用于播放期间键获取之后的处理的虚函数。"
+
+msgid ""
+"Adds [param library] to the animation player, under the key [param name]."
+msgstr "将 [param library] 添加到该动画播放器的键 [param name] 下。"
+
+msgid ""
+"Shifts position in the animation timeline and immediately updates the "
+"animation. [param delta] is the time in seconds to shift. Events between the "
+"current frame and [param delta] are handled."
+msgstr ""
+"移动动画时间轴上的位置并立即更新动画。[param delta] 是要移动的时间,单位为"
+"秒。会处理位于当前帧和 [param delta] 之间的事件。"
+
+msgid ""
+"Returns the key of the animation which is queued to play after the [param "
+"anim_from] animation."
+msgstr "返回在 [param anim_from] 动画之后排队播放的动画的键。"
+
+msgid ""
+"Triggers the [param anim_to] animation when the [param anim_from] animation "
+"completes."
+msgstr "当 [param anim_from] 动画完成时,触发 [param anim_to] 动画。"
+
msgid ""
"[AnimationPlayer] caches animated nodes. It may not notice if a node "
"disappears; [method clear_caches] forces it to update the cache again."
@@ -3265,6 +7651,88 @@ msgid "Clears all queued, unplayed animations."
msgstr "清除所有已排队、未播放的动画。"
msgid ""
+"Returns the key of [param animation] or an empty [StringName] if not found."
+msgstr "返回 [param animation] 的键;如果未找到,则返回一个空的 [StringName]。"
+
+msgid ""
+"Returns the key for the [AnimationLibrary] that contains [param animation] "
+"or an empty [StringName] if not found."
+msgstr ""
+"返回包含 [param animation] 的 [AnimationLibrary] 的键;如果找不到,则返回一个"
+"空的 [StringName]。"
+
+msgid ""
+"Returns the first [AnimationLibrary] with key [param name] or [code]null[/"
+"code] if not found."
+msgstr ""
+"返回第一个 [AnimationLibrary] 键 [param name];如果没有找到则返回 "
+"[code]null[/code]。"
+
+msgid "Returns the list of stored library keys."
+msgstr "返回存储的库的键的列表。"
+
+msgid "Returns the list of stored animation keys."
+msgstr "返回存储的动画键列表。"
+
+msgid ""
+"Returns the blend time (in seconds) between two animations, referenced by "
+"their keys."
+msgstr "返回两个动画之间的混合时间(以秒为单位),由它们的键引用。"
+
+msgid "Returns a list of the animation keys that are currently queued to play."
+msgstr "返回当前排队播放的动画键列表。"
+
+msgid ""
+"Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] "
+"with key [param name]."
+msgstr ""
+"如果该 [AnimationPlayer] 使用键 [param name] 存储 [Animation],则返回 "
+"[code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the [AnimationPlayer] stores an "
+"[AnimationLibrary] with key [param name]."
+msgstr ""
+"如果该 [AnimationPlayer] 使用键 [param name] 存储 [AnimationLibrary],则返回 "
+"[code]true[/code]。"
+
+msgid ""
+"Pauses the currently playing animation. The [member "
+"current_animation_position] will be kept and calling [method play] or "
+"[method play_backwards] without arguments or with the same animation name as "
+"[member assigned_animation] will resume the animation.\n"
+"See also [method stop]."
+msgstr ""
+"暂停当前播放的动画。[member current_animation_position] 将被保留,调用 "
+"[method play] 或 [method play_backwards] 时,不带参数或使用与 [member "
+"assigned_animation] 相同的动画名称,将恢复动画。\n"
+"另见 [method stop]。"
+
+msgid ""
+"Plays the animation with key [param name]. Custom blend times and speed can "
+"be set. If [param custom_speed] is negative and [param from_end] is "
+"[code]true[/code], the animation will play backwards (which is equivalent to "
+"calling [method play_backwards]).\n"
+"The [AnimationPlayer] keeps track of its current or last played animation "
+"with [member assigned_animation]. If this method is called with that same "
+"animation [param name], or with no [param name] parameter, the assigned "
+"animation will resume playing if it was paused.\n"
+"[b]Note:[/b] The animation will be updated the next time the "
+"[AnimationPlayer] is processed. If other variables are updated at the same "
+"time this is called, they may be updated too early. To perform the update "
+"immediately, call [code]advance(0)[/code]."
+msgstr ""
+"播放键名为 [param name] 的动画。可以设置自定义混合时间和速度。如果 [param "
+"custom_speed] 为负,且[param from_end] 为 [code]true[/code],则动画将向后播放"
+"(相当于调用 [method play_backwards])。\n"
+"[AnimationPlayer] 使用 [member assigned_animation] 跟踪其当前或上次播放的动"
+"画。如果使用相同的动画 [param name] 或没有 [param name] 参数调用此方法,则分"
+"配的动画将在暂停时恢复播放。\n"
+"[b]注意:[/b]动画将在下次处理 [AnimationPlayer] 时更新。如果在调用该方法的同"
+"时更新了其他变量,则它们可能更新得太早。要立即执行更新,请调用 "
+"[code]advance(0)[/code]。"
+
+msgid ""
"Queues an animation for playback once the current one is done.\n"
"[b]Note:[/b] If a looped animation is currently playing, the queued "
"animation will never play unless the looped animation is stopped somehow."
@@ -3273,6 +7741,87 @@ msgstr ""
"[b]注意:[/b]如果当前正在播放循环动画,除非以某种方式停止循环动画,否则排队的"
"动画将永远不会播放。"
+msgid "Removes the [AnimationLibrary] associated with the key [param name]."
+msgstr "移除与键 [param name] 关联的 [AnimationLibrary]。"
+
+msgid ""
+"Moves the [AnimationLibrary] associated with the key [param name] to the key "
+"[param newname]."
+msgstr ""
+"将与键 [param name] 关联的 [AnimationLibrary] 移动到键 [param newname]。"
+
+msgid ""
+"Seeks the animation to the [param seconds] point in time (in seconds). If "
+"[param update] is [code]true[/code], the animation updates too, otherwise it "
+"updates at process time. Events between the current frame and [param "
+"seconds] are skipped.\n"
+"[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal "
+"animation_finished]. If you want to skip animation and emit the signal, use "
+"[method advance]."
+msgstr ""
+"将动画寻道到时间点 [param seconds](单位为秒)。[param update] 为 "
+"[code]true[/code] 时会同时更新动画,否则会在处理时更新。当前帧和 [param "
+"seconds] 之间的事件会被跳过。\n"
+"[b]注意:[/b]寻道至动画的末尾不会触发 [signal animation_finished]。如果想要跳"
+"过动画并触发该信号,请使用 [method advance]。"
+
+msgid ""
+"Specifies a blend time (in seconds) between two animations, referenced by "
+"their keys."
+msgstr "指定两个动画(由它们的键所引用)之间的混合时间(以秒为单位)。"
+
+msgid ""
+"Stops the currently playing animation. The animation position is reset to "
+"[code]0[/code] and the [code]custom_speed[/code] is reset to [code]1.0[/"
+"code]. See also [method pause].\n"
+"If [param keep_state] is [code]true[/code], the animation state is not "
+"updated visually.\n"
+"[b]Note:[/b] The method / audio / animation playback tracks will not be "
+"processed by this method."
+msgstr ""
+"停止当前播放的动画。动画位置被重置为 [code]0[/code],[code]custom_speed[/"
+"code] 被重置为 [code]1.0[/code]。另见 [method pause]。\n"
+"如果 [param keep_state] 为 [code]true[/code],则动画状态不会在视觉上更新。\n"
+"[b]注意:[/b]方法/音频/动画播放轨道不会被该方法处理。"
+
+msgid ""
+"If playing, the the current animation's key, otherwise, the animation last "
+"played. When set, this changes the animation, but will not play it unless "
+"already playing. See also [member current_animation]."
+msgstr ""
+"如果正在播放,则为当前动画的键,否则为上次播放的动画。设置后会改变动画,但除"
+"非已经播放,否则不会播放。另见 [member current_animation]。"
+
+msgid ""
+"The number of possible simultaneous sounds for each of the assigned "
+"AudioStreamPlayers.\n"
+"For example, if this value is [code]32[/code] and the animation has two "
+"audio tracks, the two [AudioStreamPlayer]s assigned can play simultaneously "
+"up to [code]32[/code] voices each."
+msgstr ""
+"每个指定的 AudioStreamPlayer 可能同时发出的声音的数量。\n"
+"例如,如果该值为 [code]32[/code] 并且动画有两个音轨,则分配的两个 "
+"[AudioStreamPlayer] 可以同时播放最多 [code]32[/code] 个声音。"
+
+msgid ""
+"The key of the currently playing animation. If no animation is playing, the "
+"property's value is an empty string. Changing this value does not restart "
+"the animation. See [method play] for more information on playing "
+"animations.\n"
+"[b]Note:[/b] While this property appears in the Inspector, it's not meant to "
+"be edited, and it's not saved in the scene. This property is mainly used to "
+"get the currently playing animation, and internally for animation playback "
+"tracks. For more information, see [Animation]."
+msgstr ""
+"当前播放的动画的名称。如果没有动画正在播放,该属性的值是一个空字符串。改变这"
+"个值不会重新启动动画。关于播放动画的更多信息请参阅 [method play]。\n"
+"[b]注意:[/b]虽然这个属性会出现在检查器中,但它不是用来编辑的,也不会保存在场"
+"景中。该属性主要用于获取当前播放的动画,内部用于动画播放轨道。详情请参阅 "
+"[Animation]。"
+
+msgid "The length (in seconds) of the currently playing animation."
+msgstr "当前正在播放的动画的长度(以秒为单位)。"
+
msgid "The position (in seconds) of the currently playing animation."
msgstr "当前播放的动画的位置(以秒为单位)。"
@@ -3280,6 +7829,20 @@ msgid "The call mode to use for Call Method tracks."
msgstr "方法调用轨道所使用的调用模式。"
msgid ""
+"If [code]true[/code] and the engine is running in Movie Maker mode (see "
+"[MovieWriter]), exits the engine with [method SceneTree.quit] as soon as an "
+"animation is done playing in this [AnimationPlayer]. A message is printed "
+"when the engine quits for this reason.\n"
+"[b]Note:[/b] This obeys the same logic as the [signal animation_finished] "
+"signal, so it will not quit the engine if the animation is set to be looping."
+msgstr ""
+"如果为 [code]true[/code],并且引擎在 Movie Maker 模式下运行(请参阅 "
+"[MovieWriter]),则在此 [AnimationPlayer] 中播放完动画后,立即使用 [method "
+"SceneTree.quit] 退出引擎。当引擎因此而退出时,会打印一条消息。\n"
+"[b]注意:[/b]这与 [signal animation_finished] 信号遵循相同的逻辑,因此如果动"
+"画被设置为循环,它不会退出引擎。"
+
+msgid ""
"If [code]true[/code], updates animations in response to process-related "
"notifications."
msgstr "如果为 [code]true[/code],根据流程相关通知更新动画。"
@@ -3292,11 +7855,49 @@ msgstr "混合动画的默认时间。范围从 0 到 4096,精度为 0.01。"
msgid "The process notification in which to update animations."
msgstr "更新动画的过程通知。"
+msgid ""
+"This is used by the editor. If set to [code]true[/code], the scene will be "
+"saved with the effects of the reset animation (the animation with the key "
+"[code]\"RESET\"[/code]) applied as if it had been seeked to time 0, with the "
+"editor keeping the values that the scene had before saving.\n"
+"This makes it more convenient to preview and edit animations in the editor, "
+"as changes to the scene will not be saved as long as they are set in the "
+"reset animation."
+msgstr ""
+"由编辑器使用。如果设置为 [code]true[/code],场景将被保存,并应用重置动画(带"
+"有键 [code]\"RESET\"[/code] 的动画)的效果,就好像它已被定位到时间 0 一样,编"
+"辑器保留场景在保存之前的值。\n"
+"这使得在编辑器中预览和编辑动画更加方便,因为对场景的更改,只要在重置动画中被"
+"设置,就不会被保存。"
+
msgid "The node from which node path references will travel."
msgstr "节点路径引用将从其运行的节点。"
+msgid ""
+"Emitted when a queued animation plays after the previous animation finished. "
+"See [method queue].\n"
+"[b]Note:[/b] The signal is not emitted when the animation is changed via "
+"[method play] or by an [AnimationTree]."
+msgstr ""
+"在前一个动画完成后,播放队列中的动画时发出。请参阅 [method queue]。\n"
+"[b]注意:[/b]通过 [method play] 或 [AnimationTree] 改变动画时,不会发出此信"
+"号。"
+
+msgid ""
+"Notifies when an animation finished playing.\n"
+"[b]Note:[/b] This signal is not emitted if an animation is looping."
+msgstr ""
+"动画播放结束时通知。\n"
+"[b]注意:[/b]如果动画正在循环播放,则不会发出此信号。"
+
+msgid "Notifies when the animation libraries have changed."
+msgstr "当动画库发生更改时发出通知。"
+
+msgid "Notifies when an animation list is changed."
+msgstr "当动画列表发生更改时发出通知。"
+
msgid "Notifies when an animation starts playing."
-msgstr "当动画开始播放时通知。"
+msgstr "当动画开始播放时发出通知。"
msgid ""
"Notifies when the caches have been cleared, either automatically, or "
@@ -3355,16 +7956,301 @@ msgstr "使用 AnimationTree"
msgid "Manually advance the animations by the specified time (in seconds)."
msgstr "手动将动画前进指定的时间(单位为秒)。"
+msgid ""
+"Retrieve the motion delta of position with the [member root_motion_track] as "
+"a [Vector3] that can be used elsewhere.\n"
+"If [member root_motion_track] is not a path to a track of type [constant "
+"Animation.TYPE_POSITION_3D], returns [code]Vector3(0, 0, 0)[/code].\n"
+"See also [member root_motion_track] and [RootMotionView].\n"
+"The most basic example is applying position to [CharacterBody3D]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var current_rotation: Quaternion\n"
+"\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" current_rotation = get_quaternion()\n"
+" state_machine.travel(\"Animate\")\n"
+" var velocity: Vector3 = current_rotation * animation_tree."
+"get_root_motion_position() / delta\n"
+" set_velocity(velocity)\n"
+" move_and_slide()\n"
+"[/gdscript]\n"
+"[/codeblocks]\n"
+"By using this in combination with [method "
+"get_root_motion_position_accumulator], you can apply the root motion "
+"position more correctly to account for the rotation of the node.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" state_machine.travel(\"Animate\")\n"
+" set_quaternion(get_quaternion() * animation_tree."
+"get_root_motion_rotation())\n"
+" var velocity: Vector3 = (animation_tree."
+"get_root_motion_rotation_accumulator().inverse() * get_quaternion()) * "
+"animation_tree.get_root_motion_position() / delta\n"
+" set_velocity(velocity)\n"
+" move_and_slide()\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+msgstr ""
+"将具有 [member root_motion_track] 的位置的运动增量,检索为一个可以在其他地方"
+"使用的 [Vector3]。\n"
+"如果 [member root_motion_track] 不是 [constant Animation.TYPE_POSITION_3D] 类"
+"型轨道的路径,则返回 [code]Vector3(0, 0, 0)[/code]。\n"
+"另见 [member root_motion_track] 和 [RootMotionView]。\n"
+"最基本的示例是将位置应用于 [CharacterBody3D]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var current_rotation: Quaternion\n"
+"\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" current_rotation = get_quaternion()\n"
+" state_machine.travel(\"Animate\")\n"
+" var velocity: Vector3 = current_rotation * animation_tree."
+"get_root_motion_position() / delta\n"
+" set_velocity(velocity)\n"
+" move_and_slide()\n"
+"[/gdscript]\n"
+"[/codeblocks]\n"
+"通过将其与 [method get_root_motion_position_accumulator] 结合使用,您可以更正"
+"确地应用根运动位置来考虑节点的旋转。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" state_machine.travel(\"Animate\")\n"
+" set_quaternion(get_quaternion() * animation_tree."
+"get_root_motion_rotation())\n"
+" var velocity: Vector3 = (animation_tree."
+"get_root_motion_rotation_accumulator().inverse() * get_quaternion()) * "
+"animation_tree.get_root_motion_position() / delta\n"
+" set_velocity(velocity)\n"
+" move_and_slide()\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+
+msgid ""
+"Retrieve the motion delta of rotation with the [member root_motion_track] as "
+"a [Quaternion] that can be used elsewhere.\n"
+"If [member root_motion_track] is not a path to a track of type [constant "
+"Animation.TYPE_ROTATION_3D], returns [code]Quaternion(0, 0, 0, 1)[/code].\n"
+"See also [member root_motion_track] and [RootMotionView].\n"
+"The most basic example is applying rotation to [CharacterBody3D]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" state_machine.travel(\"Animate\")\n"
+" set_quaternion(get_quaternion() * animation_tree."
+"get_root_motion_rotation())\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+msgstr ""
+"检索带有 [member root_motion_track] 的旋转运动,作为一个 [Quaternion],可以在"
+"其他地方使用。\n"
+"如果 [member root_motion_track] 不是 [constant Animation.TYPE_ROTATION_3D] 类"
+"型的轨迹的路径,返回 [code]Quaternion(0, 0, 0, 1)[/code] 。\n"
+"另见 [member root_motion_track] 和 [RootMotionView]。\n"
+"最基本的例子是对 [CharacterBody3D] 应用旋转。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" state_machine.travel(\"Animate\")\n"
+" set_quaternion(get_quaternion() * animation_tree."
+"get_root_motion_rotation() )\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+
+msgid ""
+"Retrieve the blended value of the rotation tracks with the [member "
+"root_motion_track] as a [Quaternion] that can be used elsewhere.\n"
+"This is necessary to apply the root motion position correctly, taking "
+"rotation into account. See also [method get_root_motion_position].\n"
+"Also, this is useful in cases where you want to respect the initial key "
+"values of the animation.\n"
+"For example, if an animation with only one key [code]Quaternion(0, 0, 0, 1)[/"
+"code] is played in the previous frame and then an animation with only one "
+"key [code]Quaternion(0, 0.707, 0, 0.707)[/code] is played in the next frame, "
+"the difference can be calculated as follows:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var prev_root_motion_rotation_accumulator: Quaternion\n"
+"\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" state_machine.travel(\"Animate\")\n"
+" var current_root_motion_rotation_accumulator: Quaternion = "
+"animation_tree.get_root_motion_Quaternion_accumulator()\n"
+" var difference: Quaternion = prev_root_motion_rotation_accumulator."
+"inverse() * current_root_motion_rotation_accumulator\n"
+" prev_root_motion_rotation_accumulator = "
+"current_root_motion_rotation_accumulator\n"
+" transform.basis *= difference\n"
+"[/gdscript]\n"
+"[/codeblocks]\n"
+"However, if the animation loops, an unintended discrete change may occur, so "
+"this is only useful for some simple use cases."
+msgstr ""
+"检索带有 [member root_motion_track] 的旋转轨道的混合值,作为一个 "
+"[Quaternion],可以在其他地方使用。\n"
+"这里必须正确地结合根运动位置,并且要考虑到旋转。参考 [method "
+"get_root_motion_position]。\n"
+"并且,当你想重视动画的初始动画帧的值时,这会很有用。\n"
+"比如说,如果一个动画在上一帧只播放一个 [code]Quaternion(0, 0, 0, 1)[/code] 动"
+"画帧,并且一个动画在下一帧只播放了一个动画帧的 [code]Quaternion(0, 0.707, 0, "
+"0.707)[/code] 时,它们相差的值可以这样求出:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var prev_root_motion_rotation_accumulator: Quaternion\n"
+"\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" state_machine.travel(\"Animate\")\n"
+" var current_root_motion_rotation_accumulator: Quaternion = "
+"animation_tree.get_root_motion_Quaternion_accumulator()\n"
+" var difference: Quaternion = prev_root_motion_rotation_accumulator."
+"inverse() * current_root_motion_rotation_accumulator\n"
+" prev_root_motion_rotation_accumulator = "
+"current_root_motion_rotation_accumulator\n"
+" transform.basis *= difference\n"
+"[/gdscript]\n"
+"[/codeblocks]\n"
+"然而,当一个动画循环时,可能会得到一个意料之外的变化,所以这个只在一些简单情"
+"况下才有用。"
+
+msgid ""
+"Retrieve the motion delta of scale with the [member root_motion_track] as a "
+"[Vector3] that can be used elsewhere.\n"
+"If [member root_motion_track] is not a path to a track of type [constant "
+"Animation.TYPE_SCALE_3D], returns [code]Vector3(0, 0, 0)[/code].\n"
+"See also [member root_motion_track] and [RootMotionView].\n"
+"The most basic example is applying scale to [CharacterBody3D]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var current_scale: Vector3 = Vector3(1, 1, 1)\n"
+"var scale_accum: Vector3 = Vector3(1, 1, 1)\n"
+"\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" current_scale = get_scale()\n"
+" scale_accum = Vector3(1, 1, 1)\n"
+" state_machine.travel(\"Animate\")\n"
+" scale_accum += animation_tree.get_root_motion_scale()\n"
+" set_scale(current_scale * scale_accum)\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+msgstr ""
+"检索具有[member root_motion_track]的scale的运动,作为一个[Vector3],可以在其"
+"他地方使用。\n"
+"如果[member root_motion_track]不是一个类型为[constant Animation."
+"TYPE_SCALE_3D]的轨迹的路径,返回[code]Vector3(0, 0, 0)[/code] 。\n"
+"另见[成员root_motion_track]和[RootMotionView]。\n"
+"最基本的例子是对[CharacterBody3D]应用缩放。\n"
+"[codeblocks]。\n"
+"[gdscript]\n"
+"var current_scale:Vector3 = Vector3(1, 1, 1)\n"
+"var scale_accum: Vector3 = Vector3(1, 1, 1)\n"
+"\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" current_scale = get_scale()\n"
+" scale_accum = Vector3(1, 1, 1)\n"
+" state_machine.travel(\"Animate\")\n"
+" scale_accum += animation_tree.get_root_motion_scale()\n"
+" set_scale(current_scale * scale_accum)\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+
+msgid ""
+"Retrieve the blended value of the scale tracks with the [member "
+"root_motion_track] as a [Vector3] that can be used elsewhere.\n"
+"For example, if an animation with only one key [code]Vector3(1, 1, 1)[/code] "
+"is played in the previous frame and then an animation with only one key "
+"[code]Vector3(2, 2, 2)[/code] is played in the next frame, the difference "
+"can be calculated as follows:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var prev_root_motion_scale_accumulator: Vector3\n"
+"\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" state_machine.travel(\"Animate\")\n"
+" var current_root_motion_scale_accumulator: Vector3 = animation_tree."
+"get_root_motion_scale_accumulator()\n"
+" var difference: Vector3 = current_root_motion_scale_accumulator - "
+"prev_root_motion_scale_accumulator\n"
+" prev_root_motion_scale_accumulator = "
+"current_root_motion_scale_accumulator\n"
+" transform.basis = transform.basis.scaled(difference)\n"
+"[/gdscript]\n"
+"[/codeblocks]\n"
+"However, if the animation loops, an unintended discrete change may occur, so "
+"this is only useful for some simple use cases."
+msgstr ""
+"检索带有 [member root_motion_track] 的缩放轨道的混合值,作为一个 [Vector3],"
+"可以在其他地方使用。\n"
+"例如,如果一个动画在前一帧只播放了一个动画帧 [code]Vector3(1, 1, 1)[/code],"
+"并且一个动画在后一帧只播放了一个动画帧 [code]Vector3(2, 2, 2)[/code],他们之"
+"间相差的值可以这样求出:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var prev_root_motion_scale_accumulator: Vector3\n"
+"\n"
+"func _process(delta):\n"
+" if Input.is_action_just_pressed(\"animate\"):\n"
+" state_machine.travel(\"Animate\")\n"
+" var current_root_motion_scale_accumulator: Vector3 = animation_tree."
+"get_root_motion_scale_accumulator()\n"
+" var difference: Vector3 = current_root_motion_scale_accumulator - "
+"prev_root_motion_scale_accumulator\n"
+" prev_root_motion_scale_accumulator = "
+"current_root_motion_scale_accumulator\n"
+" transform.basis = transform.basis.scaled(difference)\n"
+"[/gdscript]\n"
+"[/codeblocks]\n"
+"然而,当一个动画循环时,可能会得到一个意料之外的变化,所以这个只在一些简单情"
+"况下才有用。"
+
msgid "If [code]true[/code], the [AnimationTree] will be processing."
msgstr "如果 [code]true[/code] 时,[AnimationTree] 将执行逻辑处理。"
msgid "The path to the [AnimationPlayer] used for animating."
msgstr "用于动画的 [AnimationPlayer] 的路径。"
+msgid ""
+"The process mode of this [AnimationTree]. See [enum "
+"AnimationProcessCallback] for available modes."
+msgstr ""
+"该 [AnimationTree] 的处理模式。可用的模式见 [enum AnimationProcessCallback]。"
+
msgid "The root animation node of this [AnimationTree]. See [AnimationNode]."
msgstr "该 [AnimationTree] 的根动画节点。见 [AnimationNode]。"
msgid ""
+"Notifies when an animation finished playing.\n"
+"[b]Note:[/b] This signal is not emitted if an animation is looping or "
+"aborted. Also be aware of the possibility of unseen playback by sync and "
+"xfade."
+msgstr ""
+"某个动画完成播放时发出通知。\n"
+"[b]注意:[/b]如果动画需要循环或者是被中止的,则不会发出该信号。另外请意识到可"
+"能存在同步和过渡所导致的不可见的播放。"
+
+msgid ""
+"Notifies when an animation starts playing.\n"
+"[b]Note:[/b] This signal is not emitted if an animation is looping or "
+"playbacked from the middle. Also be aware of the possibility of unseen "
+"playback by sync and xfade."
+msgstr ""
+"某个动画完成播放时发出通知。\n"
+"[b]注意:[/b]如果动画需要循环或者是被中止的,则不会发出该信号。另外请意识到可"
+"能存在同步和过渡所导致的不可见的播放。"
+
+msgid ""
"The animations will progress during the physics frame (i.e. [method Node."
"_physics_process])."
msgstr "在物理帧期间进行动画(即 [method Node._physics_process])。"
@@ -3375,10 +8261,7 @@ msgid ""
msgstr "在空闲帧期间进行动画(即 [method Node._process])。"
msgid "The animations will only progress manually (see [method advance])."
-msgstr "只能手动进行动画(见 [method advance])。"
-
-msgid "2D area for detection and physics and audio influence."
-msgstr "用于检测、物理和音频影响的 2D 区域。"
+msgstr "只能手动行进动画(见 [method advance])。"
msgid "Using Area2D"
msgstr "使用 Area2D"
@@ -3401,7 +8284,7 @@ msgstr ""
"collision_layer] 必须是这个区域 [member CollisionObject2D.collision_mask] 的"
"一部分,这样才能被检测到。\n"
"出于性能的考虑(所有碰撞都是一起处理的),这个列表会在物理步骤中进行一次修"
-"改,而不是在物体被移动后立即修改。请考虑使用信号来代替。"
+"改,而不是在物体被移动后立即修改。可考虑改用信号。"
msgid ""
"The rate at which objects stop spinning in this area. Represents the angular "
@@ -3413,6 +8296,12 @@ msgstr ""
"关于阻尼的更多细节见 [member ProjectSettings.physics/2d/"
"default_angular_damp]。"
+msgid ""
+"Override mode for angular damping calculations within this area. See [enum "
+"SpaceOverride] for possible values."
+msgstr ""
+"此区域内的角阻尼计算的覆盖模式。有关可能的值,请参阅 [enum SpaceOverride]。"
+
msgid "The name of the area's audio bus."
msgstr "该区域音频总线的名称。"
@@ -3421,6 +8310,35 @@ msgid ""
msgstr "如果为 [code]true[/code],该区域的音频总线将覆盖默认的音频总线。"
msgid ""
+"The area's gravity intensity (in pixels per second squared). This value "
+"multiplies the gravity direction. This is useful to alter the force of "
+"gravity without altering its direction."
+msgstr ""
+"该区域的重力强度(以像素每平方秒为单位)。这个值是重力向量的倍数。这对于改变"
+"重力大小而不改变其方向很有用。"
+
+msgid "The area's gravity vector (not normalized)."
+msgstr "该区域的重力向量(未归一化)。"
+
+msgid ""
+"If [code]true[/code], gravity is calculated from a point (set via [member "
+"gravity_point_center]). See also [member gravity_space_override]."
+msgstr ""
+"如果为 [code]true[/code],则从一个点(通过 [member gravity_point_center] 设"
+"置)计算重力。参阅 [member gravity_space_override]。"
+
+msgid ""
+"If gravity is a point (see [member gravity_point]), this will be the point "
+"of attraction."
+msgstr "如果重力是一个点(参见 [member gravity_point]),这将是吸引力点。"
+
+msgid ""
+"Override mode for gravity calculations within this area. See [enum "
+"SpaceOverride] for possible values."
+msgstr ""
+"该区域内重力计算的覆盖模式。有关可能的值,请参阅 [enum SpaceOverride]。"
+
+msgid ""
"The rate at which objects stop moving in this area. Represents the linear "
"velocity lost per second.\n"
"See [member ProjectSettings.physics/2d/default_linear_damp] for more details "
@@ -3430,6 +8348,11 @@ msgstr ""
"关于阻尼的更多细节见 [member ProjectSettings.physics/2d/"
"default_linear_damp]。"
+msgid ""
+"Override mode for linear damping calculations within this area. See [enum "
+"SpaceOverride] for possible values."
+msgstr "该区域内线性阻尼计算的覆盖模式。可取的值见 [enum SpaceOverride]。"
+
msgid "If [code]true[/code], other monitoring areas can detect this area."
msgstr "如果为 [code]true[/code],其他监测区域可以检测到这个区域。"
@@ -3437,11 +8360,141 @@ msgid ""
"If [code]true[/code], the area detects bodies or areas entering and exiting "
"it."
msgstr ""
-"如果为 [code]true[/code],该区域能够检测到进入和退出该区域的实体或区域。"
+"为 [code]true[/code] 时,该区域能够检测到进入和退出该区域的实体或区域。"
msgid "The area's priority. Higher priority areas are processed first."
msgstr "该区域的优先级。将优先处理优先级较高的区域。"
+msgid ""
+"Emitted when the received [param area] enters this area. Requires [member "
+"monitoring] to be set to [code]true[/code]."
+msgstr ""
+"当接收的 [param area] 进入此区域时发出。需要 [member monitoring] 被设置为 "
+"[code]true[/code]。"
+
+msgid ""
+"Emitted when the received [param area] exits this area. Requires [member "
+"monitoring] to be set to [code]true[/code]."
+msgstr ""
+"当接收的 [param area] 退出此区域时发出。需要 [member monitoring] 被设置为 "
+"[code]true[/code]。"
+
+msgid ""
+"Emitted when a [Shape2D] of the received [param area] enters a shape of this "
+"area. Requires [member monitoring] to be set to [code]true[/code].\n"
+"[param local_shape_index] and [param area_shape_index] contain indices of "
+"the interacting shapes from this area and the other area, respectively. "
+"[param area_rid] contains the [RID] of the other area. These values can be "
+"used with the [PhysicsServer2D].\n"
+"[b]Example of getting the[/b] [CollisionShape2D] [b]node from the shape "
+"index:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var other_shape_owner = area.shape_find_owner(area_shape_index)\n"
+"var other_shape_node = area.shape_owner_get_owner(other_shape_owner)\n"
+"\n"
+"var local_shape_owner = shape_find_owner(local_shape_index)\n"
+"var local_shape_node = shape_owner_get_owner(local_shape_owner)\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+msgstr ""
+"当收到的 [param area] 的 [Shape2D] 进入这个区域的形状时发出。要求[成员监控]被"
+"设置为 [code]true[/code] 。\n"
+"[param local_shape_index] 和 [param area_shape_index] 分别包含来自这个区域和"
+"另一个区域的交互形状的索引。[param area_rid] 包含另一个区域的 [RID]。这些值可"
+"以与 [PhysicsServer2D] 一起使用。\n"
+"[b]从形状索引中获取[/b] [CollisionShape2D][b]节点的例子。[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var other_shape_owner = area.shape_find_owner( area_shape_index)\n"
+"var other_shape_node = area.shape_owner_get_owner(other_shape_owner)\n"
+"\n"
+"var local_shape_owner = shape_find_owner(local_shape_index)\n"
+"var local_shape_node = shape_owner_get_owner(local_shape_owner)\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+
+msgid ""
+"Emitted when a [Shape2D] of the received [param area] exits a shape of this "
+"area. Requires [member monitoring] to be set to [code]true[/code].\n"
+"See also [signal area_shape_entered]."
+msgstr ""
+"当接收的 [param area] 的 [Shape2D] 退出此区域的形状时发出。需要 [member "
+"monitoring] 被设置为 [code]true[/code]。\n"
+"另见 [signal area_shape_entered]。"
+
+msgid ""
+"Emitted when the received [param body] enters this area. [param body] can be "
+"a [PhysicsBody2D] or a [TileMap]. [TileMap]s are detected if their [TileSet] "
+"has collision shapes configured. Requires [member monitoring] to be set to "
+"[code]true[/code]."
+msgstr ""
+"当接收到的 [param body] 进入这个区域时发出的。[param body] 可以是一个 "
+"[PhysicsBody2D] 或一个 [TileMap]。如果 [TileMap] 的 [TileSet] 配置了碰撞形"
+"状,就会被检测到。需要将 [member monitoring] 设置为 [code]true[/code] 。"
+
+msgid ""
+"Emitted when the received [param body] exits this area. [param body] can be "
+"a [PhysicsBody2D] or a [TileMap]. [TileMap]s are detected if their [TileSet] "
+"has collision shapes configured. Requires [member monitoring] to be set to "
+"[code]true[/code]."
+msgstr ""
+"当接收到的 [param body] 离开这个区域时发出的。[param body] 可以是一个 "
+"[PhysicsBody2D] 或一个 [TileMap]。如果 [TileMap] 的 [TileSet] 配置了碰撞形"
+"状,就会被检测到。要求 [member monitoring] 被设置为 [code]true[/code] 。"
+
+msgid ""
+"Emitted when a [Shape2D] of the received [param body] enters a shape of this "
+"area. [param body] can be a [PhysicsBody2D] or a [TileMap]. [TileMap]s are "
+"detected if their [TileSet] has collision shapes configured. Requires "
+"[member monitoring] to be set to [code]true[/code].\n"
+"[param local_shape_index] and [param body_shape_index] contain indices of "
+"the interacting shapes from this area and the interacting body, "
+"respectively. [param body_rid] contains the [RID] of the body. These values "
+"can be used with the [PhysicsServer2D].\n"
+"[b]Example of getting the[/b] [CollisionShape2D] [b]node from the shape "
+"index:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var body_shape_owner = body.shape_find_owner(body_shape_index)\n"
+"var body_shape_node = body.shape_owner_get_owner(body_shape_owner)\n"
+"\n"
+"var local_shape_owner = shape_find_owner(local_shape_index)\n"
+"var local_shape_node = shape_owner_get_owner(local_shape_owner)\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+msgstr ""
+"当收到的 [param body] 的 [Shape2D] 进入这个区域的形状时发出。[param body] 可"
+"以是一个 [PhysicsBody2D] 或一个 [TileMap]。如果 [TileMap] 的 [TileSet] 配置了"
+"碰撞形状,则会被检测到。要求 [member monitoring] 被设置为 [code]true[/"
+"code] 。\n"
+"[param local_shape_index] 和 [param body_shape_index] 分别包含来自这个区域和"
+"交互体的交互形状的指数。[param body_rid] 包含体的 [RID]。这些值可以与 "
+"[PhysicsServer2D] 一起使用。\n"
+"[b]从形状索引中获取[/b] [CollisionShape2D] [b]节点的例子。[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var body_shape_owner = body.shape_find_owner(body_shape_index)\n"
+"var body_shape_node = body.shape_owner_get_owner(body_shape_owner)\n"
+"\n"
+"var local_shape_owner = shape_find_owner(local_shape_index)\n"
+"var local_shape_node = shape_owner_get_owner(local_shape_owner)\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+
+msgid ""
+"Emitted when a [Shape2D] of the received [param body] exits a shape of this "
+"area. [param body] can be a [PhysicsBody2D] or a [TileMap]. [TileMap]s are "
+"detected if their [TileSet] has collision shapes configured. Requires "
+"[member monitoring] to be set to [code]true[/code].\n"
+"See also [signal body_shape_entered]."
+msgstr ""
+"当收到的 [param body] 的 [Shape2D] 退出这个区域的形状时发出。[param body] 可"
+"以是一个 [PhysicsBody2D] 或一个 [TileMap]。如果 [TileMap] 的 [TileSet] 配置了"
+"碰撞形状,则会被检测到。要求 [member monitoring] 被设置为 [code]true[/"
+"code] 。\n"
+"另请参阅 [signal body_shape_entered]。"
+
msgid "This area does not affect gravity/damping."
msgstr "这个区域不影响重力/阻尼。"
@@ -3471,13 +8524,59 @@ msgstr ""
"这个区域取代了到目前为止计算出的任何重力/阻尼(按 [member priority] 顺序),"
"但继续计算其余的区域。"
-msgid "3D area for detection and physics and audio influence."
-msgstr "用于检测和物理及音频影响的 3D 区域。"
+msgid ""
+"3D area that detects [CollisionObject3D] nodes overlapping, entering, or "
+"exiting. Can also alter or override local physics parameters (gravity, "
+"damping) and route audio to custom audio buses.\n"
+"To give the area its shape, add a [CollisionShape3D] or a "
+"[CollisionPolygon3D] node as a [i]direct[/i] child (or add multiple such "
+"nodes as direct children) of the area.\n"
+"[b]Warning:[/b] See [ConcavePolygonShape3D] (also called \"trimesh\") for a "
+"warning about possibly unexpected behavior when using that shape for an "
+"area.\n"
+"[b]Warning:[/b] With a non-uniform scale this node will probably not "
+"function as expected. Please make sure to keep its scale uniform (i.e. the "
+"same on all axes), and change the size(s) of its collision shape(s) instead."
+msgstr ""
+"3D 区域可以检测 [CollisionObject3D] 节点重叠、进入或退出 。还可以更改或覆盖局"
+"部物理参数(重力、阻尼),以及将音频路由到自定义音频总线。\n"
+"要为区域设置形状,请添加一个 [CollisionShape3D] 或 [CollisionPolygon3D] 节点"
+"作为该区域的[i]直接[/i]子节点(或添加多个该类节点作为直接子节点)。\n"
+"[b]警告:[/b]请参阅 [ConcavePolygonShape3D](也称为“三角形网格”)以获取有关在"
+"区域中使用该形状时可能出现意外行为的警告。\n"
+"[b]警告:[/b]如果缩放比例不一致,该节点可能无法按预期运行。请确保保持其比例统"
+"一(即在所有轴上相同),并改为更改其碰撞形状的大小。"
msgid "GUI in 3D Demo"
msgstr "3D GUI 演示"
msgid ""
+"Returns a list of intersecting [Area3D]s. The overlapping area's [member "
+"CollisionObject3D.collision_layer] must be part of this area's [member "
+"CollisionObject3D.collision_mask] in order to be detected.\n"
+"For performance reasons (collisions are all processed at the same time) this "
+"list is modified once during the physics step, not immediately after objects "
+"are moved. Consider using signals instead."
+msgstr ""
+"返回相交的 [Area3D] 的列表。重叠区域的 [member CollisionObject3D."
+"collision_layer] 必须是该区域的 [member CollisionObject3D.collision_mask] 的"
+"一部分才能被检测到。\n"
+"出于性能原因(同时处理所有碰撞),此列表在物理步骤期间修改一次,而不是在实体"
+"被移动后立即修改。可考虑改用信号。"
+
+msgid ""
+"Returns [code]true[/code] if the given [Area3D] intersects or overlaps this "
+"[Area3D], [code]false[/code] otherwise.\n"
+"[b]Note:[/b] The result of this test is not immediate after moving objects. "
+"For performance, list of overlaps is updated once per frame and before the "
+"physics step. Consider using signals instead."
+msgstr ""
+"如果给定的 [Area3D] 与此 [Area3D] 相交或重叠,则返回 [code]true[/code],否则"
+"返回 [code]false[/code]。\n"
+"[b]注意:[/b]此测试的结果不是在移动实体后立即产生的。为了提高性能,重叠列表每"
+"帧仅更新一次,并且在物理步骤之前更新。可考虑改用信号。"
+
+msgid ""
"The rate at which objects stop spinning in this area. Represents the angular "
"velocity lost per second.\n"
"See [member ProjectSettings.physics/3d/default_angular_damp] for more "
@@ -3488,12 +8587,20 @@ msgstr ""
"default_angular_damp]。"
msgid ""
+"The area's gravity intensity (in meters per second squared). This value "
+"multiplies the gravity direction. This is useful to alter the force of "
+"gravity without altering its direction."
+msgstr ""
+"该区域的重力强度(以米每平方秒为单位)。这个值是重力向量的倍数。这对于改变重"
+"力大小而不改变其方向很有用。"
+
+msgid ""
"The rate at which objects stop moving in this area. Represents the linear "
"velocity lost per second.\n"
"See [member ProjectSettings.physics/3d/default_linear_damp] for more details "
"about damping."
msgstr ""
-"物体在此区域减速的速率。代表每秒损失的线速度。\n"
+"实体在此区域减速的速率。代表每秒损失的线速度。\n"
"关于阻尼的更多细节,见[member ProjectSettings.physics/3d/"
"default_linear_damp]。"
@@ -3505,7 +8612,10 @@ msgstr ""
"度为 [code]0.1[/code]。"
msgid "If [code]true[/code], the area applies reverb to its associated audio."
-msgstr "如果为 [code]true[/code],该区域会将混响应用于其相关音频。"
+msgstr "如果为 [code]true[/code],该区域会将混响应用于其关联音频。"
+
+msgid "The name of the reverb bus to use for this area's associated audio."
+msgstr "用于该区域关联音频的混响总线的名称。"
msgid ""
"The degree to which this area's reverb is a uniform effect. Ranges from "
@@ -3514,12 +8624,341 @@ msgstr ""
"该区域的混响效果均匀的程度。范围从 [code]0[/code] 到 [code]1[/code],精度为 "
"[code]0.1[/code]。"
+msgid ""
+"The exponential rate at which wind force decreases with distance from its "
+"origin."
+msgstr "风力随着距其原点的距离而衰减的指数速率。"
+
+msgid "The magnitude of area-specific wind force."
+msgstr "特定区域风力的大小。"
+
+msgid ""
+"The [Node3D] which is used to specify the the direction and origin of an "
+"area-specific wind force. The direction is opposite to the z-axis of the "
+"[Node3D]'s local transform, and its origin is the origin of the [Node3D]'s "
+"local transform."
+msgstr ""
+"[Node3D] 用于指定特定区域风力的方向和原点。方向与 [Node3D] 局部变换的 z 轴相"
+"反,其原点为 [Node3D] 局部变换的原点。"
+
+msgid ""
+"Emitted when a [Shape3D] of the received [param area] enters a shape of this "
+"area. Requires [member monitoring] to be set to [code]true[/code].\n"
+"[param local_shape_index] and [param area_shape_index] contain indices of "
+"the interacting shapes from this area and the other area, respectively. "
+"[param area_rid] contains the [RID] of the other area. These values can be "
+"used with the [PhysicsServer3D].\n"
+"[b]Example of getting the[/b] [CollisionShape3D] [b]node from the shape "
+"index:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var other_shape_owner = area.shape_find_owner(area_shape_index)\n"
+"var other_shape_node = area.shape_owner_get_owner(other_shape_owner)\n"
+"\n"
+"var local_shape_owner = shape_find_owner(local_shape_index)\n"
+"var local_shape_node = shape_owner_get_owner(local_shape_owner)\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+msgstr ""
+"当收到的 [param area] 的 [Shape3D] 进入这个区域的形状时发出。要求 [member "
+"monitoring] 被设置为 [code]true[/code] 。\n"
+"[param local_shape_index] 和 [param area_shape_index] 分别包含来自这个区域和"
+"另一个区域的交互形状的索引。[param area_rid] 包含另一个区域的 [RID]。这些值可"
+"以与 [PhysicsServer3D] 一起使用。\n"
+"[b]从形状索引中获取[/b] [CollisionShape3D] [b]节点的例子。[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var other_shape_owner = area.shape_find_owner( area_shape_index)\n"
+"var other_shape_node = area.shape_owner_get_owner(other_shape_owner)\n"
+"\n"
+"var local_shape_owner = shape_find_owner(local_shape_index)\n"
+"var local_shape_node = shape_owner_get_owner(local_shape_owner)\n"
+"[/gdscript]\n"
+"[/codeblocks]"
+
+msgid ""
+"Emitted when a [Shape3D] of the received [param area] exits a shape of this "
+"area. Requires [member monitoring] to be set to [code]true[/code].\n"
+"See also [signal area_shape_entered]."
+msgstr ""
+"当接收的 [param area] 的 [Shape3D] 退出此区域的形状时发出。需要 [member "
+"monitoring] 被设置为 [code]true[/code]。\n"
+"另见 [signal area_shape_entered]。"
+
+msgid ""
+"Emitted when the received [param body] enters this area. [param body] can be "
+"a [PhysicsBody3D] or a [GridMap]. [GridMap]s are detected if their "
+"[MeshLibrary] has collision shapes configured. Requires [member monitoring] "
+"to be set to [code]true[/code]."
+msgstr ""
+"当接收到的 [param body] 进入这个区域时触发。[param body] 可以是一个 "
+"[PhysicsBody3D] 或一个 [GridMap]。如果 [GridMap] 的 [MeshLibrary] 配置了碰撞"
+"形状,就会被检测到。需要将 [member monitoring] 设置为 [code]true[/code] 。"
+
+msgid ""
+"Emitted when the received [param body] exits this area. [param body] can be "
+"a [PhysicsBody3D] or a [GridMap]. [GridMap]s are detected if their "
+"[MeshLibrary] has collision shapes configured. Requires [member monitoring] "
+"to be set to [code]true[/code]."
+msgstr ""
+"当接收到的 [param body] 离开这个区域时发出的。[param body] 可以是一个 "
+"[PhysicsBody3D] 或一个 [GridMap]。如果 [GridMap] 的 [MeshLibrary] 配置了碰撞"
+"形状,就会被检测到。要求 [member monitoring] 被设置为 [code]true[/code] 。"
+
msgid "A generic array datatype."
msgstr "通用数组数据类型。"
+msgid ""
+"A generic array that can contain several elements of any type, accessible by "
+"a numerical index starting at 0. Negative indices can be used to count from "
+"the back, like in Python (-1 is the last element, -2 is the second to last, "
+"etc.).\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var array = [\"One\", 2, 3, \"Four\"]\n"
+"print(array[0]) # One.\n"
+"print(array[2]) # 3.\n"
+"print(array[-1]) # Four.\n"
+"array[2] = \"Three\"\n"
+"print(array[-2]) # Three.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var array = new Godot.Collections.Array{\"One\", 2, 3, \"Four\"};\n"
+"GD.Print(array[0]); // One.\n"
+"GD.Print(array[2]); // 3.\n"
+"GD.Print(array[array.Count - 1]); // Four.\n"
+"array[2] = \"Three\";\n"
+"GD.Print(array[array.Count - 2]); // Three.\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Arrays can be concatenated using the [code]+[/code] operator:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var array1 = [\"One\", 2]\n"
+"var array2 = [3, \"Four\"]\n"
+"print(array1 + array2) # [\"One\", 2, 3, \"Four\"]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Array concatenation is not possible with C# arrays, but is with Godot."
+"Collections.Array.\n"
+"var array1 = new Godot.Collections.Array{\"One\", 2};\n"
+"var array2 = new Godot.Collections.Array{3, \"Four\"};\n"
+"GD.Print(array1 + array2); // Prints [One, 2, 3, Four]\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] Concatenating with the [code]+=[/code] operator will create a "
+"new array, which has a cost. If you want to append another array to an "
+"existing array, [method append_array] is more efficient.\n"
+"[b]Note:[/b] Arrays are always passed by reference. To get a copy of an "
+"array that can be modified independently of the original array, use [method "
+"duplicate].\n"
+"[b]Note:[/b] Erasing elements while iterating over arrays is [b]not[/b] "
+"supported and will result in unpredictable behavior.\n"
+"[b]Note:[/b] When declaring an array with [code]const[/code], the array "
+"itself can still be mutated by defining the values at individual indices or "
+"pushing/removing elements. Using [code]const[/code] will only prevent "
+"assigning the constant with another value after it was initialized."
+msgstr ""
+"通用数组,可以包含任意类型的多个元素,可以通过从 0 开始的数字索引进行访问。负"
+"数索引可以用来从后面数起,就像在 Python 中一样(-1 是最后一个元素、-2 是倒数"
+"第二,以此类推)。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var array = [\"One\", 2, 3, \"Four\"]\n"
+"print(array[0]) # One。\n"
+"print(array[2]) # 3。\n"
+"print(array[-1]) # Four。\n"
+"array[2] = \"Three\"\n"
+"print(array[-2]) # Three。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var array = new Godot.Collections.Array{\"One\", 2, 3, \"Four\"};\n"
+"GD.Print(array[0]); // One。\n"
+"GD.Print(array[2]); // 3。\n"
+"GD.Print(array[array.Count - 1]); // Four。\n"
+"array[2] = \"Three\";\n"
+"GD.Print(array[array.Count - 2]); // Three。\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"可以使用 [code]+[/code] 运算符连接数组:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var array1 = [\"One\", 2]\n"
+"var array2 = [3, \"Four\"]\n"
+"print(array1 + array2) # [\"One\", 2, 3, \"Four\"]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// C# 数组无法进行数组串联,但 Godot.Collections.Array 可以。\n"
+"var array1 = new Godot.Collections.Array{\"One\", 2};\n"
+"var array2 = new Godot.Collections.Array{3, \"Four\"};\n"
+"GD.Print(array1 + array2); // Prints [One, 2, 3, Four]\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]用 [code]+=[/code] 操作符串联将创建一个新的数组,这是有代价的。"
+"如果要将另一个数组追加到现有的数组中,[method append_array] 会更有效。\n"
+"[b]注意:[/b]数组总是通过引用来传递。要获得一个可以独立于原始数组而被修改的数"
+"组的副本,请使用 [method duplicate]。\n"
+"[b]注意:[/b][b]不[/b]支持在遍历数组时擦除元素,这将导致不可预知的行为。\n"
+"[b]注意:[/b]当用 [code]const[/code] 声明数组时,数组本身仍然可以通过定义各个"
+"索引上的值或追加/移除元素而被修改。使用 [code]const[/code] 只能防止该常量在初"
+"始化后被赋值为另一个值。"
+
msgid "Constructs an empty [Array]."
msgstr "构造空的 [Array]。"
+msgid "Creates a typed array from the [param base] array."
+msgstr "从 [param base] 数组创建具有类型的数组。"
+
+msgid ""
+"Returns the same array as [param from]. If you need a copy of the array, use "
+"[method duplicate]."
+msgstr ""
+"返回与 [param from] 相同的数组。如果你需要一个数组的副本,请使用 [method "
+"duplicate]。"
+
+msgid "Constructs an array from a [PackedByteArray]."
+msgstr "从 [PackedByteArray] 构造一个数组。"
+
+msgid "Constructs an array from a [PackedColorArray]."
+msgstr "从 [PackedColorArray] 构造一个数组。"
+
+msgid "Constructs an array from a [PackedFloat32Array]."
+msgstr "从 [PackedFloat32Array] 构造一个数组。"
+
+msgid "Constructs an array from a [PackedFloat64Array]."
+msgstr "从 [PackedFloat64Array] 构造一个数组。"
+
+msgid "Constructs an array from a [PackedInt32Array]."
+msgstr "从 [PackedInt32Array] 构造一个数组。"
+
+msgid "Constructs an array from a [PackedInt64Array]."
+msgstr "从 [PackedInt64Array] 构造一个数组。"
+
+msgid "Constructs an array from a [PackedStringArray]."
+msgstr "从 [PackedStringArray] 构造一个数组。"
+
+msgid "Constructs an array from a [PackedVector2Array]."
+msgstr "从 [PackedVector2Array] 构造一个数组。"
+
+msgid "Constructs an array from a [PackedVector3Array]."
+msgstr "从 [PackedVector3Array] 构造一个数组。"
+
+msgid ""
+"Calls the provided [Callable] on each element in the array and returns "
+"[code]true[/code] if the [Callable] returns [code]true[/code] for [i]all[/i] "
+"elements in the array. If the [Callable] returns [code]false[/code] for one "
+"array element or more, this method returns [code]false[/code].\n"
+"The callable's method should take one [Variant] parameter (the current array "
+"element) and return a boolean value.\n"
+"[codeblock]\n"
+"func _ready():\n"
+" print([6, 10, 6].all(greater_than_5)) # Prints True (3/3 elements "
+"evaluate to `true`).\n"
+" print([4, 10, 4].all(greater_than_5)) # Prints False (1/3 elements "
+"evaluate to `true`).\n"
+" print([4, 4, 4].all(greater_than_5)) # Prints False (0/3 elements "
+"evaluate to `true`).\n"
+" print([].all(greater_than_5)) # Prints True (0/0 elements evaluate to "
+"`true`).\n"
+"\n"
+" print([6, 10, 6].all(func(number): return number > 5)) # Prints True. "
+"Same as the first line above, but using lambda function.\n"
+"\n"
+"func greater_than_5(number):\n"
+" return number > 5\n"
+"[/codeblock]\n"
+"See also [method any], [method filter], [method map] and [method reduce].\n"
+"[b]Note:[/b] Unlike relying on the size of an array returned by [method "
+"filter], this method will return as early as possible to improve performance "
+"(especially with large arrays).\n"
+"[b]Note:[/b] For an empty array, this method [url=https://en.wikipedia.org/"
+"wiki/Vacuous_truth]always[/url] returns [code]true[/code]."
+msgstr ""
+"对数组中的每个元素调用提供的 [Callable],如果 [Callable] 为数组中的 [i]所有[/"
+"i] 元素返回 [code]true[/code],则返回 [code]true[/code]。如果 [Callable] 为一"
+"个或多个数组元素返回 [code]false[/code],则此方法返回 [code]false[/code]。\n"
+"该可调用的方法应采用一个 [Variant] 参数(当前数组元素)并返回一个布尔值。\n"
+"[codeblock]\n"
+"func _ready():\n"
+" print([6, 10, 6].all(greater_than_5)) # 输出 True(3/3 元素评估为 "
+"`true`)。\n"
+" print([4, 10, 4].all(greater_than_5)) # 输出 False(1/3 元素评估为 "
+"`true`)。\n"
+" print([4, 4, 4].all(greater_than_5)) # 输出 False(0/3 元素评估为 "
+"`true`)。\n"
+" print([].all(greater_than_5)) # 输出 True(0/0 元素评估为 `true`)。\n"
+"\n"
+" print([6, 10, 6].all(func(number): return number > 5)) # 输出 True。与上"
+"面的第一行相同,但使用 lambda 函数。\n"
+"\n"
+"func greater_than_5(number):\n"
+" return number > 5\n"
+"[/codeblock]\n"
+"另请参见 [method any]、[method filter]、[method map] 和 [method reduce]。\n"
+"[b]注意:[/b]与依赖 [method filter] 返回的数组大小不同,此方法会尽可能早地返"
+"回以提高性能(尤其是对于大型数组)。\n"
+"[b]注意:[/b]对于空数组,此方法 [url=https://en.wikipedia.org/wiki/"
+"Vacuous_truth]总是[/url] 返回 [code]true[/code]。"
+
+msgid ""
+"Calls the provided [Callable] on each element in the array and returns "
+"[code]true[/code] if the [Callable] returns [code]true[/code] for [i]one or "
+"more[/i] elements in the array. If the [Callable] returns [code]false[/code] "
+"for all elements in the array, this method returns [code]false[/code].\n"
+"The callable's method should take one [Variant] parameter (the current array "
+"element) and return a boolean value.\n"
+"[codeblock]\n"
+"func _ready():\n"
+" print([6, 10, 6].any(greater_than_5)) # Prints True (3 elements "
+"evaluate to `true`).\n"
+" print([4, 10, 4].any(greater_than_5)) # Prints True (1 elements "
+"evaluate to `true`).\n"
+" print([4, 4, 4].any(greater_than_5)) # Prints False (0 elements "
+"evaluate to `true`).\n"
+" print([].any(greater_than_5)) # Prints False (0 elements evaluate to "
+"`true`).\n"
+"\n"
+" print([6, 10, 6].any(func(number): return number > 5)) # Prints True. "
+"Same as the first line above, but using lambda function.\n"
+"\n"
+"func greater_than_5(number):\n"
+" return number > 5\n"
+"[/codeblock]\n"
+"See also [method all], [method filter], [method map] and [method reduce].\n"
+"[b]Note:[/b] Unlike relying on the size of an array returned by [method "
+"filter], this method will return as early as possible to improve performance "
+"(especially with large arrays).\n"
+"[b]Note:[/b] For an empty array, this method always returns [code]false[/"
+"code]."
+msgstr ""
+"对数组中的每个元素调用提供的 [Callable],如果 [Callable] 为数组中的 [i] 一个"
+"或多个 [/i] 元素返回 [code]true[/code],则返回 [code]true[/code]。如果 "
+"[Callable] 为数组中的所有元素返回 [code]false[/code],则此方法返回 "
+"[code]false[/code]。\n"
+"可调用的方法应采用一个 [Variant] 参数(当前数组元素)并返回一个布尔值。\n"
+"[codeblock]\n"
+"func _ready():\n"
+" print([6, 10, 6].any(greater_than_5)) # 输出 True(3 个元素评估为 "
+"`true`)。\n"
+" print([4, 10, 4].any(greater_than_5)) # 输出 True(1 个元素评估为 "
+"`true`)。\n"
+" print([4, 4, 4].any(greater_than_5)) # 输出 False(0 个元素评估为 "
+"`true`)。\n"
+" print([].any(greater_than_5)) # 输出 False(0 个元素评估为 `true`)。\n"
+"\n"
+" print([6, 10, 6].any(func(number): return number > 5)) # 输出 True。与上"
+"面的第一行相同,但使用 lambda 函数。\n"
+"\n"
+"func greater_than_5(number):\n"
+" return number > 5\n"
+"[/codeblock]\n"
+"另请参阅 [method all]、[method filter]、[method map] 和 [method reduce]。\n"
+"[b]注意:[/b]与依赖 [method filter] 返回的数组大小不同,此方法会尽可能早地返"
+"回以提高性能(尤其是对于大型数组)。\n"
+"[b]注意:[/b]对于一个空数组,这个方法总是返回 [code]false[/code]。"
+
msgid ""
"Appends an element at the end of the array (alias of [method push_back])."
msgstr "向数组末尾追加一个元素([method push_back] 的别名)。"
@@ -3533,12 +8972,12 @@ msgid ""
"print(array1) # Prints [1, 2, 3, 4, 5, 6].\n"
"[/codeblock]"
msgstr ""
-"在此数组的末尾追加另一个数组。\n"
+"在该数组的末尾追加其他数组。\n"
"[codeblock]\n"
"var array1 = [1, 2, 3]\n"
"var array2 = [4, 5, 6]\n"
"array1.append_array(array2)\n"
-"print(array1) # 打印 [1, 2, 3, 4, 5, 6].\n"
+"print(array1) # 输出 [1, 2, 3, 4, 5, 6].\n"
"[/codeblock]"
msgid ""
@@ -3562,6 +9001,97 @@ msgid "Returns the number of times an element is in the array."
msgstr "返回元素在数组中出现的次数。"
msgid ""
+"Removes the first occurrence of a value from the array. If the value does "
+"not exist in the array, nothing happens. To remove an element by index, use "
+"[method remove_at] instead.\n"
+"[b]Note:[/b] This method acts in-place and doesn't return a value.\n"
+"[b]Note:[/b] On large arrays, this method will be slower if the removed "
+"element is close to the beginning of the array (index 0). This is because "
+"all elements placed after the removed element have to be reindexed.\n"
+"[b]Note:[/b] Do not erase entries while iterating over the array."
+msgstr ""
+"从数组中移除第一个匹配的值。如果数组中不存在该值,则什么也不会发生。要通过索"
+"引移除元素,请改用 [method remove_at]。\n"
+"[b]注意:[/b]这个方法是就地操作的,不返回值。\n"
+"[b]注意:[/b]在大型数组上,如果移除的元素靠近数组的开头(索引 0),则此方法会"
+"较慢。这是因为所有放置在移除元素之后的元素都必须重新索引。\n"
+"[b]注意:[/b]在遍历数组时不要移除条目。"
+
+msgid ""
+"Assigns the given value to all elements in the array. This can typically be "
+"used together with [method resize] to create an array with a given size and "
+"initialized elements:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var array = []\n"
+"array.resize(10)\n"
+"array.fill(0) # Initialize the 10 elements to 0.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var array = new Godot.Collections.Array();\n"
+"array.Resize(10);\n"
+"array.Fill(0); // Initialize the 10 elements to 0.\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] If [param value] is of a reference type ([Object]-derived, "
+"[Array], [Dictionary], etc.) then the array is filled with the references to "
+"the same object, i.e. no duplicates are created."
+msgstr ""
+"将该数组中的所有元素都设置为给定的值。通常与 [method resize] 一起使用,用于创"
+"建给定大小的数组并对其元素进行初始化:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var array = []\n"
+"array.resize(10)\n"
+"array.fill(0) # 将 10 个元素都初始化为 0。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var array = new Godot.Collections.Array();\n"
+"array.Resize(10);\n"
+"array.Fill(0); // 将 10 个元素都初始化为 0。\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]如果 [param value] 为引用类型(派生自 [Object]、[Array]、"
+"[Dictionary] 等),那么会用同一个对象的引用填充该数组,即不会创建副本。"
+
+msgid ""
+"Calls the provided [Callable] on each element in the array and returns a new "
+"array with the elements for which the method returned [code]true[/code].\n"
+"The callable's method should take one [Variant] parameter (the current array "
+"element) and return a boolean value.\n"
+"[codeblock]\n"
+"func _ready():\n"
+" print([1, 2, 3].filter(remove_1)) # Prints [2, 3].\n"
+" print([1, 2, 3].filter(func(number): return number != 1)) # Same as "
+"above, but using lambda function.\n"
+"\n"
+"func remove_1(number):\n"
+" return number != 1\n"
+"[/codeblock]\n"
+"See also [method any], [method all], [method map] and [method reduce]."
+msgstr ""
+"在数组中的每个元素上调用提供的 [Callable],并返回一个新数组,其中包含调用方法"
+"后返回值为 [code]true[/code] 的元素。\n"
+"可调用的方法应该采用一个 [Variant] 参数(当前数组元素)并返回一个布尔值。\n"
+"[codeblock]\n"
+"func _ready():\n"
+" print([1, 2, 3].filter(remove_1)) # 打印 [2, 3]。\n"
+" print([1, 2, 3].filter(func(number): return number != 1)) # 同上,但使用 "
+"lambda 函数。\n"
+"\n"
+"func remove_1(number):\n"
+" return number != 1\n"
+"[/codeblock]\n"
+"另请参见 [method any]、[method all]、[method map] 和 [method reduce]。"
+
+msgid ""
+"Searches the array for a value and returns its index or [code]-1[/code] if "
+"not found. Optionally, the initial search index can be passed."
+msgstr ""
+"在数组中搜索值并返回其索引,如果未找到则返回 [code]-1[/code] 。可选地,可以传"
+"递起始搜索索引。"
+
+msgid ""
"Returns the first element of the array. Prints an error and returns "
"[code]null[/code] if the array is empty.\n"
"[b]Note:[/b] Calling this function is not the same as writing [code]array[0]"
@@ -3603,6 +9133,37 @@ msgid "Returns [code]true[/code] if the array is empty."
msgstr "该数组为空时,返回 [code]true[/code]。"
msgid ""
+"Calls the provided [Callable] for each element in the array and returns a "
+"new array filled with values returned by the method.\n"
+"The callable's method should take one [Variant] parameter (the current array "
+"element) and can return any [Variant].\n"
+"[codeblock]\n"
+"func _ready():\n"
+" print([1, 2, 3].map(negate)) # Prints [-1, -2, -3].\n"
+" print([1, 2, 3].map(func(number): return -number)) # Same as above, but "
+"using lambda function.\n"
+"\n"
+"func negate(number):\n"
+" return -number\n"
+"[/codeblock]\n"
+"See also [method filter], [method reduce], [method any] and [method all]."
+msgstr ""
+"为数组中的每个元素调用提供的 [Callable] 并返回一个新数组,其中填充了该调用方"
+"法返回的值。\n"
+"可调用的方法应该采用一个 [Variant] 参数(当前数组元素)并且可以返回任意 "
+"[Variant]。\n"
+"[codeblock]\n"
+"func _ready():\n"
+" print([1, 2, 3].map(negate)) # 打印 [-1, -2, -3].\n"
+" print([1, 2, 3].map(func(number): return -number)) # 同上,但使用 lambda "
+"函数。\n"
+"\n"
+"func negate(number):\n"
+" return -number\n"
+"[/codeblock]\n"
+"另请参见 [method filter]、[method reduce]、[method any] 和 [method all]。"
+
+msgid ""
"Returns the maximum value contained in the array if all elements are of "
"comparable types. If the elements can't be compared, [code]null[/code] is "
"returned."
@@ -3619,12 +9180,37 @@ msgstr ""
"[code]null[/code]。"
msgid ""
+"Returns a random value from the target array.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var array: Array[int] = [1, 2, 3, 4]\n"
+"print(array.pick_random()) # Prints either of the four numbers.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var array = new Godot.Collections.Array { 1, 2, 3, 4 };\n"
+"GD.Print(array.PickRandom()); // Prints either of the four numbers.\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"从目标数组中返回一个随机值。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var array: Array[int] = [1, 2, 3, 4]\n"
+"print(array.pick_random()) # 输出四个数字中的任何一个。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var array = new Godot.Collections.Array { 1, 2, 3, 4 };\n"
+"GD.Print(array.PickRandom()); // 输出四个数字中的任何一个。\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Removes and returns the last element of the array. Returns [code]null[/code] "
"if the array is empty, without printing an error message. See also [method "
"pop_front]."
msgstr ""
-"移除并返回数组中的末尾元素。数组为空时,返回 [code]null[/code]。另请参阅 "
-"[method pop_front]。"
+"移除并返回数组中的末尾元素。如果数组为空,则返回 [code]null[/code],而不打印"
+"错误消息。另见[method pop_front]。"
msgid ""
"Removes and returns the first element of the array. Returns [code]null[/"
@@ -3680,19 +9266,328 @@ msgstr ""
msgid "Reverses the order of the elements in the array."
msgstr "将数组中的元素逆序排列。"
+msgid ""
+"Searches the array in reverse order. Optionally, a start search index can be "
+"passed. If negative, the start index is considered relative to the end of "
+"the array."
+msgstr ""
+"逆序搜索数组。还可以传递起始搜索位置索引。如果为负,则起始索引被视为相对于数"
+"组的结尾。"
+
+msgid ""
+"Shuffles the array such that the items will have a random order. This method "
+"uses the global random number generator common to methods such as [method "
+"@GlobalScope.randi]. Call [method @GlobalScope.randomize] to ensure that a "
+"new seed will be used each time if you want non-reproducible shuffling."
+msgstr ""
+"将数组打乱,元素随机排列。该方法使用全局随机数生成器,与 [method "
+"@GlobalScope.randi] 等方法一致。如果你想每次都使用新的种子,让打乱无法重现,"
+"则可以调用 [method @GlobalScope.randomize]。"
+
msgid "Returns the number of elements in the array."
msgstr "返回数组中元素的个数。"
msgid ""
+"Sorts the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method sort].\n"
+"[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural "
+"order). This may lead to unexpected behavior when sorting an array of "
+"strings ending with a sequence of numbers. Consider the following example:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var strings = [\"string1\", \"string2\", \"string10\", \"string11\"]\n"
+"strings.sort()\n"
+"print(strings) # Prints [string1, string10, string11, string2]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var strings = new Godot.Collections.Array { \"string1\", \"string2\", "
+"\"string10\", \"string11\" };\n"
+"strings.Sort();\n"
+"GD.Print(strings); // Prints [string1, string10, string11, string2]\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"To perform natural order sorting, you can use [method sort_custom] with "
+"[method String.naturalnocasecmp_to] as follows:\n"
+"[codeblock]\n"
+"var strings = [\"string1\", \"string2\", \"string10\", \"string11\"]\n"
+"strings.sort_custom(func(a, b): return a.naturalnocasecmp_to(b) < 0)\n"
+"print(strings) # Prints [string1, string2, string10, string11]\n"
+"[/codeblock]"
+msgstr ""
+"对数组进行排序。\n"
+"[b]注意:[/b]排序所使用的算法并不[url=https://zh.wikipedia.org/wiki/"
+"%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95#%E7%A9%A9%E5%AE%9A%E6%80%A7]稳定[/url]。"
+"也就是说,使用 [method sort] 时相等的值之间的顺序可能会改变。\n"
+"[b]注意:[/b]字符串按字母顺序排序(与自然顺序相反)。当对一个以数字序列结尾的"
+"字符串数组进行排序时,这可能会导致意外的行为。请看下面的例子:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var strings = [\"string1\", \"string2\", \"string10\", \"string11\"]\n"
+"strings.sort()\n"
+"print(strings) # 输出 [string1, string10, string11, string2]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var strings = new Godot.Collections.Array { \"string1\", \"string2\", "
+"\"string10\", \"string11\" };\n"
+"strings.Sort();\n"
+"GD.Print(strings); // 输出 [string1, string10, string11, string2]\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"要执行自然顺序排序,可以使用 [method sort_custom] 和 [method String."
+"naturalnocasecmp_to],如下所示:\n"
+"[codeblock]\n"
+"var strings = [\"string1\", \"string2\", \"string10\", \"string11\"]\n"
+"strings.sort_custom(func(a, b): return a.naturalnocasecmp_to(b) < 0)\n"
+"print(strings) # 输出 [string1, string2, string10, string11]\n"
+"[/codeblock]"
+
+msgid ""
+"Sorts the array using a custom method. The custom method receives two "
+"arguments (a pair of elements from the array) and must return either "
+"[code]true[/code] or [code]false[/code]. For two elements [code]a[/code] and "
+"[code]b[/code], if the given method returns [code]true[/code], element "
+"[code]b[/code] will be after element [code]a[/code] in the array.\n"
+"[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/"
+"wiki/Sorting_algorithm#Stability]stable[/url]. This means that values "
+"considered equal may have their order changed when using [method "
+"sort_custom].\n"
+"[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm "
+"expects a deterministic result. Randomizing the return value will result in "
+"unexpected behavior.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func sort_ascending(a, b):\n"
+" if a[0] < b[0]:\n"
+" return true\n"
+" return false\n"
+"\n"
+"func _ready():\n"
+" var my_items = [[5, \"Potato\"], [9, \"Rice\"], [4, \"Tomato\"]]\n"
+" my_items.sort_custom(sort_ascending)\n"
+" print(my_items) # Prints [[4, Tomato], [5, Potato], [9, Rice]].\n"
+"\n"
+" # Descending, lambda version.\n"
+" my_items.sort_custom(func(a, b): return a[0] > b[0])\n"
+" print(my_items) # Prints [[9, Rice], [5, Potato], [4, Tomato]].\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// There is no custom sort support for Godot.Collections.Array\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"使用自定义的方法对数组进行排序。自定义方法接受两个参数(数组中的一对元素),"
+"并且必须返回 [code]true[/code] 或者 [code]false[/code]。对于两个元素 "
+"[code]a[/code] 和 [code]b[/code],如果给定的方法返回 [code]true[/code],数组"
+"中的元素 [code]b[/code] 将排在元素 [code]a[/code] 之后。\n"
+"[b]注意:[/b]排序所使用的算法并不[url=https://zh.wikipedia.org/wiki/"
+"%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95#%E7%A9%A9%E5%AE%9A%E6%80%A7]稳定[/url]。"
+"也就是说,使用 [method sort_custom] 时相等的值之间的顺序可能会改变。\n"
+"[b]注意:[/b]您不能随机化返回值,因为堆排序算法期望确定的结果。随机化返回值将"
+"导致意外行为。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func sort_ascending(a, b):\n"
+" if a[0] < b[0]:\n"
+" return true\n"
+" return false\n"
+"\n"
+"func _ready():\n"
+" var my_items = [[5, \"Potato\"], [9, \"Rice\"], [4, \"Tomato\"]]\n"
+" my_items.sort_custom(sort_ascending)\n"
+" print(my_items) # 输出 [[4, Tomato], [5, Potato], [9, Rice]].\n"
+"\n"
+" # Descending, lambda version.\n"
+" my_items.sort_custom(func(a, b): return a[0] > b[0])\n"
+" print(my_items) # 输出 [[9, Rice], [5, Potato], [4, Tomato]].\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Godot.Collections.Array 不支持自定义排序\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Compares the left operand [Array] against the [param right] [Array]. Returns "
+"[code]true[/code] if the sizes and contents of the arrays are equal, "
+"[code]false[/code] otherwise."
+msgstr ""
+"将左操作数 [Array] 与 [param right] [Array] 进行比较。如果数组的大小和内容相"
+"等,则返回 [code]true[/code],否则返回 [code]false[/code]。"
+
+msgid ""
"[Mesh] type that provides utility for constructing a surface from arrays."
msgstr "[Mesh] 网格类型,提供了用于从数组构造表面的工具。"
msgid ""
+"The [ArrayMesh] is used to construct a [Mesh] by specifying the attributes "
+"as arrays.\n"
+"The most basic example is the creation of a single triangle:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var vertices = PackedVector3Array()\n"
+"vertices.push_back(Vector3(0, 1, 0))\n"
+"vertices.push_back(Vector3(1, 0, 0))\n"
+"vertices.push_back(Vector3(0, 0, 1))\n"
+"\n"
+"# Initialize the ArrayMesh.\n"
+"var arr_mesh = ArrayMesh.new()\n"
+"var arrays = []\n"
+"arrays.resize(Mesh.ARRAY_MAX)\n"
+"arrays[Mesh.ARRAY_VERTEX] = vertices\n"
+"\n"
+"# Create the Mesh.\n"
+"arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)\n"
+"var m = MeshInstance3D.new()\n"
+"m.mesh = arr_mesh\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var vertices = new Vector3[]\n"
+"{\n"
+" new Vector3(0, 1, 0),\n"
+" new Vector3(1, 0, 0),\n"
+" new Vector3(0, 0, 1),\n"
+"};\n"
+"\n"
+"// Initialize the ArrayMesh.\n"
+"var arrMesh = new ArrayMesh();\n"
+"var arrays = new Godot.Collections.Array();\n"
+"arrays.Resize((int)Mesh.ArrayType.Max);\n"
+"arrays[(int)Mesh.ArrayType.Vertex] = vertices;\n"
+"\n"
+"// Create the Mesh.\n"
+"arrMesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, arrays);\n"
+"var m = new MeshInstance3D();\n"
+"m.Mesh = arrMesh;\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"The [MeshInstance3D] is ready to be added to the [SceneTree] to be shown.\n"
+"See also [ImmediateMesh], [MeshDataTool] and [SurfaceTool] for procedural "
+"geometry generation.\n"
+"[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-"
+"OpenGL/Face-culling]winding order[/url] for front faces of triangle "
+"primitive modes."
+msgstr ""
+"[ArrayMesh] 是用来构造 [Mesh] 的,其属性指定为数组。\n"
+"最基本的例子是创建单个三角形:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var vertices = PackedVector3Array()\n"
+"vertices.push_back(Vector3(0, 1, 0))\n"
+"vertices.push_back(Vector3(1, 0, 0))\n"
+"vertices.push_back(Vector3(0, 0, 1))\n"
+"\n"
+"# 初始化 ArrayMesh。\n"
+"var arr_mesh = ArrayMesh.new()\n"
+"var arrays = []\n"
+"arrays.resize(Mesh.ARRAY_MAX)\n"
+"arrays[Mesh.ARRAY_VERTEX] = vertices\n"
+"\n"
+"# 创建 Mesh。\n"
+"arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)\n"
+"var m = MeshInstance3D.new()\n"
+"m.mesh = arr_mesh\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var vertices = new Vector3[]\n"
+"{\n"
+" new Vector3(0, 1, 0),\n"
+" new Vector3(1, 0, 0),\n"
+" new Vector3(0, 0, 1),\n"
+"};\n"
+"\n"
+"// 初始化 ArrayMesh。\n"
+"var arrMesh = new ArrayMesh();\n"
+"var arrays = new Godot.Collections.Array();\n"
+"arrays.Resize((int)Mesh.ArrayType.Max);\n"
+"arrays[(int)Mesh.ArrayType.Vertex] = vertices;\n"
+"\n"
+"// 创建 Mesh。\n"
+"arrMesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, arrays);\n"
+"var m = new MeshInstance3D();\n"
+"m.Mesh = arrMesh;\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"这个 [MeshInstance3D] 就可以添加到要显示的 [SceneTree] 中了。\n"
+"程序几何体生成请参阅 [ImmediateMesh]、[MeshDataTool]、[SurfaceTool]。\n"
+"[b]注意:[/b]Godot 对三角形图元模式的正面使用顺时针[url=https://learnopengl-"
+"cn.github.io/04%20Advanced%20OpenGL/04%20Face%20culling/]环绕顺序[/url]。"
+
+msgid "Procedural geometry using the ArrayMesh"
+msgstr "使用 ArrayMesh 的程序化几何体"
+
+msgid ""
"Adds name for a blend shape that will be added with [method "
"add_surface_from_arrays]. Must be called before surface is added."
msgstr ""
-"为混合形状添加名称,该名称将用[method add_surface_from_arrays]添加。必须在添"
-"加曲面之前调用。"
+"为混合形状添加名称,该形状将用 [method add_surface_from_arrays] 添加。必须在"
+"添加面之前调用。"
+
+msgid ""
+"Creates a new surface. [method Mesh.get_surface_count] will become the "
+"[code]surf_idx[/code] for this new surface.\n"
+"Surfaces are created to be rendered using a [param primitive], which may be "
+"any of the values defined in [enum Mesh.PrimitiveType].\n"
+"The [param arrays] argument is an array of arrays. Each of the [constant "
+"Mesh.ARRAY_MAX] elements contains an array with some of the mesh data for "
+"this surface as described by the corresponding member of [enum Mesh."
+"ArrayType] or [code]null[/code] if it is not used by the surface. For "
+"example, [code]arrays[0][/code] is the array of vertices. That first vertex "
+"sub-array is always required; the others are optional. Adding an index array "
+"puts this surface into \"index mode\" where the vertex and other arrays "
+"become the sources of data and the index array defines the vertex order. All "
+"sub-arrays must have the same length as the vertex array (or be an exact "
+"multiple of the vertex array's length, when multiple elements of a sub-array "
+"correspond to a single vertex) or be empty, except for [constant Mesh."
+"ARRAY_INDEX] if it is used.\n"
+"The [param blend_shapes] argument is an array of vertex data for each blend "
+"shape. Each element is an array of the same structure as [param arrays], but "
+"[constant Mesh.ARRAY_VERTEX], [constant Mesh.ARRAY_NORMAL], and [constant "
+"Mesh.ARRAY_TANGENT] are set if and only if they are set in [param arrays] "
+"and all other entries are [code]null[/code].\n"
+"The [param lods] argument is a dictionary with [float] keys and "
+"[PackedInt32Array] values. Each entry in the dictionary represents a LOD "
+"level of the surface, where the value is the [constant Mesh.ARRAY_INDEX] "
+"array to use for the LOD level and the key is roughly proportional to the "
+"distance at which the LOD stats being used. I.e., increasing the key of a "
+"LOD also increases the distance that the objects has to be from the camera "
+"before the LOD is used.\n"
+"The [param flags] argument is the bitwise or of, as required: One value of "
+"[enum Mesh.ArrayCustomFormat] left shifted by "
+"[code]ARRAY_FORMAT_CUSTOMn_SHIFT[/code] for each custom channel in use, "
+"[constant Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE], [constant Mesh."
+"ARRAY_FLAG_USE_8_BONE_WEIGHTS], or [constant Mesh."
+"ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY].\n"
+"[b]Note:[/b] When using indices, it is recommended to only use points, "
+"lines, or triangles."
+msgstr ""
+"创建一个新的表面。[method Mesh.get_surface_count] 将成为这个新表面的 "
+"[code]surf_idx[/code]。\n"
+"创建表面以使用 [param primitive] 进行渲染,它可以是 [enum Mesh."
+"PrimitiveType] 中定义的任何值。\n"
+"[param arrays] 参数是数组的数组。每个 [constant Mesh.ARRAY_MAX] 元素都包含一"
+"个数组,其中包含此表面的一些网格数据,如 [enum Mesh.ArrayType] 的相应成员所描"
+"述的一样;如果它未被使用,则为 [code]null[/code]。例如,[code]arrays[0][/"
+"code] 是顶点数组。始终需要第一个顶点子数组;其他的是可选的。添加索引数组会将"
+"此表面置于“索引模式”,其中顶点和其他数组成为数据源,索引数组定义顶点顺序。所"
+"有子数组的长度必须与顶点数组的长度相同(或者是顶点数组长度的精确倍数,当子数"
+"组的多个元素对应于单个顶点时);或者为空,如果使用了 [constant Mesh."
+"ARRAY_INDEX ] 则除外。\n"
+"[param blend_shapes] 参数是每个混合形状的顶点数据数组。 每个元素都是与 "
+"[param arrays] 具有相同结构的数组,但是 [constant Mesh.ARRAY_VERTEX]、"
+"[constant Mesh.ARRAY_NORMAL] 和 [constant Mesh.ARRAY_TANGENT] 这些条目,当且"
+"仅当在 [param arrays] 被设置且所有其他条目都是 [code]null[/code] 时,会被设"
+"置。\n"
+"[param lods] 参数是一个带有 [float] 键和 [PackedInt32Array] 值的字典。字典中"
+"的每个条目代表了表面的一个 LOD 级别,其中值是用于 LOD 级别的 [constant Mesh."
+"ARRAY_INDEX] 数组,键大致与使用 LOD 统计信息的距离成正比。即,增加 LOD 的关键"
+"点也会增加在使用 LOD 之前对象必须与相机的距离。\n"
+"[param flags] 参数是根据需要按位或的:[enum Mesh.ArrayCustomFormat] 的一个值"
+"左移 [code]ARRAY_FORMAT_CUSTOMn_SHIFT[/code],用于每个正在使用的自定义通道,"
+"[constant Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE]、[constant Mesh."
+"ARRAY_FLAG_USE_8_BONE_WEIGHTS]、或 [constant Mesh."
+"ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY]。\n"
+"[b]注意:[/b]使用索引时,建议只使用点、线或三角形。"
msgid "Removes all blend shapes from this [ArrayMesh]."
msgstr "移除此 [ArrayMesh] 的所有混合形状。"
@@ -3701,12 +9596,22 @@ msgid "Removes all surfaces from this [ArrayMesh]."
msgstr "移除此 [ArrayMesh] 的所有表面。"
msgid "Returns the number of blend shapes that the [ArrayMesh] holds."
-msgstr "返回[ArrayMesh]持有的混合形状的数量。"
+msgstr "返回 [ArrayMesh] 持有的混合形状的数量。"
msgid "Returns the name of the blend shape at this index."
msgstr "返回此索引处的混合形状的名称。"
msgid ""
+"Performs a UV unwrap on the [ArrayMesh] to prepare the mesh for lightmapping."
+msgstr "在 [ArrayMesh] 上执行 UV 展开,为光照贴图准备该网格。"
+
+msgid "Regenerates tangents for each of the [ArrayMesh]'s surfaces."
+msgstr "为每个 [ArrayMesh] 的表面重新生成切线。"
+
+msgid "Sets the name of the blend shape at this index."
+msgstr "在此索引处设置混合形状的名称。"
+
+msgid ""
"Returns the index of the first surface with this name held within this "
"[ArrayMesh]. If none are found, -1 is returned."
msgstr ""
@@ -3716,8 +9621,7 @@ msgid ""
"Returns the length in indices of the index array in the requested surface "
"(see [method add_surface_from_arrays])."
msgstr ""
-"返回请求的曲面的索引数组的长度,以指数为单位(见 [method "
-"add_surface_from_arrays])。"
+"返回所请求的面中索引数组的索引长度(参见 [method add_surface_from_arrays])。"
msgid ""
"Returns the length in vertices of the vertex array in the requested surface "
@@ -3752,6 +9656,30 @@ msgstr ""
"用用户定义的用于使用视锥剔除的一种替代 [AABB]。在使用着色器偏移顶点时,避免非"
"预期的剔除特别有用。"
+msgid ""
+"An optional mesh which is used for rendering shadows and can be used for the "
+"depth prepass. Can be used to increase performance of shadow rendering by "
+"using a mesh that only contains vertex position data (without normals, UVs, "
+"colors, etc.)."
+msgstr ""
+"用于渲染阴影并可用于深度预通道的可选网格。可用于通过使用仅包含顶点位置数据"
+"(不含法线、UV、颜色等)的网格来提高阴影渲染的性能。"
+
+msgid ""
+"3D polygon shape for use with occlusion culling in [OccluderInstance3D]."
+msgstr "用于与 [OccluderInstance3D] 中的遮挡剔除一起使用的 3D 多边形形状。"
+
+msgid ""
+"[ArrayOccluder3D] stores an arbitrary 3D polygon shape that can be used by "
+"the engine's occlusion culling system. This is analogous to [ArrayMesh], but "
+"for occluders.\n"
+"See [OccluderInstance3D]'s documentation for instructions on setting up "
+"occlusion culling."
+msgstr ""
+"[ArrayOccluder3D] 存储一个任意的 3D 多边形形状,可供引擎的遮挡剔除系统使用。"
+"这类似于 [ArrayMesh],但适用于遮挡物。\n"
+"有关设置遮挡剔除的说明,请参阅 [OccluderInstance3D] 的文档。"
+
msgid "Container that preserves its child controls' aspect ratio."
msgstr "保留其子控件长宽比的容器。"
@@ -3799,6 +9727,19 @@ msgid ""
msgstr "子控件的边界矩形会自动调整以适应容器,同时保持长宽比。"
msgid ""
+"The width and height of child controls is automatically adjusted to make "
+"their bounding rectangle cover the entire area of the container while "
+"keeping the aspect ratio.\n"
+"When the bounding rectangle of child controls exceed the container's size "
+"and [member Control.clip_contents] is enabled, this allows to show only the "
+"container's area restricted by its own bounding rectangle."
+msgstr ""
+"子控件的宽度和高度被自动调整,以使其边框覆盖容器的整个区域,同时保持长宽"
+"比。\n"
+"当子控件的边界矩形超过容器的大小,并且 [member Control.clip_contents] 被启用"
+"时,这允许仅显示受其自身边界矩形限制的容器区域。"
+
+msgid ""
"Aligns child controls with the beginning (left or top) of the container."
msgstr "将子控件与容器的开头对齐(左侧或顶部)。"
@@ -3812,11 +9753,16 @@ msgid "AStar class representation that uses 2D vectors as edges."
msgstr "使用 2D 向量作为边缘的 AStar 类表示。"
msgid ""
+"This is a wrapper for the [AStar3D] class which uses 2D vectors instead of "
+"3D vectors."
+msgstr "这是 [AStar3D] 类的包装,它使用 2D 向量而不是 3D 向量。"
+
+msgid ""
"Called when computing the cost between two connected points.\n"
"Note that this function is hidden in the default [code]AStar2D[/code] class."
msgstr ""
"计算两个连接点之间的成本时调用。\n"
-"注意这个函数隐藏在默认的[code]AStar2D[/code]类中。"
+"注意这个函数隐藏在默认的 [code]AStar2D[/code] 类中。"
msgid ""
"Called when estimating the cost between a point and the path's ending "
@@ -3826,35 +9772,814 @@ msgstr ""
"当估计一个点和路径终点之间的成本时调用。\n"
"请注意,这个函数隐藏在默认的 [code]AStar2D[/code] 类中。"
+msgid ""
+"Adds a new point at the given position with the given identifier. The [param "
+"id] must be 0 or larger, and the [param weight_scale] must be 0.0 or "
+"greater.\n"
+"The [param weight_scale] is multiplied by the result of [method "
+"_compute_cost] when determining the overall cost of traveling across a "
+"segment from a neighboring point to this point. Thus, all else being equal, "
+"the algorithm prefers points with lower [param weight_scale]s to form a "
+"path.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(1, 0), 4) # Adds the point (1, 0) with "
+"weight_scale 4 and id 1\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar2D();\n"
+"astar.AddPoint(1, new Vector2(1, 0), 4); // Adds the point (1, 0) with "
+"weight_scale 4 and id 1\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"If there already exists a point for the given [param id], its position and "
+"weight scale are updated to the given values."
+msgstr ""
+"在具有给定标识符的给定位置添加一个新点。[param id] 必须为 0 或更大,[param "
+"weight_scale] 必须为 0.0 或更大。\n"
+"在确定从相邻点到此点的一段路程的总成本时,[param weight_scale] 要乘以 "
+"[method _compute_cost] 的结果。因此,在其他条件相同的情况下,算法优先选择 "
+"[param weight_scale] 较低的点来形成路径。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(1, 0), 4) # 添加点 (1, 0)、权重为 4、ID 为 1\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar2D();\n"
+"astar.AddPoint(1, new Vector2(1, 0), 4); // 添加点 (1, 0)、权重为 4、ID 为 "
+"1\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"如果已经存在一个给定 [param id] 的点,则它的位置和权重缩放将被更新为给定值。"
+
+msgid ""
+"Returns whether there is a connection/segment between the given points. If "
+"[param bidirectional] is [code]false[/code], returns whether movement from "
+"[param id] to [param to_id] is possible through this segment."
+msgstr ""
+"返回两个给定点之间是否存在连接/线段。如果 [param bidirectional] 为 "
+"[code]false[/code],则返回是否可以通过此段从 [param id] 移动到 [param "
+"to_id]。"
+
msgid "Clears all the points and segments."
msgstr "清除所有点和线段。"
+msgid ""
+"Creates a segment between the given points. If [param bidirectional] is "
+"[code]false[/code], only movement from [param id] to [param to_id] is "
+"allowed, not the reverse direction.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(1, 1))\n"
+"astar.add_point(2, Vector2(0, 5))\n"
+"astar.connect_points(1, 2, false)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar2D();\n"
+"astar.AddPoint(1, new Vector2(1, 1));\n"
+"astar.AddPoint(2, new Vector2(0, 5));\n"
+"astar.ConnectPoints(1, 2, false);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"在给定的点之间创建一个线段。如果 [param bidirectional] 为 [code]false[/"
+"code],则只允许从 [param id] 到 [param to_id] 的移动,而不允许反向移动。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(1, 1))\n"
+"astar.add_point(2, Vector2(0, 5))\n"
+"astar.connect_points(1, 2, false)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar2D();\n"
+"astar.AddPoint(1, new Vector2(1, 1));\n"
+"astar.AddPoint(2, new Vector2(0, 5));\n"
+"astar.ConnectPoints(1, 2, false);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Deletes the segment between the given points. If [param bidirectional] is "
+"[code]false[/code], only movement from [param id] to [param to_id] is "
+"prevented, and a unidirectional segment possibly remains."
+msgstr ""
+"删除给定点之间的线段。如果 [param bidirectional] 为 [code]false[/code],则仅"
+"阻止从 [param id] 到 [param to_id] 的移动,并且可能会保留一个单向线段。"
+
msgid "Returns the next available point ID with no point associated to it."
-msgstr "返回没有关联的下一个可用点的ID。"
+msgstr "返回下一个没有关联点的可用点 ID。"
msgid ""
-"Returns the capacity of the structure backing the points, useful in "
-"conjunction with [code]reserve_space[/code]."
-msgstr "返回支持点的结构的容量,与 [code]reserve_space[/code] 配合使用。"
+"Returns the ID of the closest point to [param to_position], optionally "
+"taking disabled points into account. Returns [code]-1[/code] if there are no "
+"points in the points pool.\n"
+"[b]Note:[/b] If several points are the closest to [param to_position], the "
+"one with the smallest ID will be returned, ensuring a deterministic result."
+msgstr ""
+"返回距离 [param to_position] 最近的点的 ID,可以选择将禁用的点考虑在内。如果"
+"点池中没有点,则返回 [code]-1[/code]。\n"
+"[b]注意:[/b]如果有多个点距离 [param to_position] 最近,则返回 ID 最小的那个"
+"点,以保证结果的确定性。"
+
+msgid ""
+"Returns the closest position to [param to_position] that resides inside a "
+"segment between two connected points.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(0, 0))\n"
+"astar.add_point(2, Vector2(0, 5))\n"
+"astar.connect_points(1, 2)\n"
+"var res = astar.get_closest_position_in_segment(Vector2(3, 3)) # Returns (0, "
+"3)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar2D();\n"
+"astar.AddPoint(1, new Vector2(0, 0));\n"
+"astar.AddPoint(2, new Vector2(0, 5));\n"
+"astar.ConnectPoints(1, 2);\n"
+"Vector2 res = astar.GetClosestPositionInSegment(new Vector2(3, 3)); // "
+"Returns (0, 3)\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"The result is in the segment that goes from [code]y = 0[/code] to [code]y = "
+"5[/code]. It's the closest position in the segment to the given point."
+msgstr ""
+"返回最接近 [param to_position] 的位置,该位置位于两个连接点之间的线段内。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(0, 0))\n"
+"astar.add_point(2, Vector2(0, 5))\n"
+"astar.connect_points(1, 2)\n"
+"var res = astar.get_closest_position_in_segment(Vector2(3, 3)) # 返回 (0, "
+"3)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar2D();\n"
+"astar.AddPoint(1, new Vector2(0, 0));\n"
+"astar.AddPoint(2, new Vector2(0, 5));\n"
+"astar.ConnectPoints(1, 2);\n"
+"Vector2 res = astar.GetClosestPositionInSegment(new Vector2(3, 3)); // 返回 "
+"(0, 3)\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"结果位于从 [code]y = 0[/code] 到 [code]y = 5[/code] 的线段中。它是线段中距给"
+"定点最近的位置。"
+
+msgid ""
+"Returns an array with the IDs of the points that form the path found by "
+"AStar2D between the given points. The array is ordered from the starting "
+"point to the ending point of the path.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(0, 0))\n"
+"astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1\n"
+"astar.add_point(3, Vector2(1, 1))\n"
+"astar.add_point(4, Vector2(2, 0))\n"
+"\n"
+"astar.connect_points(1, 2, false)\n"
+"astar.connect_points(2, 3, false)\n"
+"astar.connect_points(4, 3, false)\n"
+"astar.connect_points(1, 4, false)\n"
+"\n"
+"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar2D();\n"
+"astar.AddPoint(1, new Vector2(0, 0));\n"
+"astar.AddPoint(2, new Vector2(0, 1), 1); // Default weight is 1\n"
+"astar.AddPoint(3, new Vector2(1, 1));\n"
+"astar.AddPoint(4, new Vector2(2, 0));\n"
+"\n"
+"astar.ConnectPoints(1, 2, false);\n"
+"astar.ConnectPoints(2, 3, false);\n"
+"astar.ConnectPoints(4, 3, false);\n"
+"astar.ConnectPoints(1, 4, false);\n"
+"int[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"If you change the 2nd point's weight to 3, then the result will be [code][1, "
+"4, 3][/code] instead, because now even though the distance is longer, it's "
+"\"easier\" to get through point 4 than through point 2."
+msgstr ""
+"返回一个数组,其中包含构成由 AStar2D 在给定点之间找到的路径的点的 ID。数组从"
+"路径的起点到终点进行排序。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(0, 0))\n"
+"astar.add_point(2, Vector2(0, 1), 1) # 默认权重为 1\n"
+"astar.add_point(3, Vector2(1, 1))\n"
+"astar.add_point(4, Vector2(2, 0))\n"
+"\n"
+"astar.connect_points(1, 2, false)\n"
+"astar.connect_points(2, 3, false)\n"
+"astar.connect_points(4, 3, false)\n"
+"astar.connect_points(1, 4, false)\n"
+"\n"
+"var res = astar.get_id_path(1, 3) # 返回 [1, 2, 3]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar2D();\n"
+"astar.AddPoint(1, new Vector2(0, 0));\n"
+"astar.AddPoint(2, new Vector2(0, 1), 1); // 默认权重为 1\n"
+"astar.AddPoint(3, new Vector2(1, 1));\n"
+"astar.AddPoint(4, new Vector2(2, 0));\n"
+"\n"
+"astar.ConnectPoints(1, 2, false);\n"
+"astar.ConnectPoints(2, 3, false);\n"
+"astar.ConnectPoints(4, 3, false);\n"
+"astar.ConnectPoints(1, 4, false);\n"
+"int[] res = astar.GetIdPath(1, 3); // 返回 [1, 2, 3]\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"如果将第2个点的权重更改为 3,则结果将改为 [code][1, 4, 3][/code],因为现在即"
+"使距离更长,通过第 4 点也比通过第 2 点“更容易”。"
+
+msgid ""
+"Returns an array with the IDs of the points that form the connection with "
+"the given point.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(0, 0))\n"
+"astar.add_point(2, Vector2(0, 1))\n"
+"astar.add_point(3, Vector2(1, 1))\n"
+"astar.add_point(4, Vector2(2, 0))\n"
+"\n"
+"astar.connect_points(1, 2, true)\n"
+"astar.connect_points(1, 3, true)\n"
+"\n"
+"var neighbors = astar.get_point_connections(1) # Returns [2, 3]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar2D();\n"
+"astar.AddPoint(1, new Vector2(0, 0));\n"
+"astar.AddPoint(2, new Vector2(0, 1));\n"
+"astar.AddPoint(3, new Vector2(1, 1));\n"
+"astar.AddPoint(4, new Vector2(2, 0));\n"
+"\n"
+"astar.ConnectPoints(1, 2, true);\n"
+"astar.ConnectPoints(1, 3, true);\n"
+"\n"
+"int[] neighbors = astar.GetPointConnections(1); // Returns [2, 3]\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回一个数组,其中包含与给定点形成连接的点的 ID。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar2D.new()\n"
+"astar.add_point(1, Vector2(0, 0))\n"
+"astar.add_point(2, Vector2(0, 1))\n"
+"astar.add_point(3, Vector2(1, 1))\n"
+"astar.add_point(4, Vector2(2, 0))\n"
+"\n"
+"astar.connect_points(1, 2, true)\n"
+"astar.connect_points(1, 3, true)\n"
+"\n"
+"var neighbors = astar.get_point_connections(1) # 返回 [2, 3]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar2D();\n"
+"astar.AddPoint(1, new Vector2(0, 0));\n"
+"astar.AddPoint(2, new Vector2(0, 1));\n"
+"astar.AddPoint(3, new Vector2(1, 1));\n"
+"astar.AddPoint(4, new Vector2(2, 0));\n"
+"\n"
+"astar.ConnectPoints(1, 2, true);\n"
+"astar.ConnectPoints(1, 3, true);\n"
+"\n"
+"int[] neighbors = astar.GetPointConnections(1); // 返回 [2, 3]\n"
+"[/csharp]\n"
+"[/codeblocks]"
msgid "Returns the number of points currently in the points pool."
-msgstr "返回当前积分池中的积分数量。"
+msgstr "返回点池中当前的点数。"
+
+msgid "Returns an array of all point IDs."
+msgstr "返回所有点 ID 的数组。"
+
+msgid ""
+"Returns an array with the points that are in the path found by AStar2D "
+"between the given points. The array is ordered from the starting point to "
+"the ending point of the path.\n"
+"[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it "
+"will return an empty [PackedVector2Array] and will print an error message."
+msgstr ""
+"返回一个数组,其中包含 AStar2D 在给定点之间找到的路径中的点。数组从路径的起点"
+"到终点进行排序。\n"
+"[b]注意:[/b] 该方法不是线程安全的。如果从 [Thread] 调用,它将返回一个空的 "
+"[PackedVector2Array] 并打印一条错误消息。"
+
+msgid "Returns the position of the point associated with the given [param id]."
+msgstr "返回与给定 [param id] 相关联的点的位置。"
+
+msgid ""
+"Returns the weight scale of the point associated with the given [param id]."
+msgstr "返回与给定 [param id] 关联的点的权重比例。"
+
+msgid "Returns whether a point associated with the given [param id] exists."
+msgstr "返回与给定 [param id] 相关联的点是否存在。"
msgid ""
"Returns whether a point is disabled or not for pathfinding. By default, all "
"points are enabled."
-msgstr "返回是否禁用点以进行寻路。默认情况下,所有点均处于启用状态。"
+msgstr "返回用于寻路时点是否被禁用。默认情况下,所有点均被启用。"
+
+msgid ""
+"Removes the point associated with the given [param id] from the points pool."
+msgstr "从点池中移除与给定 [param id] 关联的点。"
+
+msgid ""
+"Reserves space internally for [param num_nodes] points, useful if you're "
+"adding a known large number of points at once, such as points on a grid. New "
+"capacity must be greater or equals to old capacity."
+msgstr ""
+"在内部为 [param num_nodes] 个点保留空间,如果你想要一次性添加大量的点且数量已"
+"知,例如网格,那么就会很有用。新容量必须大于或等于旧容量。"
msgid ""
"Disables or enables the specified point for pathfinding. Useful for making a "
"temporary obstacle."
-msgstr "禁用或启用指定点的寻路功能。用于制作临时障碍物。"
+msgstr "用于寻路时禁用或启用指定的点。适用于制作临时障碍物。"
+
+msgid "Sets the [param position] for the point with the given [param id]."
+msgstr "为具有给定 [param id] 的点设置位置 [param position]。"
+
+msgid ""
+"Sets the [param weight_scale] for the point with the given [param id]. The "
+"[param weight_scale] is multiplied by the result of [method _compute_cost] "
+"when determining the overall cost of traveling across a segment from a "
+"neighboring point to this point."
+msgstr ""
+"为给定的 [param id] 的点设置 [param weight_scale]。在确定从邻接点到这个点的一"
+"段路程的总成本时,[param weight_scale] 要乘以 [method _compute_cost] 的结果。"
msgid ""
"An implementation of A* to find the shortest paths among connected points in "
"space."
msgstr "A* 的一种实现,用于寻找空间中连接点之间的最短路径。"
+msgid ""
+"A* (A star) is a computer algorithm that is widely used in pathfinding and "
+"graph traversal, the process of plotting short paths among vertices "
+"(points), passing through a given set of edges (segments). It enjoys "
+"widespread use due to its performance and accuracy. Godot's A* "
+"implementation uses points in three-dimensional space and Euclidean "
+"distances by default.\n"
+"You must add points manually with [method add_point] and create segments "
+"manually with [method connect_points]. Then you can test if there is a path "
+"between two points with the [method are_points_connected] function, get a "
+"path containing indices by [method get_id_path], or one containing actual "
+"coordinates with [method get_point_path].\n"
+"It is also possible to use non-Euclidean distances. To do so, create a class "
+"that extends [code]AStar3D[/code] and override methods [method "
+"_compute_cost] and [method _estimate_cost]. Both take two indices and return "
+"a length, as is shown in the following example.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"class MyAStar:\n"
+" extends AStar3D\n"
+"\n"
+" func _compute_cost(u, v):\n"
+" return abs(u - v)\n"
+"\n"
+" func _estimate_cost(u, v):\n"
+" return min(0, abs(u - v) - 1)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public partial class MyAStar : AStar3D\n"
+"{\n"
+" public override float _ComputeCost(long fromId, long toId)\n"
+" {\n"
+" return Mathf.Abs((int)(fromId - toId));\n"
+" }\n"
+"\n"
+" public override float _EstimateCost(long fromId, long toId)\n"
+" {\n"
+" return Mathf.Min(0, Mathf.Abs((int)(fromId - toId)) - 1);\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[method _estimate_cost] should return a lower bound of the distance, i.e. "
+"[code]_estimate_cost(u, v) <= _compute_cost(u, v)[/code]. This serves as a "
+"hint to the algorithm because the custom [code]_compute_cost[/code] might be "
+"computation-heavy. If this is not the case, make [method _estimate_cost] "
+"return the same value as [method _compute_cost] to provide the algorithm "
+"with the most accurate information.\n"
+"If the default [method _estimate_cost] and [method _compute_cost] methods "
+"are used, or if the supplied [method _estimate_cost] method returns a lower "
+"bound of the cost, then the paths returned by A* will be the lowest-cost "
+"paths. Here, the cost of a path equals the sum of the [method _compute_cost] "
+"results of all segments in the path multiplied by the [code]weight_scale[/"
+"code]s of the endpoints of the respective segments. If the default methods "
+"are used and the [code]weight_scale[/code]s of all points are set to "
+"[code]1.0[/code], then this equals the sum of Euclidean distances of all "
+"segments in the path."
+msgstr ""
+"A*(A 星)是一种计算机算法,广泛用于寻路和图遍历,是通过一组给定的边(线"
+"段),在顶点(点)之间绘制短路径的过程。由于其性能和准确性,它被广泛使用。"
+"Godot 的 A* 实现默认使用三维空间中的点和欧几里得距离。\n"
+"您需要使用 [method add_point] 手动添加点,并使用 [method connect_points] 手动"
+"创建线段。然后,可以使用 [method are_points_connected] 函数,测试两点之间是否"
+"存在路径,通过 [method get_id_path] 获取包含索引的路径,或使用 [method "
+"get_point_path] 获取包含实际坐标的路径。\n"
+"也可以使用非欧几里得距离。为此,创建一个扩展 [code]AStar3D[/code] 的类,并重"
+"写方法 [method _compute_cost] 和 [method _estimate_cost]。两者都接受两个索引"
+"并返回一个长度,如以下示例所示。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"class MyAStar:\n"
+" extends AStar3D\n"
+"\n"
+" func _compute_cost(u, v):\n"
+" return abs(u - v)\n"
+"\n"
+" func _estimate_cost(u, v):\n"
+" return min(0, abs(u - v) - 1)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public partial class MyAStar : AStar3D\n"
+"{\n"
+" public override float _ComputeCost(long fromId, long toId)\n"
+" {\n"
+" return Mathf.Abs((int)(fromId - toId));\n"
+" }\n"
+"\n"
+" public override float _EstimateCost(long fromId, long toId)\n"
+" {\n"
+" return Mathf.Min(0, Mathf.Abs((int)(fromId - toId)) - 1);\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[method _estimate_cost] 应该返回距离的下限,即 [code]_estimate_cost(u, v) <= "
+"_compute_cost(u, v)[/code]。这可以作为算法的提示,因为自定义 "
+"[code]_compute_cost[/code] 可能计算量很大。如果不是这种情况,请使 [method "
+"_estimate_cost] 返回与 [method _compute_cost] 相同的值,以便为算法提供最准确"
+"的信息。\n"
+"如果使用默认的 [method _estimate_cost] 和 [method _compute_cost] 方法,或者如"
+"果提供的 [method _estimate_cost] 方法返回成本的下限,则 A* 返回的路径将是成本"
+"最低的路径。这里,路径的代价等于路径中所有段的 [method _compute_cost] 结果乘"
+"以各个段端点的权重 [code]weight_scale[/code] 之和。如果使用默认方法,并且所有"
+"点的 [code]weight_scale[/code] 设置为 [code]1.0[/code],则这等于路径中所有段"
+"的欧几里得距离之和。"
+
+msgid ""
+"Called when computing the cost between two connected points.\n"
+"Note that this function is hidden in the default [code]AStar3D[/code] class."
+msgstr ""
+"在计算两个连接点之间的成本时调用。\n"
+"请注意,此函数隐藏在默认的 [code]AStar3D[/code] 类中。"
+
+msgid ""
+"Called when estimating the cost between a point and the path's ending "
+"point.\n"
+"Note that this function is hidden in the default [code]AStar3D[/code] class."
+msgstr ""
+"在估算一个点和路径终点之间的成本时调用。\n"
+"请注意,此函数隐藏在默认的 [code]AStar3D[/code] 类中。"
+
+msgid ""
+"Adds a new point at the given position with the given identifier. The [param "
+"id] must be 0 or larger, and the [param weight_scale] must be 0.0 or "
+"greater.\n"
+"The [param weight_scale] is multiplied by the result of [method "
+"_compute_cost] when determining the overall cost of traveling across a "
+"segment from a neighboring point to this point. Thus, all else being equal, "
+"the algorithm prefers points with lower [param weight_scale]s to form a "
+"path.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar3D.new()\n"
+"astar.add_point(1, Vector3(1, 0, 0), 4) # Adds the point (1, 0, 0) with "
+"weight_scale 4 and id 1\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar3D();\n"
+"astar.AddPoint(1, new Vector3(1, 0, 0), 4); // Adds the point (1, 0, 0) with "
+"weight_scale 4 and id 1\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"If there already exists a point for the given [param id], its position and "
+"weight scale are updated to the given values."
+msgstr ""
+"在给定的位置添加一个新的点,并使用给定的标识符。[param id] 必须大于等于 0,"
+"[param weight_scale] 必须大于等于 0.0。\n"
+"在确定从邻点到此点的一段路程的总成本时,[param weight_scale] 要乘以 [method "
+"_compute_cost] 的结果。因此,在其他条件相同的情况下,算法优先选择 [param "
+"weight_scale] 较低的点来形成路径。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar3D.new()\n"
+"astar.add_point(1, Vector3(1, 0, 0), 4) # 添加点 (1, 0, 0),其 weight_scale "
+"为 4 且 id 为 1\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar3D();\n"
+"astar.AddPoint(1, new Vector3(1, 0, 0), 4); // 添加点 (1, 0, 0),其 "
+"weight_scale 为 4 且 id 为 1\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"如果对于给定的 [param id] 已经存在一个点,它的位置和权重将被更新为给定的值。"
+
+msgid ""
+"Creates a segment between the given points. If [param bidirectional] is "
+"[code]false[/code], only movement from [param id] to [param to_id] is "
+"allowed, not the reverse direction.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar3D.new()\n"
+"astar.add_point(1, Vector3(1, 1, 0))\n"
+"astar.add_point(2, Vector3(0, 5, 0))\n"
+"astar.connect_points(1, 2, false)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar3D();\n"
+"astar.AddPoint(1, new Vector3(1, 1, 0));\n"
+"astar.AddPoint(2, new Vector3(0, 5, 0));\n"
+"astar.ConnectPoints(1, 2, false);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"在给定的点之间创建一条线段。如果 [param bidirectional] 为 [code]false[/"
+"code],则只允许从 [param id] 到 [param to_id] 的移动,而不允许反向移动。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar3D.new()\n"
+"astar.add_point(1, Vector3(1, 1, 0))\n"
+"astar.add_point(2, Vector3(0, 5, 0))\n"
+"astar.connect_points(1, 2, false)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar3D();\n"
+"astar.AddPoint(1, new Vector3(1, 1, 0));\n"
+"astar.AddPoint(2, new Vector3(0, 5, 0));\n"
+"astar.ConnectPoints(1, 2, false);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the closest position to [param to_position] that resides inside a "
+"segment between two connected points.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar3D.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 5, 0))\n"
+"astar.connect_points(1, 2)\n"
+"var res = astar.get_closest_position_in_segment(Vector3(3, 3, 0)) # Returns "
+"(0, 3, 0)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar3D();\n"
+"astar.AddPoint(1, new Vector3(0, 0, 0));\n"
+"astar.AddPoint(2, new Vector3(0, 5, 0));\n"
+"astar.ConnectPoints(1, 2);\n"
+"Vector3 res = astar.GetClosestPositionInSegment(new Vector3(3, 3, 0)); // "
+"Returns (0, 3, 0)\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"The result is in the segment that goes from [code]y = 0[/code] to [code]y = "
+"5[/code]. It's the closest position in the segment to the given point."
+msgstr ""
+"返回位于两个连接点之间的线段中离 [param to_position] 最近的位置。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar3D.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 5, 0))\n"
+"astar.connect_points(1, 2)\n"
+"var res = astar.get_closest_position_in_segment(Vector3(3, 3, 0)) # 返回 (0, "
+"3, 0)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar3D();\n"
+"astar.AddPoint(1, new Vector3(0, 0, 0));\n"
+"astar.AddPoint(2, new Vector3(0, 5, 0));\n"
+"astar.ConnectPoints(1, 2);\n"
+"Vector3 res = astar.GetClosestPositionInSegment(new Vector3(3, 3, 0)); // 返"
+"回 (0, 3, 0)\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"结果是在从 [code]y = 0[/code] 到 [code]y = 5[/code] 的线段中。它是线段中距离"
+"给定点最近的位置。"
+
+msgid ""
+"Returns an array with the IDs of the points that form the path found by "
+"AStar3D between the given points. The array is ordered from the starting "
+"point to the ending point of the path.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar3D.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1\n"
+"astar.add_point(3, Vector3(1, 1, 0))\n"
+"astar.add_point(4, Vector3(2, 0, 0))\n"
+"\n"
+"astar.connect_points(1, 2, false)\n"
+"astar.connect_points(2, 3, false)\n"
+"astar.connect_points(4, 3, false)\n"
+"astar.connect_points(1, 4, false)\n"
+"\n"
+"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar3D();\n"
+"astar.AddPoint(1, new Vector3(0, 0, 0));\n"
+"astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Default weight is 1\n"
+"astar.AddPoint(3, new Vector3(1, 1, 0));\n"
+"astar.AddPoint(4, new Vector3(2, 0, 0));\n"
+"astar.ConnectPoints(1, 2, false);\n"
+"astar.ConnectPoints(2, 3, false);\n"
+"astar.ConnectPoints(4, 3, false);\n"
+"astar.ConnectPoints(1, 4, false);\n"
+"int[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"If you change the 2nd point's weight to 3, then the result will be [code][1, "
+"4, 3][/code] instead, because now even though the distance is longer, it's "
+"\"easier\" to get through point 4 than through point 2."
+msgstr ""
+"返回一个数组,其中包含构成 AStar3D 在给定点之间找到的路径中的点的 ID。数组从"
+"路径的起点到终点排序。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar3D.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 1, 0), 1) # 默认权重为 1\n"
+"astar.add_point(3, Vector3(1, 1, 0))\n"
+"astar.add_point(4, Vector3(2, 0, 0))\n"
+"\n"
+"astar.connect_points(1, 2, false)\n"
+"astar.connect_points(2, 3, false)\n"
+"astar.connect_points(4, 3, false)\n"
+"astar.connect_points(1, 4, false)\n"
+"\n"
+"var res = astar.get_id_path(1, 3) # 返回 [1, 2, 3]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar3D();\n"
+"astar.AddPoint(1, new Vector3(0, 0, 0));\n"
+"astar.AddPoint(2, new Vector3(0, 1, 0), 1); // 默认权重为 1\n"
+"astar.AddPoint(3, new Vector3(1, 1, 0));\n"
+"astar.AddPoint(4, new Vector3(2, 0, 0));\n"
+"astar.ConnectPoints(1, 2, false);\n"
+"astar.ConnectPoints(2, 3, false);\n"
+"astar.ConnectPoints(4, 3, false);\n"
+"astar.ConnectPoints(1, 4, false);\n"
+"int[] res = astar.GetIdPath(1, 3); // 返回 [1, 2, 3]\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"如果将第2个点的权重更改为 3,则结果将改为 [code][1, 4, 3][/code],因为现在即"
+"使距离更长,但通过第 4 点也比通过第 2 点“更容易”。"
+
+msgid ""
+"Returns the capacity of the structure backing the points, useful in "
+"conjunction with [code]reserve_space[/code]."
+msgstr "返回支持点的结构的容量,与 [code]reserve_space[/code] 配合使用。"
+
+msgid ""
+"Returns an array with the IDs of the points that form the connection with "
+"the given point.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar3D.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 1, 0))\n"
+"astar.add_point(3, Vector3(1, 1, 0))\n"
+"astar.add_point(4, Vector3(2, 0, 0))\n"
+"\n"
+"astar.connect_points(1, 2, true)\n"
+"astar.connect_points(1, 3, true)\n"
+"\n"
+"var neighbors = astar.get_point_connections(1) # Returns [2, 3]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar3D();\n"
+"astar.AddPoint(1, new Vector3(0, 0, 0));\n"
+"astar.AddPoint(2, new Vector3(0, 1, 0));\n"
+"astar.AddPoint(3, new Vector3(1, 1, 0));\n"
+"astar.AddPoint(4, new Vector3(2, 0, 0));\n"
+"astar.ConnectPoints(1, 2, true);\n"
+"astar.ConnectPoints(1, 3, true);\n"
+"\n"
+"int[] neighbors = astar.GetPointConnections(1); // Returns [2, 3]\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回一个数组,其中包含与给定点形成连接的点的 ID。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var astar = AStar3D.new()\n"
+"astar.add_point(1, Vector3(0, 0, 0))\n"
+"astar.add_point(2, Vector3(0, 1, 0))\n"
+"astar.add_point(3, Vector3(1, 1, 0))\n"
+"astar.add_point(4, Vector3(2, 0, 0))\n"
+"\n"
+"astar.connect_points(1, 2, true)\n"
+"astar.connect_points(1, 3, true)\n"
+"\n"
+"var neighbors = astar.get_point_connections(1) # 返回 [2, 3]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var astar = new AStar3D();\n"
+"astar.AddPoint(1, new Vector3(0, 0, 0));\n"
+"astar.AddPoint(2, new Vector3(0, 1, 0));\n"
+"astar.AddPoint(3, new Vector3(1, 1, 0));\n"
+"astar.AddPoint(4, new Vector3(2, 0, 0));\n"
+"astar.ConnectPoints(1, 2, true);\n"
+"astar.ConnectPoints(1, 3, true);\n"
+"\n"
+"int[] neighbors = astar.GetPointConnections(1); // 返回 [2, 3]\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns an array with the points that are in the path found by AStar3D "
+"between the given points. The array is ordered from the starting point to "
+"the ending point of the path.\n"
+"[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it "
+"will return an empty [PackedVector3Array] and will print an error message."
+msgstr ""
+"返回一个数组,其中包含 AStar3D 在给定点之间找到的路径中的点。数组从路径的起点"
+"到终点进行排序。\n"
+"[b]注意:[/b]这种方法不是线程安全的。如果从 [Thread] 调用,它将返回一个空的 "
+"[PackedVector3Array],并打印一条错误消息。"
+
+msgid ""
+"A* (or \"A-Star\") pathfinding tailored to find the shortest paths on 2D "
+"grids."
+msgstr "A*(或“A 星”)寻路,为寻找 2D 网格上的最短路径定制。"
+
+msgid ""
+"Returns an array with the IDs of the points that form the path found by "
+"AStar2D between the given points. The array is ordered from the starting "
+"point to the ending point of the path."
+msgstr ""
+"返回一个数组,其中包含形成 AStar2D 在给定点之间找到的路径的点的 ID。该数组从"
+"路径的起点到终点排序。"
+
+msgid ""
+"Returns [code]true[/code] if the [param x] and [param y] is a valid grid "
+"coordinate (id)."
+msgstr ""
+"如果 [param x] 和 [param y] 是有效的网格坐标(ID),则返回 [code]true[/"
+"code]。"
+
+msgid ""
+"Returns [code]true[/code] if the [param id] vector is a valid grid "
+"coordinate."
+msgstr "如果 [param id] 向量是有效的网格坐标,则返回 [code]true[/code]。"
+
+msgid ""
+"Disables or enables the specified point for pathfinding. Useful for making "
+"an obstacle. By default, all points are enabled.\n"
+"[b]Note:[/b] Calling [method update] is not needed after the call of this "
+"function."
+msgstr ""
+"禁用或启用指定的寻路点。用于制造障碍物。默认情况下,启用所有点。\n"
+"[b]注意:[/b]调用该函数后不需要调用 [method update]。"
+
+msgid ""
+"Sets the [param weight_scale] for the point with the given [param id]. The "
+"[param weight_scale] is multiplied by the result of [method _compute_cost] "
+"when determining the overall cost of traveling across a segment from a "
+"neighboring point to this point.\n"
+"[b]Note:[/b] Calling [method update] is not needed after the call of this "
+"function."
+msgstr ""
+"为具有给定 [param id] 的点设置 [param weight_scale]。在确定从相邻点到该点穿越"
+"路段的总成本时,[param weight_scale] 要乘以 [method _compute_cost] 的结果。\n"
+"[b]注意:[/b]调用该函数后不需要调用 [method update]。"
+
+msgid "Represents the size of the [enum Heuristic] enum."
+msgstr "代表 [enum Heuristic] 枚举的大小。"
+
+msgid "Represents the size of the [enum DiagonalMode] enum."
+msgstr "代表 [enum DiagonalMode] 枚举的大小。"
+
+msgid "A texture that crops out part of another Texture2D."
+msgstr "裁剪其他 Texture2D 的纹理。"
+
+msgid ""
+"The texture that contains the atlas. Can be any type inheriting from "
+"[Texture2D], including another [AtlasTexture]."
+msgstr ""
+"包含该图集的纹理。可以是任何继承自 [Texture2D] 的类型,包括其他 "
+"[AtlasTexture]。"
+
+msgid "The region used to draw the [member atlas]."
+msgstr "用于绘制 [member atlas] 的区域。"
+
msgid "Stores information about the audio buses."
msgstr "存储有关音频总线的信息。"
@@ -3866,7 +10591,7 @@ msgstr ""
"见 [AudioServer] 。"
msgid "Audio effect for audio."
-msgstr "音频效果的音频。"
+msgstr "用于音频的音频效果。"
msgid ""
"Base resource for audio bus. Applies an audio effect on the bus that the "
@@ -3876,6 +10601,9 @@ msgstr "音频总线的基础资源。在该资源所应用的总线上应用音
msgid "Audio Mic Record Demo"
msgstr "音频麦克风录音演示"
+msgid "Adds an amplifying audio effect to an audio bus."
+msgstr "向音频总线添加一个放大的音频效果。"
+
msgid "Increases or decreases the volume being routed through the audio bus."
msgstr "增加或减少通过音频总线传送的音量。"
@@ -3954,13 +10682,13 @@ msgid "The voice's signal delay."
msgstr "声音的信号延迟。"
msgid "The voice filter's depth."
-msgstr "声音滤镜的深度。"
+msgstr "声音过滤器的深度。"
msgid "The voice's volume."
msgstr "声音的音量。"
msgid "The voice's pan level."
-msgstr "声音的声相级别。"
+msgstr "声音的声相电平。"
msgid "The voice's filter rate."
msgstr "声音过滤比率。"
@@ -4036,7 +10764,7 @@ msgstr "使用另一条音频总线进行阈值检测,降低声音级别。"
msgid ""
"The level above which compression is applied to the audio. Value can range "
"from -60 to 0."
-msgstr "对音频进行压缩的级别。数值范围从 -60 到 0。"
+msgstr "超过该电平,压缩将应用于音频。值的范围可以从 -60 到 0。"
msgid ""
"Adds a delay audio effect to an audio bus. Plays input signal back after a "
@@ -4087,7 +10815,7 @@ msgstr ""
"[code]tap1[/code] 的平移位置。取值范围为 -1(完全向左)到 1(完全向右)。"
msgid "If [code]true[/code], [code]tap2[/code] will be enabled."
-msgstr "如果为 [code]true[/code],将启用[code]tap2[/code]。"
+msgstr "如果为 [code]true[/code],将启用 [code]tap2[/code]。"
msgid "[b]Tap2[/b] delay time in milliseconds."
msgstr "[b]Tap2[/b] 延迟时间,单位为毫秒。"
@@ -4112,7 +10840,17 @@ msgstr ""
"20000。"
msgid "Distortion type."
-msgstr "失真类型."
+msgstr "失真类型。"
+
+msgid ""
+"Increases or decreases the volume after the effect, in decibels. Value can "
+"range from -80 to 24."
+msgstr "在效果后增加或减少的音量,单位为分贝。取值范围从 -80 到 24。"
+
+msgid ""
+"Increases or decreases the volume before the effect, in decibels. Value can "
+"range from -60 to 60."
+msgstr "在效果前增加或减少的音量,单位为分贝。取值范围从 -60 到 60。"
msgid ""
"Digital distortion effect which cuts off peaks at the top and bottom of the "
@@ -4130,8 +10868,8 @@ msgid ""
"or [AudioEffectEQ21] don't fit your needs."
msgstr ""
"音频均衡器的基础类。让你可以控制频率。\n"
-"如果 [AudioEffectEQ6]、[AudioEffectEQ10] 或 [AudioEffectEQ21]不符合您的需求,"
-"请使用它来创建一个自定义均衡器。"
+"如果 [AudioEffectEQ6]、[AudioEffectEQ10] 或 [AudioEffectEQ21] 不符合您的需"
+"求,请使用它来创建一个自定义均衡器。"
msgid ""
"AudioEffectEQ gives you control over frequencies. Use it to compensate for "
@@ -4160,7 +10898,7 @@ msgid ""
"Each frequency can be modulated between -60/+24 dB."
msgstr ""
"为音频总线添加 10 段均衡器音频效果。让你控制 31Hz 到 16000Hz 的频率。\n"
-"每个频率可以在 -60/+24dB 之间进行调制。"
+"每个频率可以在 -60/+24 dB 之间进行调制。"
msgid ""
"Frequency bands:\n"
@@ -4194,8 +10932,9 @@ msgid ""
"over frequencies from 22 Hz to 22000 Hz.\n"
"Each frequency can be modulated between -60/+24 dB."
msgstr ""
-"为音频总线添加21段均衡器音频效果。让你控制22Hz到22000Hz的频率。\n"
-"每个频率可以在-60/+24dB之间进行调制。"
+"向音频总线添加一个 21 频段均衡器音频效果。使您可以控制从 22 Hz 到 22000 Hz 的"
+"频率。\n"
+"每个频率都可以在 -60/+24 dB 之间进行调制。"
msgid ""
"Frequency bands:\n"
@@ -4247,6 +10986,15 @@ msgstr ""
"另请参阅 [AudioEffectEQ]、[AudioEffectEQ6]、[AudioEffectEQ10]。"
msgid ""
+"Adds a 6-band equalizer audio effect to an audio bus. Gives you control over "
+"frequencies from 32 Hz to 10000 Hz.\n"
+"Each frequency can be modulated between -60/+24 dB."
+msgstr ""
+"向音频总线添加一个 6 频段均衡器音频效果。使您可以控制从 32 Hz 到 10000 Hz 的"
+"频率。\n"
+"每个频率都可以在 -60/+24 dB 之间进行调制。"
+
+msgid ""
"Frequency bands:\n"
"Band 1: 32 Hz\n"
"Band 2: 100 Hz\n"
@@ -4280,12 +11028,18 @@ msgstr "滤波后频率的增益量。"
msgid "Amount of boost in the frequency range near the cutoff frequency."
msgstr "在截断频率附近的频率范围内的提升量。"
+msgid "Adds a high-pass filter to the audio bus."
+msgstr "向音频总线添加一个高通滤波器。"
+
msgid ""
"Cuts frequencies lower than the [member AudioEffectFilter.cutoff_hz] and "
"allows higher frequencies to pass."
msgstr ""
"削减比 [member AudioEffectFilter.cutoff_hz] 更低的频率,允许更高的频率通过。"
+msgid "Adds a high-shelf filter to the audio bus."
+msgstr "向音频总线添加一个高架滤波器。"
+
msgid "Reduces all frequencies above the [member AudioEffectFilter.cutoff_hz]."
msgstr "降低所有高于 [member AudioEffectFilter.cutoff_hz] 的频率。"
@@ -4313,7 +11067,7 @@ msgstr "波形的最大允许值,单位是分贝。数值范围从 -20 到 -0.
msgid ""
"Applies a gain to the limited waves, in decibels. Value can range from 0 to "
"6."
-msgstr "将增益应用于有限的波,以分贝为单位。取值范围是 0 到 6。"
+msgstr "将增益应用于被限制的波,以分贝为单位。取值范围是 0 到 6。"
msgid ""
"Threshold from which the limiter begins to be active, in decibels. Value can "
@@ -4329,6 +11083,9 @@ msgid ""
msgstr ""
"削减比 [member AudioEffectFilter.cutoff_hz] 更低的频率,允许更高的频率通过。"
+msgid "Adds a low-shelf filter to the audio bus."
+msgstr "向音频总线添加一个低架滤波器。"
+
msgid "Reduces all frequencies below the [member AudioEffectFilter.cutoff_hz]."
msgstr "降低 [member AudioEffectFilter.cutoff_hz] 以下的所有频率。"
@@ -4342,6 +11099,9 @@ msgstr ""
"衰减 [member AudioEffectFilter.cutoff_hz] 周围窄带的频率,并切断这个范围以外"
"的频率。"
+msgid "Adds a panner audio effect to an audio bus. Pans sound left or right."
+msgstr "向音频总线添加一个声相器音频效果。向左或向右平移声音。"
+
msgid ""
"Determines how much of an audio signal is sent to the left and right buses."
msgstr "决定向左右总线发送的音频信号量。"
@@ -4350,6 +11110,14 @@ msgid "Pan position. Value can range from -1 (fully left) to 1 (fully right)."
msgstr "平移位置。值的范围可以从 -1(完全左)到1(完全右)。"
msgid ""
+"Adds a phaser audio effect to an audio bus.\n"
+"Combines the original signal with a copy that is slightly out of phase with "
+"the original."
+msgstr ""
+"向音频总线添加一个移相器音频效果。\n"
+"将原始信号和与原始信号稍有相位偏差的副本组合在一起。"
+
+msgid ""
"Combines phase-shifted signals with the original signal. The movement of the "
"phase-shifted signals is controlled using a low-frequency oscillator."
msgstr "将相移信号与原始信号相结合。使用低频振荡器控制相移信号的移动。"
@@ -4359,7 +11127,7 @@ msgid ""
"affect bass frequencies. High value can sweep high into the treble. Value "
"can range from 0.1 to 4."
msgstr ""
-"控制滤波器频率扫描的频率。较低的值将主要影响低音频率。高值可以推高高音。值的"
+"控制滤波器频率扫描的高度。较低的值将主要影响低音频率。高值可以推高高音。值的"
"范围可以从 0.1 到 4。"
msgid "Output percent of modified sound. Value can range from 0.1 to 0.9."
@@ -4381,6 +11149,13 @@ msgid ""
msgstr "以 Hz 为单位调整效果在整个频率范围内上下扫描的速度。"
msgid ""
+"Adds a pitch-shifting audio effect to an audio bus.\n"
+"Raises or lowers the pitch of original sound."
+msgstr ""
+"为音频总线添加音高变换的音频效果。\n"
+"升高或降低原始声音的音高。"
+
+msgid ""
"Allows modulation of pitch independently of tempo. All frequencies can be "
"increased/decreased with minimal effect on transients."
msgstr "允许独立于速度调制音高。所有频率都可以增加或减少,而对瞬态的影响最小。"
@@ -4418,7 +11193,7 @@ msgid ""
"Use a buffer of 256 samples for the Fast Fourier transform. Lowest latency, "
"but least stable over time."
msgstr ""
-"使用 256 个样品的缓冲器进行快速傅里叶变换。最低延迟,但随着时间的推移最不稳"
+"使用 256 个样本的缓冲器进行快速傅里叶变换。最低延迟,但随着时间的推移最不稳"
"定。"
msgid ""
@@ -4431,22 +11206,25 @@ msgid ""
"Use a buffer of 1024 samples for the Fast Fourier transform. This is a "
"compromise between latency and stability over time."
msgstr ""
-"使用 1024 个样本的缓冲器进行快速傅里叶变换。随着时间的推移,这是延迟和稳定性"
+"使用 1024 个样本的缓冲器进行快速傅里叶变换。这是延迟和随着时间的推移的稳定性"
"之间的折衷。"
msgid ""
"Use a buffer of 2048 samples for the Fast Fourier transform. High latency, "
"but stable over time."
msgstr ""
-"使用 2048 个样品的缓冲器进行快速傅里叶变换。随着时间的推移,延迟高但稳定。"
+"使用 2048 个样本的缓冲器进行快速傅里叶变换。高延迟,但随着时间的推移稳定。"
msgid ""
"Use a buffer of 4096 samples for the Fast Fourier transform. Highest "
"latency, but most stable over time."
msgstr ""
-"使用 4096 个样品的缓冲器进行快速傅里叶变换。随着时间的推移,延迟最高但最稳"
+"使用 4096 个样本的缓冲器进行快速傅里叶变换。延迟最高,但随着时间的推移最稳"
"定。"
+msgid "Represents the size of the [enum FFTSize] enum."
+msgstr "代表 [enum FFTSize] 枚举的大小。"
+
msgid "Audio effect used for recording the sound from an audio bus."
msgstr "用于录制来自音频总线的声音的音频效果。"
@@ -4481,6 +11259,20 @@ msgstr ""
"本。"
msgid ""
+"Specifies the format in which the sample will be recorded. See [enum "
+"AudioStreamWAV.Format] for available formats."
+msgstr ""
+"指定样本将被记录的格式。有关可用格式,请参阅 [enum AudioStreamWAV.Format]。"
+
+msgid "Adds a reverberation audio effect to an Audio bus."
+msgstr "向音频总线添加一个混响音频效果。"
+
+msgid ""
+"Simulates the sound of acoustic environments such as rooms, concert halls, "
+"caverns, or an open spaces."
+msgstr "模拟房间、音乐厅、洞穴或开放空间等声学环境的声音。"
+
+msgid ""
"Defines how reflective the imaginary room's walls are. Value can range from "
"0 to 1."
msgstr "定义虚拟房间墙壁的反射程度。值的范围是 0 到 1。"
@@ -4562,12 +11354,74 @@ msgstr "用平均值作为幅度。"
msgid "Use the maximum value as magnitude."
msgstr "用最大值作为幅度。"
+msgid ""
+"An audio effect that can be used to adjust the intensity of stereo panning."
+msgstr "一种可用于调整立体声声相强度的音频效果。"
+
msgid "Overrides the location sounds are heard from."
msgstr "覆盖听到声音的位置。"
+msgid ""
+"Once added to the scene tree and enabled using [method make_current], this "
+"node will override the location sounds are heard from. Only one "
+"[AudioListener2D] can be current. Using [method make_current] will disable "
+"the previous [AudioListener2D].\n"
+"If there is no active [AudioListener2D] in the current [Viewport], center of "
+"the screen will be used as a hearing point for the audio. [AudioListener2D] "
+"needs to be inside [SceneTree] to function."
+msgstr ""
+"一旦被添加到场景树并使用 [method make_current] 启用,此节点将覆盖听到声音的位"
+"置。只有一个 [AudioListener2D] 可以是当前的。使用 [method make_current] 将禁"
+"用之前的 [AudioListener2D]。\n"
+"如果当前 [Viewport] 中没有活动的 [AudioListener2D],则屏幕中心将用作音频的聆"
+"听点。[AudioListener2D] 需要在 [SceneTree] 内才能起作用。"
+
+msgid ""
+"Disables the [AudioListener2D]. If it's not set as current, this method will "
+"have no effect."
+msgstr "禁用 [AudioListener2D]。如果未设置为当前,则此方法无效。"
+
+msgid ""
+"Returns [code]true[/code] if this [AudioListener2D] is currently active."
+msgstr "如果该 [AudioListener2D] 当前处于激活状态,则返回 [code]true[/code]。"
+
+msgid ""
+"Makes the [AudioListener2D] active, setting it as the hearing point for the "
+"sounds. If there is already another active [AudioListener2D], it will be "
+"disabled.\n"
+"This method will have no effect if the [AudioListener2D] is not added to "
+"[SceneTree]."
+msgstr ""
+"激活该 [AudioListener2D],将其设置为声音的聆听点。如果已经有另一个激活的 "
+"[AudioListener2D],它将被禁用。\n"
+"如果 [AudioListener2D] 未添加到 [SceneTree],则该方法无效。"
+
+msgid ""
+"Once added to the scene tree and enabled using [method make_current], this "
+"node will override the location sounds are heard from. This can be used to "
+"listen from a location different from the [Camera3D]."
+msgstr ""
+"一旦添加到场景树并使用 [method make_current] 启用,该节点将覆盖听到声音的位"
+"置。这可用于从与 [Camera3D] 不同的位置聆听。"
+
msgid "Disables the listener to use the current camera's listener instead."
msgstr "禁用该监听器,用当前相机的监听器代替。"
+msgid "Returns the listener's global orthonormalized [Transform3D]."
+msgstr "返回该监听器的全局正交归一化 [Transform3D]。"
+
+msgid ""
+"Returns [code]true[/code] if the listener was made current using [method "
+"make_current], [code]false[/code] otherwise.\n"
+"[b]Note:[/b] There may be more than one AudioListener3D marked as "
+"\"current\" in the scene tree, but only the one that was made current last "
+"will be used."
+msgstr ""
+"如果使用 [method make_current] 将监听器设为当前,则返回 [code]true[/code],否"
+"则返回 [code]false[/code]。\n"
+"[b]注意:[/b] 场景树中标记为“当前”的 AudioListener3D 可能不止一个,但只会使用"
+"最后被设置为当前的那个。"
+
msgid "Enables the listener. This will override the current camera's listener."
msgstr "启用该监听器。将覆盖当前相机的监听器。"
@@ -4585,18 +11439,56 @@ msgstr ""
msgid "Audio Device Changer Demo"
msgstr "音频设备切换演示"
+msgid "Adds a bus at [param at_position]."
+msgstr "在 [param at_position] 处添加一条总线。"
+
+msgid ""
+"Adds an [AudioEffect] effect to the bus [param bus_idx] at [param "
+"at_position]."
+msgstr ""
+"为在 [param at_position] 处索引为 [param bus_idx] 的总线添加 [AudioEffect] 效"
+"果。"
+
msgid "Generates an [AudioBusLayout] using the available buses and effects."
msgstr "使用可用的总线和效果来生成 [AudioBusLayout]。"
+msgid "Returns the number of channels of the bus at index [param bus_idx]."
+msgstr "返回索引为 [param bus_idx] 的总线的通道数。"
+
+msgid ""
+"Returns the [AudioEffect] at position [param effect_idx] in bus [param "
+"bus_idx]."
+msgstr ""
+"返回索引为 [param bus_idx] 的总线中位于 [param effect_idx] 的 [AudioEffect]。"
+
+msgid "Returns the number of effects on the bus at [param bus_idx]."
+msgstr "返回索引为 [param bus_idx] 的总线上的效果数。"
+
msgid ""
"Returns the [AudioEffectInstance] assigned to the given bus and effect "
"indices (and optionally channel)."
msgstr ""
-"返回分配给给定总线和效果指数(以及可选的通道)的 [AudioEffectInstance]。"
+"返回分配给给定总线和效果索引(以及可选的通道)的[AudioEffectInstance]。"
+
+msgid "Returns the index of the bus with the name [param bus_name]."
+msgstr "返回名称为 [param bus_name] 的总线的索引。"
+
+msgid "Returns the name of the bus with the index [param bus_idx]."
+msgstr "返回索引为 [param bus_idx] 的总线的名称。"
+
+msgid ""
+"Returns the name of the bus that the bus at index [param bus_idx] sends to."
+msgstr "返回索引为 [param bus_idx] 的总线的发送目标总线的名称。"
+
+msgid "Returns the volume of the bus at index [param bus_idx] in dB."
+msgstr "返回索引为 [param bus_idx] 的总线的音量,单位为 dB。"
msgid "Returns the sample rate at the output of the [AudioServer]."
msgstr "返回 [AudioServer] 输出的采样率。"
+msgid "Returns the names of all audio output devices detected on the system."
+msgstr "返回系统中检测到的所有音频输出设备的名称。"
+
msgid "Returns the audio driver's output latency."
msgstr "返回音频驱动器的输出延迟。"
@@ -4610,15 +11502,59 @@ msgid "Returns the relative time until the next mix occurs."
msgstr "返回下一次混合之前的相对时间。"
msgid ""
+"If [code]true[/code], the bus at index [param bus_idx] is bypassing effects."
+msgstr "如果为 [code]true[/code],则索引为 [param bus_idx] 的总线会绕过效果。"
+
+msgid ""
+"If [code]true[/code], the effect at index [param effect_idx] on the bus at "
+"index [param bus_idx] is enabled."
+msgstr ""
+"如果为 [code]true[/code],则索引为 [param bus_idx] 的总线上启用了索引为 "
+"[param effect_idx] 的效果。"
+
+msgid "If [code]true[/code], the bus at index [param bus_idx] is muted."
+msgstr "如果为 [code]true[/code],则索引为 [param bus_idx] 的总线已静音。"
+
+msgid "If [code]true[/code], the bus at index [param bus_idx] is in solo mode."
+msgstr ""
+"如果为 [code]true[/code],则索引为 [param bus_idx] 的总线处于独奏模式。"
+
+msgid ""
"Locks the audio driver's main loop.\n"
"[b]Note:[/b] Remember to unlock it afterwards."
msgstr ""
"锁定音频驱动程序的主循环。\n"
-"[b]注意:[/b]记得事后解锁。"
+"[b]注意:[/b]之后记得解锁。"
+
+msgid "Moves the bus from index [param index] to index [param to_index]."
+msgstr "将总线从索引 [param index] 移动到索引 [param to_index]。"
+
+msgid "Removes the bus at index [param index]."
+msgstr "移除索引 [param index] 处的总线。"
+
+msgid ""
+"Removes the effect at index [param effect_idx] from the bus at index [param "
+"bus_idx]."
+msgstr "将索引 [param effect_idx] 的效果从索引 [param bus_idx] 的总线上移除。"
msgid "Overwrites the currently used [AudioBusLayout]."
msgstr "覆盖当前使用的 [AudioBusLayout]。"
+msgid "Sets the name of the bus at index [param bus_idx] to [param name]."
+msgstr "将索引为 [param bus_idx] 的总线的名称设为 [param name]。"
+
+msgid ""
+"Connects the output of the bus at [param bus_idx] to the bus named [param "
+"send]."
+msgstr "将索引为 [param bus_idx] 处的总线输出连接到名为 [param send] 的总线。"
+
+msgid ""
+"Sets the volume of the bus at index [param bus_idx] to [param volume_db]."
+msgstr "将索引为 [param bus_idx] 的总线的音量设为 [param volume_db]。"
+
+msgid "Swaps the position of two effects in bus [param bus_idx]."
+msgstr "在索引为 [param bus_idx] 的总线中交换两个效果的位置。"
+
msgid ""
"Unlocks the audio driver's main loop. (After locking it, you should always "
"unlock it.)"
@@ -4645,6 +11581,14 @@ msgstr "检测到 7.1 声道环绕声设置。"
msgid "Base class for audio streams."
msgstr "音频流的基类。"
+msgid ""
+"Base class for audio streams. Audio streams are used for sound effects and "
+"music playback, and support WAV (via [AudioStreamWAV]) and Ogg (via "
+"[AudioStreamOggVorbis]) file formats."
+msgstr ""
+"音频流的基类。音频流用于播放音效和音乐,支持 WAV(通过 [AudioStreamWAV])和 "
+"Ogg(通过 [AudioStreamOggVorbis])文件格式。"
+
msgid "Audio streams"
msgstr "音频流"
@@ -4687,9 +11631,9 @@ msgstr ""
"code]。\n"
"根据[url=https://zh.wikipedia.org/wiki/%E9%87%87%E6%A0%B7%E5%AE%9A%E7%90%86]"
"奈奎斯特–香农采样定理[/url],当超过 40000 赫兹时,人类的听觉没有质量上的差别"
-"(因为大多数人只能听到 ~20000 赫兹,往往更少)。如果你要生成语音等音高较低的"
-"声音,则可以使用 [code]32000[/code] 或 [code]22050[/code] 等较低的采样率,不"
-"会降低质量。"
+"(因为大多数人最多只能听到 ~20000 赫兹,往往更少)。如果你要生成语音等音高较"
+"低的声音,则可以使用 [code]32000[/code] 或 [code]22050[/code] 等较低的采样"
+"率,不会降低质量。"
msgid "Plays back audio generated using [AudioStreamGenerator]."
msgstr "播放使用 [AudioStreamGenerator] 生成的音频。"
@@ -4717,6 +11661,58 @@ msgid "MP3 audio stream driver."
msgstr "MP3 音频流驱动程序。"
msgid ""
+"MP3 audio stream driver. See [member data] if you want to load an MP3 file "
+"at run-time."
+msgstr ""
+"MP3 音频流驱动程序。如果要在运行时加载 MP3 文件,请参阅 [member data]。"
+
+msgid ""
+"Contains the audio data in bytes.\n"
+"You can load a file without having to import it beforehand using the code "
+"snippet below. Keep in mind that this snippet loads the whole file into "
+"memory and may not be ideal for huge files (hundreds of megabytes or more).\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func load_mp3(path):\n"
+" var file = FileAccess.open(path, FileAccess.READ)\n"
+" var sound = AudioStreamMP3.new()\n"
+" sound.data = file.get_buffer(file.get_length())\n"
+" return sound\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public AudioStreamMP3 LoadMP3(string path)\n"
+"{\n"
+" using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n"
+" var sound = new AudioStreamMP3();\n"
+" sound.Data = file.GetBuffer(file.GetLength());\n"
+" return sound;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"包含以字节为单位的音频数据。\n"
+"您可以使用下面的代码片段,加载文件而无需事先导入它。请记住,此代码段将整个文"
+"件加载到内存中,对于大文件(数百兆字节或更多)可能并不理想。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func load_mp3(path):\n"
+" var file = FileAccess.open(path, FileAccess.READ)\n"
+" var sound = AudioStreamMP3.new()\n"
+" sound.data = file.get_buffer(file.get_length())\n"
+" return sound\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public AudioStreamMP3 LoadMP3(string path)\n"
+"{\n"
+" using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n"
+" var sound = new AudioStreamMP3();\n"
+" sound.Data = file.GetBuffer(file.GetLength());\n"
+" return sound;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"If [code]true[/code], the stream will automatically loop when it reaches the "
"end."
msgstr "如果为 [code]true[/code],当流到达末尾时将自动循环。"
@@ -4724,9 +11720,36 @@ msgstr "如果为 [code]true[/code],当流到达末尾时将自动循环。"
msgid "Time in seconds at which the stream starts after being looped."
msgstr "循环时,流开始的时间,单位为秒。"
+msgid "Contains the raw Ogg data for this stream."
+msgstr "包含用于这个流的原始 Ogg 数据。"
+
msgid "Meta class for playing back audio."
msgstr "播放音频的元类。"
+msgid "Playback instance for [AudioStreamPolyphonic]."
+msgstr "[AudioStreamPolyphonic] 的播放实例。"
+
+msgid ""
+"Playback instance for [AudioStreamPolyphonic]. After setting the "
+"[code]stream[/code] property of [AudioStreamPlayer], [AudioStreamPlayer2D], "
+"or [AudioStreamPlayer3D], the playback instance can be obtained by calling "
+"[method AudioStreamPlayer.get_stream_playback], [method AudioStreamPlayer2D."
+"get_stream_playback] or [method AudioStreamPlayer3D.get_stream_playback] "
+"methods."
+msgstr ""
+"[AudioStreamPolyphonic] 的播放实例。设置 [AudioStreamPlayer]、"
+"[AudioStreamPlayer2D] 或 [AudioStreamPlayer3D] 的 [code]stream[/code] 属性"
+"后,可以通过调用 [method AudioStreamPlayer.get_stream_playback]、[method "
+"AudioStreamPlayer2D.get_stream_playback] 或 [method AudioStreamPlayer3D."
+"get_stream_playback] 方法获取播放实例。"
+
+msgid ""
+"Stop a stream. The [param stream] argument is an integer ID returned by "
+"[method play_stream], which becomes invalid after calling this function."
+msgstr ""
+"停止某个流。[param stream] 参数是由 [method play_stream] 返回的整数 ID,在调"
+"用这个函数后失效。"
+
msgid "Plays back audio non-positionally."
msgstr "播放音频,不考虑所处位置。"
@@ -4747,6 +11770,9 @@ msgid ""
"[AudioStreamPlayer]."
msgstr "返回与此 [AudioStreamPlayer] 关联的 [AudioStreamPlayback] 对象。"
+msgid "Plays the audio from the given [param from_position], in seconds."
+msgstr "从给定的位置 [param from_position] 播放音频,以秒为单位。"
+
msgid "Sets the position from which audio will be played, in seconds."
msgstr "设置音频的播放位置,以秒为单位。"
@@ -4821,6 +11847,13 @@ msgid ""
msgstr "返回与该 [AudioStreamPlayer2D] 相关联的 [AudioStreamPlayback] 对象。"
msgid ""
+"Queues the audio to play on the next physics frame, from the given position "
+"[param from_position], in seconds."
+msgstr ""
+"将要播放的音频入队,将在下一物理帧从给定的位置 [param from_position] 开始播"
+"放,单位为秒。"
+
+msgid ""
"Determines which [Area2D] layers affect the sound for reverb and audio bus "
"effects. Areas can be used to redirect [AudioStream]s so that they play in a "
"certain audio bus. An example of how you might use this is making a "
@@ -4834,6 +11867,16 @@ msgstr ""
msgid "Maximum distance from which audio is still hearable."
msgstr "音频仍可听到的最大距离。"
+msgid ""
+"If [code]true[/code], audio is playing or is queued to be played (see "
+"[method play])."
+msgstr ""
+"如果为 [code]true[/code],则音频正在播放,或者已加入播放队列(见 [method "
+"play])。"
+
+msgid "Base volume before attenuation."
+msgstr "衰减前的基础音量。"
+
msgid "Plays positional sound in 3D space."
msgstr "在 3D 空间中播放与位置相关的声音。"
@@ -4891,9 +11934,58 @@ msgid ""
"over a larger distance."
msgstr "衰减效果的系数。更高的值使声音在更远的距离可以听到。"
+msgid "Attenuation of loudness according to linear distance."
+msgstr "根据距离对响度进行线性衰减。"
+
+msgid "Attenuation of loudness according to squared distance."
+msgstr "根据距离对响度进行平方衰减。"
+
+msgid "Attenuation of loudness according to logarithmic distance."
+msgstr "根据距离对响度进行对数衰减。"
+
+msgid ""
+"No attenuation of loudness according to distance. The sound will still be "
+"heard positionally, unlike an [AudioStreamPlayer]. [constant "
+"ATTENUATION_DISABLED] can be combined with a [member max_distance] value "
+"greater than [code]0.0[/code] to achieve linear attenuation clamped to a "
+"sphere of a defined size."
+msgstr ""
+"不根据距离衰减响度。与 [AudioStreamPlayer] 不同,声音仍会在位置上被听到。"
+"[constant ATTENUATION_DISABLED] 可以与大于 [code]0.0[/code] 的 [member "
+"max_distance] 值结合使用,以实现线性衰减,限制在定义的球体大小。"
+
msgid "Disables doppler tracking."
msgstr "禁用多普勒跟踪。"
+msgid "Executes doppler tracking in idle step."
+msgstr "在空闲步骤中执行多普勒跟踪。"
+
+msgid "Executes doppler tracking in physics step."
+msgstr "在物理步骤中执行多普勒跟踪。"
+
+msgid "Returns the stream at the specified index."
+msgstr "返回指定索引处的流。"
+
+msgid "Move a stream from one index to another."
+msgstr "将流从一个索引移动到另一个索引。"
+
+msgid "Remove the stream at the specified index."
+msgstr "移除指定索引处的流。"
+
+msgid "Set the AudioStream at the specified index."
+msgstr "设置指定索引处的 AudioStream。"
+
+msgid ""
+"The intensity of random pitch variation. A value of 1 means no variation."
+msgstr "随机音高变化的强度。值为 1 表示没有变化。"
+
+msgid ""
+"The intensity of random volume variation. A value of 0 means no variation."
+msgstr "随机音量变化的强度。值为 0 表示没有变化。"
+
+msgid "The number of streams in the stream pool."
+msgstr "流池中流的数量。"
+
msgid "Stores audio data loaded from WAV files."
msgstr "存储从 WAV 文件加载的音频数据。"
@@ -5069,6 +12161,9 @@ msgstr ""
"[b]注意:[/b]该属性只影响按钮的视觉表现。无论该属性的值是多少,信号都会在同一"
"时刻发出。"
+msgid "[Shortcut] associated to the button."
+msgstr "与该按钮关联的 [Shortcut]。"
+
msgid ""
"If [code]true[/code], the button will add information about its shortcut in "
"the tooltip."
@@ -5136,6 +12231,9 @@ msgstr ""
"这提供了一个默认的材质,具有多种渲染功能和属性,无需编写着色器代码。详情请看"
"下面的教程。"
+msgid "Standard Material 3D"
+msgstr "标准 3D 材质"
+
msgid "Returns [code]true[/code], if the specified [enum Feature] is enabled."
msgstr "如果指定的 [enum Feature] 被启用,返回 [code]true[/code]。"
@@ -5158,6 +12256,15 @@ msgstr ""
"用或禁用多个标志。也可以通过将相应成员设置为 [code]true[/code] 来启用标志。选"
"项见 [enum Flags] 枚举值。"
+msgid "The type of alpha antialiasing to apply. See [enum AlphaAntiAliasing]."
+msgstr "要应用的 Alpha 抗锯齿类型。见 [enum AlphaAntiAliasing]。"
+
+msgid ""
+"The hashing scale for Alpha Hash. Recommended values between [code]0[/code] "
+"and [code]2[/code]."
+msgstr ""
+"Alpha Hash 的哈希比例。推荐 [code]0[/code] 和 [code]2[/code] 之间的值。"
+
msgid ""
"The strength of the anisotropy effect. This is multiplied by [member "
"anisotropy_flowmap]'s alpha channel if a texture is defined there and the "
@@ -5167,6 +12274,24 @@ msgstr ""
"纹理,那么这个值会与其 Alpha 通道相乘。"
msgid ""
+"If [code]true[/code], anisotropy is enabled. Anisotropy changes the shape of "
+"the specular blob and aligns it to tangent space. This is useful for brushed "
+"aluminium and hair reflections.\n"
+"[b]Note:[/b] Mesh tangents are needed for anisotropy to work. If the mesh "
+"does not contain tangents, the anisotropy effect will appear broken.\n"
+"[b]Note:[/b] Material anisotropy should not to be confused with anisotropic "
+"texture filtering, which can be enabled by setting [member texture_filter] "
+"to [constant TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC]."
+msgstr ""
+"如果为 [code]true[/code],则启用各向异性。各向异性会改变镜面反射斑点的形状并"
+"将其与切线空间对齐。可用于拉丝铝材和毛发反射。\n"
+"[b]注意:[/b]各向异性需要网格切线才能正常工作。如果网格中不包含切线,则各向异"
+"性效果会显得破碎。\n"
+"[b]注意:[/b]材质的各向异性不应与各向异性纹理过滤相混淆,后者可以通过将 "
+"[member texture_filter] 设置为 [constant "
+"TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC] 来启用。"
+
+msgid ""
"Texture that offsets the tangent map for anisotropy calculations and "
"optionally controls the anisotropy effect (if an alpha channel is present). "
"The flowmap texture is expected to be a derivative map, with the red channel "
@@ -5343,9 +12468,6 @@ msgid ""
"distance."
msgstr "如果为 [code]true[/code],则无论距离远近,对象都以相同的尺寸呈现。"
-msgid "Grows object vertices in the direction of their normals."
-msgstr "沿着法线的方向生长对象顶点。"
-
msgid ""
"A high value makes the material appear more like a metal. Non-metals use "
"their albedo as the diffuse color and add diffuse to the specular "
@@ -5379,14 +12501,14 @@ msgstr ""
"效果的信息时,这很有用。例如,如果您将金属效果存储在红色通道中,将粗糙度存储"
"在蓝色通道中,将环境遮挡存储在绿色通道中,就可以减少您使用的纹理数量。"
+msgid "The width of the shape outine."
+msgstr "形状轮廓的宽度。"
+
msgid ""
"If [code]true[/code], depth testing is disabled and the object will be drawn "
"in render order."
msgstr "如果为 [code]true[/code],深度测试被禁用,对象将按渲染顺序绘制。"
-msgid "If [code]true[/code], normal mapping is enabled."
-msgstr "如果为 [code]true[/code],则启用法线映射。"
-
msgid "The strength of the normal map's effect."
msgstr "法线贴图的效果强度。"
@@ -5464,6 +12586,22 @@ msgstr ""
"subsurf_scatter_strength] 相乘。"
msgid ""
+"Filter flags for the texture. See [enum TextureFilter] for options.\n"
+"[b]Note:[/b] [member heightmap_texture] is always sampled with linear "
+"filtering, even if nearest-neighbor filtering is selected here. This is to "
+"ensure the heightmap effect looks as intended. If you need sharper height "
+"transitions between pixels, resize the heightmap texture in an image editor "
+"with nearest-neighbor filtering."
+msgstr ""
+"纹理的过滤标志。可选项见 [enum TextureFilter]。\n"
+"[b]注意:[/b]即便这里选择了最近邻过滤,[member heightmap_texture] 也始终使用"
+"线性过滤采样。这是为了确保高度图效果看起来符合预期。如果您需要像素之间的高度"
+"过渡更加清晰,请在图像编辑器中使用最近邻过滤调整高度图纹理的大小。"
+
+msgid "Repeat flags for the texture. See [enum TextureFilter] for options."
+msgstr "纹理的重复标志。可选项见 [enum TextureFilter]。"
+
+msgid ""
"If [code]true[/code], instead of using [code]UV[/code] textures will use a "
"triplanar texture lookup to determine how to apply textures. Triplanar uses "
"the orientation of the object's surface to blend between texture "
@@ -5517,13 +12655,13 @@ msgid "Texture specifying per-pixel emission color."
msgstr "指定每个像素发射颜色的纹理。"
msgid "Texture specifying per-pixel normal vector."
-msgstr "指定每像素法向量的纹理。"
+msgstr "指定每个像素法向量的纹理。"
msgid "Texture specifying per-pixel rim value."
msgstr "指定每个像素边缘值的纹理。"
msgid "Texture specifying per-pixel clearcoat value."
-msgstr "指定每像素清漆值的纹理。"
+msgstr "指定每个像素清漆值的纹理。"
msgid ""
"Texture specifying per-pixel flowmap direction for use with [member "
@@ -5533,14 +12671,23 @@ msgstr "指定每个像素流图方向的纹理,用于 [member anisotropy]。"
msgid "Texture specifying per-pixel ambient occlusion value."
msgstr "指定每个像素环境光遮蔽的纹理。"
+msgid "Texture specifying per-pixel height."
+msgstr "指定每个像素高度的纹理。"
+
msgid "Texture specifying per-pixel subsurface scattering."
-msgstr "指定每个像素的次表面散射的纹理。"
+msgstr "指定每个像素次表面散射的纹理。"
+
+msgid "Texture specifying per-pixel transmittance for subsurface scattering."
+msgstr "指定每个像素用于次表面散射的透射率的纹理。"
+
+msgid "Texture specifying per-pixel backlight color."
+msgstr "指定每个像素背光颜色的纹理。"
msgid "Texture specifying per-pixel refraction strength."
msgstr "指定每个像素折射强度的纹理。"
msgid "Texture specifying per-pixel detail mask blending value."
-msgstr "指定每像素细节蒙版混合值的纹理。"
+msgstr "指定每个像素细节蒙版混合值的纹理。"
msgid "Texture specifying per-pixel detail color."
msgstr "指定每个像素细节颜色的纹理。"
@@ -5548,8 +12695,69 @@ msgstr "指定每个像素细节颜色的纹理。"
msgid "Texture specifying per-pixel detail normal."
msgstr "指定每个像素细节法线的纹理。"
+msgid "Texture holding ambient occlusion, roughness, and metallic."
+msgstr "保存环境光遮蔽、粗糙度和金属度信息的纹理。"
+
msgid "Represents the size of the [enum TextureParam] enum."
-msgstr "表示 [enum TextureParam] 枚举的大小。"
+msgstr "代表 [enum TextureParam] 枚举的大小。"
+
+msgid ""
+"The texture filter reads from the nearest pixel only. The simplest and "
+"fastest method of filtering, but the texture will look pixelized."
+msgstr ""
+"纹理过滤器仅读取最邻近的像素。最简单快速的过滤方法,但纹理看起来会像素化。"
+
+msgid ""
+"The texture filter blends between the nearest 4 pixels. Use this when you "
+"want to avoid a pixelated style, but do not want mipmaps."
+msgstr ""
+"纹理过滤器在最邻近的 4 个像素之间混合。如果你想要避免像素化风格,但又不想使"
+"用 mipmap,那么请使用这个选项。"
+
+msgid ""
+"The texture filter reads from the nearest pixel in the nearest mipmap. The "
+"fastest way to read from textures with mipmaps."
+msgstr ""
+"纹理过滤器读取最邻近的 mipmap 中的最邻近的像素。带有 mipmap 的纹理的最快读取"
+"方法。"
+
+msgid ""
+"The texture filter blends between the nearest 4 pixels and between the "
+"nearest 2 mipmaps. Use this for most cases as mipmaps are important to "
+"smooth out pixels that are far from the camera."
+msgstr ""
+"纹理过滤器在最邻近的 4 个像素和最邻近的 2 个 mipmap 之间混合。请在大多数情况"
+"下使用,因为 mipmap 对于平滑远离相机的像素很重要。"
+
+msgid ""
+"The texture filter reads from the nearest pixel, but selects a mipmap based "
+"on the angle between the surface and the camera view. This reduces artifacts "
+"on surfaces that are almost in line with the camera. The anisotropic "
+"filtering level can be changed by adjusting [member ProjectSettings."
+"rendering/textures/default_filters/anisotropic_filtering_level]."
+msgstr ""
+"纹理过滤器读取最邻近的像素,但会根据表面和相机视图之间的夹角选择 mipmap。可以"
+"减少几乎与相机成一直线的表面的不自然情况。各向异性过滤级别可以通过调整 "
+"[member ProjectSettings.rendering/textures/default_filters/"
+"anisotropic_filtering_level] 来改变。"
+
+msgid ""
+"The texture filter blends between the nearest 4 pixels and selects a mipmap "
+"based on the angle between the surface and the camera view. This reduces "
+"artifacts on surfaces that are almost in line with the camera. This is the "
+"slowest of the filtering options, but results in the highest quality "
+"texturing. The anisotropic filtering level can be changed by adjusting "
+"[member ProjectSettings.rendering/textures/default_filters/"
+"anisotropic_filtering_level]."
+msgstr ""
+"纹理过滤器在最邻近的 4 个像素之间进行混合,并会根据表面和相机视图之间的夹角选"
+"择 mipmap。可以减少几乎与相机成一直线的表面的不自然情况。这是过滤选项中最慢的"
+"一个,但可以得到最高质量的纹理。各向异性过滤级别可以通过调整 [member "
+"ProjectSettings.rendering/textures/default_filters/"
+"anisotropic_filtering_level] 来改变。"
+
+msgid "Represents the size of the [enum TextureFilter] enum."
+msgstr "代表 [enum TextureFilter] 枚举的大小。"
msgid "Use [code]UV[/code] with the detail texture."
msgstr "使用 [code]UV[/code] 与细节纹理。"
@@ -5557,6 +12765,12 @@ msgstr "使用 [code]UV[/code] 与细节纹理。"
msgid "Use [code]UV2[/code] with the detail texture."
msgstr "使用 [code]UV2[/code] 与细节纹理。"
+msgid "Represents the size of the [enum Transparency] enum."
+msgstr "代表 [enum Transparency] 枚举的大小。"
+
+msgid "Represents the size of the [enum ShadingMode] enum."
+msgstr "代表 [enum ShadingMode] 枚举的大小。"
+
msgid "Constant for setting [member emission_enabled]."
msgstr "用于设置 [member emission_enabled] 的常量。"
@@ -5575,9 +12789,18 @@ msgstr "用于设置 [member anisotropy_enabled] 的常量。"
msgid "Constant for setting [member ao_enabled]."
msgstr "用于设置 [member ao_enabled] 的常量。"
+msgid "Constant for setting [member heightmap_enabled]."
+msgstr "用于设置 [member heightmap_enabled] 的常量。"
+
msgid "Constant for setting [member subsurf_scatter_enabled]."
msgstr "用于设置 [member subsurf_scatter_enabled] 的常量。"
+msgid "Constant for setting [member subsurf_scatter_transmittance_enabled]."
+msgstr "用于设置 [member subsurf_scatter_transmittance_enabled] 的常量。"
+
+msgid "Constant for setting [member backlight_enabled]."
+msgstr "用于设置 [member backlight_enabled] 的常量。"
+
msgid "Constant for setting [member refraction_enabled]."
msgstr "用于设置 [member refraction_enabled] 的常量。"
@@ -5585,7 +12808,7 @@ msgid "Constant for setting [member detail_enabled]."
msgstr "用于设置 [member detail_enabled] 的常量。"
msgid "Represents the size of the [enum Feature] enum."
-msgstr "表示 [enum Feature] 枚举的大小。"
+msgstr "代表 [enum Feature] 枚举的大小。"
msgid ""
"Default blend mode. The color of the object is blended over the background "
@@ -5601,8 +12824,22 @@ msgstr "从背景中减去对象的颜色。"
msgid "The color of the object is multiplied by the background."
msgstr "对象的颜色与背景相乘。"
-msgid "No culling is performed."
-msgstr "不进行剔除。"
+msgid "Disables Alpha AntiAliasing for the material."
+msgstr "禁用该材质的 Alpha 抗锯齿。"
+
+msgid ""
+"Enables AlphaToCoverage. Alpha values in the material are passed to the "
+"AntiAliasing sample mask."
+msgstr ""
+"启用 AlphaToCoverage。材质中的 Alpha 值会被传递到 AntiAliasing 采样遮罩。"
+
+msgid ""
+"Enables AlphaToCoverage and forces all non-zero alpha values to [code]1[/"
+"code]. Alpha values in the material are passed to the AntiAliasing sample "
+"mask."
+msgstr ""
+"启用 AlphaToCoverage 并将所有非零的 alpha 值强制设为 [code]1[/code]。材质中"
+"的 Alpha 值会被传递到 AntiAliasing 采样遮罩。"
msgid "Set [code]ALBEDO[/code] to the per-vertex color specified in the mesh."
msgstr "将 [code]ALBEDO[/code] 设置为网格中指定的每顶点颜色。"
@@ -5648,7 +12885,7 @@ msgid "Enables the shadow to opacity feature."
msgstr "启用阴影到不透明度功能。"
msgid "Represents the size of the [enum Flags] enum."
-msgstr "表示 [enum Flags] 枚举的大小。"
+msgstr "代表 [enum Flags] 枚举的大小。"
msgid "Default diffuse scattering algorithm."
msgstr "默认的漫反射散射算法。"
@@ -5668,9 +12905,6 @@ msgstr "默认镜面反射斑点。"
msgid "Toon blob which changes size based on roughness."
msgstr "基于粗糙度更改大小的 Toon 斑点。"
-msgid "No specular blob."
-msgstr "无镜面反射斑点。"
-
msgid "Billboard mode is disabled."
msgstr "广告牌模式被禁用。"
@@ -5706,28 +12940,27 @@ msgid ""
"using the alpha channel."
msgstr "根据每个像素与相机的距离,使用 Alpha 通道平滑地淡化对象。"
-msgid ""
-"Smoothly fades the object out based on each pixel's distance from the camera "
-"using a dither approach. Dithering discards pixels based on a set pattern to "
-"smoothly fade without enabling transparency. On certain hardware this can be "
-"faster than [constant DISTANCE_FADE_PIXEL_ALPHA]."
-msgstr ""
-"根据每个像素与相机的距离,使用抖动方法平滑地淡化对象。抖动会根据设定的模式丢"
-"弃像素,在不启用透明的情况下平滑淡化。在某些硬件上比 [constant "
-"DISTANCE_FADE_PIXEL_ALPHA] 更快。"
+msgid "3×3 matrix datatype."
+msgstr "3×3 矩阵数据类型。"
msgid ""
-"Smoothly fades the object out based on the object's distance from the camera "
-"using a dither approach. Dithering discards pixels based on a set pattern to "
-"smoothly fade without enabling transparency. On certain hardware this can be "
-"faster than [constant DISTANCE_FADE_PIXEL_ALPHA]."
+"3×3 matrix used for 3D rotation and scale. Almost always used as an "
+"orthogonal basis for a [Transform3D].\n"
+"Contains 3 vector fields X, Y and Z as its columns, which are typically "
+"interpreted as the local basis vectors of a transformation. For such use, it "
+"is composed of a scaling and a rotation matrix, in that order (M = R.S).\n"
+"Can also be accessed as array of 3D vectors. These vectors are normally "
+"orthogonal to each other, but are not necessarily normalized (due to "
+"scaling).\n"
+"For more information, read the \"Matrices and transforms\" documentation "
+"article."
msgstr ""
-"根据对象与相机的距离,使用抖动的方法平滑地淡化对象。抖动根据设定的模式丢弃像"
-"素,在不启用透明度的情况下平滑淡化。在某些硬件上可能比 [constant "
-"DISTANCE_FADE_PIXEL_ALPHA] 更快。"
-
-msgid "3×3 matrix datatype."
-msgstr "3×3 矩阵数据类型。"
+"用于 3D 旋转和缩放的 3×3 矩阵。几乎总是用作 [Transform3D] 的正交基。\n"
+"包含 3 个向量字段 X、Y 和 Z 作为其列,它们通常被解释为变换的局部基向量。对于"
+"这种用途,它由缩放和旋转矩阵组成,顺序为 (M = R.S)。\n"
+"也可以作为 3D 向量数组访问。这些向量通常彼此正交,但不一定是归一化的(由于缩"
+"放)。\n"
+"更多信息请阅读文档文章《矩阵与变换》。"
msgid "Matrices and transforms"
msgstr "矩阵与变换"
@@ -5741,11 +12974,21 @@ msgstr "矩阵变换演示"
msgid "2.5D Demo"
msgstr "2.5D 演示"
+msgid "Constructs a default-initialized [Basis] set to [constant IDENTITY]."
+msgstr "构造默认初始化为 [constant IDENTITY] 的 [Basis] 。"
+
msgid "Constructs a [Basis] as a copy of the given [Basis]."
msgstr "构造给定 [Basis] 的副本。"
+msgid ""
+"Constructs a pure rotation basis matrix, rotated around the given [param "
+"axis] by [param angle] (in radians). The axis must be a normalized vector."
+msgstr ""
+"构造纯旋转的基矩阵,围绕给定的轴 [param axis] 旋转 [param angle](单位为弧"
+"度)。该轴必须是归一化向量。"
+
msgid "Constructs a pure rotation basis matrix from the given quaternion."
-msgstr "根据给定的四元数构造一个纯旋转基矩阵。"
+msgstr "根据给定的四元数构造纯旋转的基矩阵。"
msgid "Constructs a basis matrix from 3 axis vectors (matrix columns)."
msgstr "从 3 个轴向量(矩阵列)构造一个基矩阵。"
@@ -5777,6 +13020,19 @@ msgid "Returns the inverse of the matrix."
msgstr "返回矩阵的逆值。"
msgid ""
+"Creates a Basis with a rotation such that the forward axis (-Z) points "
+"towards the [param target] position.\n"
+"The up axis (+Y) points as close to the [param up] vector as possible while "
+"staying perpendicular to the forward axis. The resulting Basis is "
+"orthonormalized. The [param target] and [param up] vectors cannot be zero, "
+"and cannot be parallel to each other."
+msgstr ""
+"创建一个旋转的 Basis,使前向轴 (-Z)指向 [param target] 位置。\n"
+"向上轴(+Y)指向尽可能靠近 [param up] 向量,同时保持垂直于前向轴。生成的 "
+"Basis 是正交归一化的。[param target] 和 [param up] 向量不能为零,也不能相互平"
+"行。"
+
+msgid ""
"Returns the orthonormalized version of the matrix (useful to call from time "
"to time to avoid rounding error for orthogonal matrices). This performs a "
"Gram-Schmidt orthonormalization on the basis of the matrix."
@@ -5846,6 +13102,9 @@ msgid ""
"transformation."
msgstr "在变换中使用时,会沿 Z 轴翻转某物的基。"
+msgid "Transforms (multiplies) the [Vector3] by the given [Basis] matrix."
+msgstr "使用给定的 [Basis] 矩阵变换(乘)该 [Vector3]。"
+
msgid "Boolean matrix."
msgstr "布尔矩阵。"
@@ -5867,6 +13126,9 @@ msgstr "返回位图在指定位置的值。"
msgid "Returns bitmap's dimensions."
msgstr "返回位图的尺寸。"
+msgid "Resizes the image to [param new_size]."
+msgstr "将该图像的大小修改为 [param new_size]。"
+
msgid ""
"Sets the bitmap's element at the specified position, to the specified value."
msgstr "将位图中指定位置的元素设置为指定值。"
@@ -5911,6 +13173,9 @@ msgstr ""
"如果节点没有父节点,返回节点的 [member rest] [code]Transform2D[/code],或者返"
"回它相对于父节点的放松姿势。"
+msgid "Sets the length of the bone in the [code]Bone2D[/code] node."
+msgstr "设置该 [code]Bone2D[/code] 节点中骨骼的长度。"
+
msgid ""
"Rest transform of the bone. You can reset the node's transforms to this "
"value using [method apply_rest]."
@@ -5920,12 +13185,248 @@ msgstr ""
msgid "A node that will attach to a bone."
msgstr "会附着在骨骼上的节点。"
+msgid "The index of the attached bone."
+msgstr "所附着骨骼的索引。"
+
msgid "The name of the attached bone."
-msgstr "附着骨骼的名称。"
+msgstr "所附着骨骼的名称。"
+
+msgid "Bone map for retargeting."
+msgstr "用于重定向的骨骼映射。"
+
+msgid ""
+"This class contains a hashmap that uses a list of bone names in "
+"[SkeletonProfile] as key names.\n"
+"By assigning the actual [Skeleton3D] bone name as the key value, it maps the "
+"[Skeleton3D] to the [SkeletonProfile]."
+msgstr ""
+"这个类中有一个哈希表,使用 [SkeletonProfile] 中的骨骼名称作为键名。\n"
+"将实际的 [Skeleton3D] 骨骼名赋为键值后,就会将 [Skeleton3D] 映射到 "
+"[SkeletonProfile]。"
+
+msgid "Retargeting 3D Skeletons"
+msgstr "重定向 3D 骨架"
+
+msgid ""
+"Returns a skeleton bone name is mapped to [param profile_bone_name].\n"
+"In the retargeting process, the returned bone name is the bone name of the "
+"source skeleton."
+msgstr ""
+"返回与配置中的某个骨骼名称 [param profile_bone_name] 映射的骨架中的骨骼名"
+"称。\n"
+"在重定向过程中,设置的骨骼名称是源骨架中骨骼的名称。"
+
+msgid ""
+"Maps a skeleton bone name to [param profile_bone_name].\n"
+"In the retargeting process, the setting bone name is the bone name of the "
+"source skeleton."
+msgstr ""
+"将骨架中的某个骨骼名称映射到配置中的骨骼名称 [param profile_bone_name]。\n"
+"在重定向过程中,设置的骨骼名称是源骨架中骨骼的名称。"
+
+msgid ""
+"A [SkeletonProfile] of the mapping target. Key names in the [BoneMap] are "
+"synchronized with it."
+msgstr "映射目标的 [SkeletonProfile]。[BoneMap] 中的键名与此同步。"
msgid "Boolean built-in type."
msgstr "布尔型内置型。"
+msgid ""
+"Boolean is a built-in type. There are two boolean values: [code]true[/code] "
+"and [code]false[/code]. You can think of it as a switch with on or off (1 or "
+"0) setting. Booleans are used in programming for logic in condition "
+"statements, like [code]if[/code] statements.\n"
+"Booleans can be directly used in [code]if[/code] statements. The code below "
+"demonstrates this on the [code]if can_shoot:[/code] line. You don't need to "
+"use [code]== true[/code], you only need [code]if can_shoot:[/code]. "
+"Similarly, use [code]if not can_shoot:[/code] rather than [code]== false[/"
+"code].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var _can_shoot = true\n"
+"\n"
+"func shoot():\n"
+" if _can_shoot:\n"
+" pass # Perform shooting actions here.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"private bool _canShoot = true;\n"
+"\n"
+"public void Shoot()\n"
+"{\n"
+" if (_canShoot)\n"
+" {\n"
+" // Perform shooting actions here.\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"The following code will only create a bullet if both conditions are met: "
+"action \"shoot\" is pressed and if [code]can_shoot[/code] is [code]true[/"
+"code].\n"
+"[b]Note:[/b] [code]Input.is_action_pressed(\"shoot\")[/code] is also a "
+"boolean that is [code]true[/code] when \"shoot\" is pressed and [code]false[/"
+"code] when \"shoot\" isn't pressed.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var _can_shoot = true\n"
+"\n"
+"func shoot():\n"
+" if _can_shoot and Input.is_action_pressed(\"shoot\"):\n"
+" create_bullet()\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"private bool _canShoot = true;\n"
+"\n"
+"public void Shoot()\n"
+"{\n"
+" if (_canShoot && Input.IsActionPressed(\"shoot\"))\n"
+" {\n"
+" CreateBullet();\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"The following code will set [code]can_shoot[/code] to [code]false[/code] and "
+"start a timer. This will prevent player from shooting until the timer runs "
+"out. Next [code]can_shoot[/code] will be set to [code]true[/code] again "
+"allowing player to shoot once again.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var _can_shoot = true\n"
+"@onready var _cool_down = $CoolDownTimer\n"
+"\n"
+"func shoot():\n"
+" if _can_shoot and Input.is_action_pressed(\"shoot\"):\n"
+" create_bullet()\n"
+" _can_shoot = false\n"
+" _cool_down.start()\n"
+"\n"
+"func _on_cool_down_timer_timeout():\n"
+" _can_shoot = true\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"private bool _canShoot = true;\n"
+"private Timer _coolDown;\n"
+"\n"
+"public override void _Ready()\n"
+"{\n"
+" _coolDown = GetNode<Timer>(\"CoolDownTimer\");\n"
+"}\n"
+"\n"
+"public void Shoot()\n"
+"{\n"
+" if (_canShoot && Input.IsActionPressed(\"shoot\"))\n"
+" {\n"
+" CreateBullet();\n"
+" _canShoot = false;\n"
+" _coolDown.Start();\n"
+" }\n"
+"}\n"
+"\n"
+"public void OnCoolDownTimerTimeout()\n"
+"{\n"
+" _canShoot = true;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"布尔是内置类型。布尔值有两个:[code]true[/code] 和 [code]false[/code]。你可以"
+"把它想象成开关,有开和关(1 和 0)两种状态。布尔型在编程中用于条件语句的逻"
+"辑,如 [code]if[/code] 语句。\n"
+"布尔型可以直接用于 [code]if[/code] 语句中。下面的代码在 [code]if can_shoot:[/"
+"code] 那一行进行了演示。你不需要使用 [code]== true[/code],你只需要 [code]if "
+"can_shoot:[/code]。同样的,请使用 [code]if not can_shoot:[/code] 而不是 "
+"[code]== false[/code]。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var _can_shoot = true\n"
+"\n"
+"func shoot():\n"
+" if _can_shoot:\n"
+" pass # 在此执行射击。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"private bool _canShoot = true;\n"
+"\n"
+"public void Shoot()\n"
+"{\n"
+" if (_canShoot)\n"
+" {\n"
+" // 在此执行射击。\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"下面的代码只有在两个条件都满足的情况下才会创建子弹:动作“shoot”被按下,并且 "
+"[code]can_shoot[/code] 为 [code]true[/code]。\n"
+"[b]注意:[/b][code]Input.is_action_pressed(\"shoot\")[/code] 也是布尔值,"
+"当“shoot”被按下时为 [code]true[/code],当“shoot”没有被按下时为 [code]false[/"
+"code]。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var _can_shoot = true\n"
+"\n"
+"func shoot():\n"
+" if _can_shoot and Input.is_action_pressed(\"shoot\"):\n"
+" create_bullet()\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"private bool _canShoot = true;\n"
+"\n"
+"public void Shoot()\n"
+"{\n"
+" if (_canShoot && Input.IsActionPressed(\"shoot\"))\n"
+" {\n"
+" CreateBullet();\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"下面的代码会将 [code]can_shoot[/code] 设置为 [code]false[/code] 并启动计时"
+"器。这样就会在计时器结束前阻止玩家进行射击。然后 [code]can_shoot[/code] 就会"
+"再次被设为 [code]true[/code],再次允许玩家进行射击。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var _can_shoot = true\n"
+"@onready var _cool_down = $CoolDownTimer\n"
+"\n"
+"func shoot():\n"
+" if _can_shoot and Input.is_action_pressed(\"shoot\"):\n"
+" create_bullet()\n"
+" _can_shoot = false\n"
+" _cool_down.start()\n"
+"\n"
+"func _on_cool_down_timer_timeout():\n"
+" _can_shoot = true\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"private bool _canShoot = true;\n"
+"private Timer _coolDown;\n"
+"\n"
+"public override void _Ready()\n"
+"{\n"
+" _coolDown = GetNode<Timer>(\"CoolDownTimer\");\n"
+"}\n"
+"\n"
+"public void Shoot()\n"
+"{\n"
+" if (_canShoot && Input.IsActionPressed(\"shoot\"))\n"
+" {\n"
+" CreateBullet();\n"
+" _canShoot = false;\n"
+" _coolDown.Start();\n"
+" }\n"
+"}\n"
+"\n"
+"public void OnCoolDownTimerTimeout()\n"
+"{\n"
+" _canShoot = true;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
msgid "Constructs a [bool] as a copy of the given [bool]."
msgstr "构造给定 [bool] 的副本。"
@@ -5948,6 +13449,62 @@ msgstr ""
msgid "Base class for box containers."
msgstr "盒式容器的基类。"
+msgid ""
+"Arranges child [Control] nodes vertically or horizontally, and rearranges "
+"them automatically when their minimum size changes."
+msgstr ""
+"将子级 [Control] 节点垂直或水平排列,在它们的最小尺寸发生变化时会自动重新排"
+"列。"
+
+msgid ""
+"Adds a [Control] node to the box as a spacer. If [param begin] is "
+"[code]true[/code], it will insert the [Control] node in front of all other "
+"children."
+msgstr ""
+"添加 [Control] 节点作为间隔。如果 [param begin] 为 [code]true[/code],则会将"
+"该 [Control] 节点添加到所有其他节点之前。"
+
+msgid ""
+"The alignment of the container's children (must be one of [constant "
+"ALIGNMENT_BEGIN], [constant ALIGNMENT_CENTER], or [constant ALIGNMENT_END])."
+msgstr ""
+"该容器子节点的对齐方式(必须是 [constant ALIGNMENT_BEGIN]、[constant "
+"ALIGNMENT_CENTER]、[constant ALIGNMENT_END] 之一)。"
+
+msgid ""
+"If [code]true[/code], the [BoxContainer] will arrange its children "
+"vertically, rather than horizontally.\n"
+"Can't be changed when using [HBoxContainer] and [VBoxContainer]."
+msgstr ""
+"如果为 [code]true[/code],则该 [BoxContainer] 会将子节点垂直排列,否则会水平"
+"排列。\n"
+"使用 [HBoxContainer] 和 [VBoxContainer] 时无法改变。"
+
+msgid ""
+"The child controls will be arranged at the beginning of the container, i.e. "
+"top if orientation is vertical, left if orientation is horizontal (right for "
+"RTL layout)."
+msgstr ""
+"子控件会被排列在该容器的开头,如果是垂直朝向则为顶部,如果是水平朝向则为左侧"
+"(RTL 布局时为右侧)。"
+
+msgid "The child controls will be centered in the container."
+msgstr "子控件会在该容器里居中。"
+
+msgid ""
+"The child controls will be arranged at the end of the container, i.e. bottom "
+"if orientation is vertical, right if orientation is horizontal (left for RTL "
+"layout)."
+msgstr ""
+"子控件会被排列在该容器的末尾,如果是垂直朝向则为底部,如果是水平朝向则为右侧"
+"(RTL 布局时为左侧)。"
+
+msgid "The space between the [BoxContainer]'s elements, in pixels."
+msgstr "[BoxContainer] 元素之间的距离,单位为像素。"
+
+msgid "Generate an axis-aligned box [PrimitiveMesh]."
+msgstr "生成轴对齐盒 [PrimitiveMesh]。"
+
msgid "Number of extra edge loops inserted along the Z axis."
msgstr "沿 Z 轴插入的额外边缘环的数量。"
@@ -5963,6 +13520,81 @@ msgstr "3D 动力学角色演示"
msgid "Standard themed Button."
msgstr "标准主题按钮。"
+msgid ""
+"Button is the standard themed button. It can contain text and an icon, and "
+"will display them according to the current [Theme].\n"
+"[b]Example of creating a button and assigning an action when pressed by code:"
+"[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _ready():\n"
+" var button = Button.new()\n"
+" button.text = \"Click me\"\n"
+" button.pressed.connect(self._button_pressed)\n"
+" add_child(button)\n"
+"\n"
+"func _button_pressed():\n"
+" print(\"Hello world!\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Ready()\n"
+"{\n"
+" var button = new Button();\n"
+" button.Text = \"Click me\";\n"
+" button.Pressed += ButtonPressed;\n"
+" AddChild(button);\n"
+"}\n"
+"\n"
+"private void ButtonPressed()\n"
+"{\n"
+" GD.Print(\"Hello world!\");\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Buttons (like all Control nodes) can also be created in the editor, but some "
+"situations may require creating them from code.\n"
+"See also [BaseButton] which contains common properties and methods "
+"associated with this node.\n"
+"[b]Note:[/b] Buttons do not interpret touch input and therefore don't "
+"support multitouch, since mouse emulation can only press one button at a "
+"given time. Use [TouchScreenButton] for buttons that trigger gameplay "
+"movement or actions, as [TouchScreenButton] supports multitouch."
+msgstr ""
+"Button 是标准的主题按钮。它可以包含文字和图标,并根据当前的 [Theme] 显示。\n"
+"[b]通过代码创建一个按钮并指定一个在按下时的动作的例子:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _ready():\n"
+" var button = Button.new()\n"
+" button.text = \"Click me\"\n"
+" button.pressed.connect(self._button_pressed)\n"
+" add_child(button)\n"
+"\n"
+"func _button_pressed():\n"
+" print(\"Hello world!\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Ready()\n"
+"{\n"
+" var button = new Button();\n"
+" button.Text = \"Click me\";\n"
+" button.Pressed += ButtonPressed;\n"
+" AddChild(button);\n"
+"}\n"
+"\n"
+"private void ButtonPressed()\n"
+"{\n"
+" GD.Print(\"Hello world!\");\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"按钮(与所有控件节点一样)也可以在编辑器中创建,但某些情况下可能需要从代码中"
+"创建它们。\n"
+"另请参阅 [BaseButton],其中包含与此节点相关联的通用属性和方法。\n"
+"[b]注意:[/b]按钮不处理触摸输入,因此不支持多点触控,因为模拟鼠标在给定时间只"
+"能按下一个按钮。将 [TouchScreenButton] 用于触发游戏移动或动作的按钮,因为 "
+"[TouchScreenButton] 支持多点触控。"
+
msgid "OS Test Demo"
msgstr "操作系统测试演示"
@@ -5982,43 +13614,106 @@ msgstr "启用后,按钮的图标将展开/收缩以适应按钮的大小,
msgid "Flat buttons don't display decoration."
msgstr "平面按钮不显示装饰。"
+msgid ""
+"Language code used for line-breaking and text shaping algorithms, if left "
+"empty current locale is used instead."
+msgstr "语言代码,用于断行和文本塑形算法,如果留空则使用当前区域设置。"
+
msgid "The button's text that will be displayed inside the button's area."
-msgstr "按钮的文字,将显示在按钮的区域内。"
+msgstr "该按钮的文本,将显示在按钮的区域内。"
+
+msgid "Base text writing direction."
+msgstr "基础文本书写方向。"
msgid "Default text [Color] of the [Button]."
-msgstr "[Button] 的默认文本 [Color]。"
+msgstr "该 [Button] 的默认文本 [Color]。"
msgid "Text [Color] used when the [Button] is disabled."
-msgstr "禁用 [Button] 时使用的文本 [Color]。"
+msgstr "该 [Button] 处于禁用状态时,使用的文本 [Color]。"
msgid ""
"Text [Color] used when the [Button] is focused. Only replaces the normal "
"text color of the button. Disabled, hovered, and pressed states take "
"precedence over this color."
msgstr ""
-"当 [Button] 获得焦点时使用的文本 [Color]。只取代按钮的正常文本颜色。禁用、悬"
-"停和按下状态优先于这个颜色。"
+"该 [Button] 处于聚焦状态时,使用的文本 [Color]。只替换该按钮的正常文本颜色。"
+"禁用、悬停、按下状态优先于这个颜色。"
msgid "Text [Color] used when the [Button] is being hovered."
-msgstr "悬停 [Button] 时使用的文本 [Color]。"
+msgstr "该 [Button] 处于悬停状态时,使用的文本 [Color]。"
+
+msgid "Text [Color] used when the [Button] is being hovered and pressed."
+msgstr "该 [Button] 处于悬停并按下状态时,使用的文本 [Color]。"
+
+msgid "The tint of text outline of the [Button]."
+msgstr "该 [Button] 的文本轮廓的着色。"
msgid "Text [Color] used when the [Button] is being pressed."
-msgstr "正在按下 [Button] 时使用的文本 [Color] 。"
+msgstr "该 [Button] 处于按下状态时,使用的文本 [Color] 。"
+
+msgid "Icon modulate [Color] used when the [Button] is disabled."
+msgstr "该 [Button] 处于禁用状态时,使用的图标调制 [Color]。"
+
+msgid ""
+"Icon modulate [Color] used when the [Button] is focused. Only replaces the "
+"normal modulate color of the button. Disabled, hovered, and pressed states "
+"take precedence over this color."
+msgstr ""
+"该 [Button] 处于聚焦状态时,使用的图标调制 [Color]。仅替换该按钮的正常调制颜"
+"色。禁用、悬停和按下状态优先于这个颜色。"
+
+msgid "Icon modulate [Color] used when the [Button] is being hovered."
+msgstr "该 [Button] 处于悬停状态时,使用的图标调制[Color]。"
+
+msgid ""
+"Icon modulate [Color] used when the [Button] is being hovered and pressed."
+msgstr "该 [Button] 处于悬停并按下按下状态时,使用的图标调制 [Color]。"
+
+msgid "Default icon modulate [Color] of the [Button]."
+msgstr "该 [Button] 的默认图标调制 [Color]。"
+
+msgid "Icon modulate [Color] used when the [Button] is being pressed."
+msgstr "该 [Button] 处于按下状态时,使用的图标调制 [Color]。"
+
+msgid ""
+"The horizontal space between [Button]'s icon and text. Negative values will "
+"be treated as [code]0[/code] when used."
+msgstr ""
+"[Button] 的图标和文本之间的水平间距。使用时会将负值当作 [code]0[/code]。"
msgid "[Font] of the [Button]'s text."
-msgstr "[Button] 文本的 [Font]。"
+msgstr "该 [Button] 文本的 [Font]。"
+
+msgid "Font size of the [Button]'s text."
+msgstr "该 [Button] 文本的字体大小。"
msgid "[StyleBox] used when the [Button] is disabled."
-msgstr "当 [Button] 被禁用时,使用的 [StyleBox]。"
+msgstr "该 [Button] 处于禁用状态时使用的 [StyleBox]。"
+
+msgid ""
+"[StyleBox] used when the [Button] is focused. The [code]focus[/code] "
+"[StyleBox] is displayed [i]over[/i] the base [StyleBox], so a partially "
+"transparent [StyleBox] should be used to ensure the base [StyleBox] remains "
+"visible. A [StyleBox] that represents an outline or an underline works well "
+"for this purpose. To disable the focus visual effect, assign a "
+"[StyleBoxEmpty] resource. Note that disabling the focus visual effect will "
+"harm keyboard/controller navigation usability, so this is not recommended "
+"for accessibility reasons."
+msgstr ""
+"该 [Button] 处于聚焦状态时使用的 [StyleBox]。[code]focus[/code] [StyleBox] 显"
+"示在基础 [StyleBox] [i]之上[/i],所以应该使用部分透明的 [StyleBox],确保基础 "
+"[StyleBox] 仍然可见。代表轮廓或下划线的 [StyleBox] 可以很好地实现这个目的。要"
+"禁用聚焦的视觉效果,请指定 [StyleBoxEmpty] 资源。请注意,禁用聚焦的视觉效果会"
+"影响使用键盘/手柄进行导航的可用性,所以出于可访问性的原因,不建议这样做。"
msgid "[StyleBox] used when the [Button] is being hovered."
-msgstr "悬停 [Button] 时使用的 [StyleBox]。"
+msgstr "该 [Button] 处于悬停状态时使用的 [StyleBox]。"
msgid "Default [StyleBox] for the [Button]."
-msgstr "[Button] 的默认 [StyleBox]。"
+msgstr "该 [Button] 的默认 [StyleBox]。"
msgid "[StyleBox] used when the [Button] is being pressed."
-msgstr "按下 [Button] 时使用的 [StyleBox]。"
+msgstr "该 [Button] 处于按下状态时使用的 [StyleBox]。"
msgid "Group of Buttons."
msgstr "按钮组。"
@@ -6029,20 +13724,343 @@ msgstr "返回当前按下的按钮。"
msgid "Emitted when one of the buttons of the group is pressed."
msgstr "当该组中的一个按钮被按下时触发。"
+msgid ""
+"Built-in type representing a method in an object instance or a standalone "
+"function."
+msgstr "内置类型,代表对象实例中的某个方法,或者某个独立函数。"
+
+msgid ""
+"[Callable] is a built-in [Variant] type that represents a function. It can "
+"either be a method within an [Object] instance, or a standalone function not "
+"related to any object, like a lambda function. Like all [Variant] types, it "
+"can be stored in variables and passed to other functions. It is most "
+"commonly used for signal callbacks.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func print_args(arg1, arg2, arg3 = \"\"):\n"
+" prints(arg1, arg2, arg3)\n"
+"\n"
+"func test():\n"
+" var callable = Callable(self, \"print_args\")\n"
+" callable.call(\"hello\", \"world\") # Prints \"hello world \".\n"
+" callable.call(Vector2.UP, 42, callable) # Prints \"(0, -1) 42 Node(node."
+"gd)::print_args\".\n"
+" callable.call(\"invalid\") # Invalid call, should have at least 2 "
+"arguments.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Default parameter values are not supported.\n"
+"public void PrintArgs(Variant arg1, Variant arg2, Variant arg3 = default)\n"
+"{\n"
+" GD.PrintS(arg1, arg2, arg3);\n"
+"}\n"
+"\n"
+"public void Test()\n"
+"{\n"
+" // Invalid calls fail silently.\n"
+" Callable callable = new Callable(this, MethodName.PrintArgs);\n"
+" callable.Call(\"hello\", \"world\"); // Default parameter values are not "
+"supported, should have 3 arguments.\n"
+" callable.Call(Vector2.Up, 42, callable); // Prints \"(0, -1) 42 "
+"Node(Node.cs)::PrintArgs\".\n"
+" callable.Call(\"invalid\"); // Invalid call, should have 3 arguments.\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"In GDScript, it's possible to create lambda functions within a method. "
+"Lambda functions are custom callables that are not associated with an "
+"[Object] instance. Optionally, lambda functions can also be named. The name "
+"will be displayed in the debugger, or when calling [method get_method].\n"
+"[codeblock]\n"
+"func _init():\n"
+" var my_lambda = func (message):\n"
+" print(message)\n"
+"\n"
+" # Prints Hello everyone!\n"
+" my_lambda.call(\"Hello everyone!\")\n"
+"\n"
+" # Prints \"Attack!\", when the button_pressed signal is emitted.\n"
+" button_pressed.connect(func(): print(\"Attack!\"))\n"
+"[/codeblock]"
+msgstr ""
+"可调用体 [Callable] 是内置的 [Variant] 类型,代表某个函数。可以是 [Object] 实"
+"例中的某个方法,也可以是与对象无关的独立函数,比如 lambda 函数。和所有 "
+"[Variant] 类型一样可以保存在变量里,传递给其他函数。最常用于信号回调。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func print_args(arg1, arg2, arg3 = \"\"):\n"
+" prints(arg1, arg2, arg3)\n"
+"\n"
+"func test():\n"
+" var callable = Callable(self, \"print_args\")\n"
+" callable.call(\"hello\", \"world\") # 输出 \"hello world \".\n"
+" callable.call(Vector2.UP, 42, callable) # 输出 \"(0, -1) 42 Node(node."
+"gd)::print_args\".\n"
+" callable.call(\"invalid\") # 无效调用,应当至少有 2 个参数。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 不支持参数默认值。\n"
+"public void PrintArgs(Variant arg1, Variant arg2, Variant arg3 = default)\n"
+"{\n"
+" GD.PrintS(arg1, arg2, arg3);\n"
+"}\n"
+"\n"
+"public void Test()\n"
+"{\n"
+" // Invalid calls fail silently.\n"
+" Callable callable = new Callable(this, MethodName.PrintArgs);\n"
+" callable.Call(\"hello\", \"world\"); // 不支持参数默认值,应当有 3 个参"
+"数。\n"
+" callable.Call(Vector2.Up, 42, callable); // 输出 \"(0, -1) 42 Node(Node."
+"cs)::PrintArgs\".\n"
+" callable.Call(\"invalid\"); // 无效调用,应当有 3 个参数。\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"GDScript 中可以在方法里创建 lambda 函数。Lambda 函数是自定义的可调用体,不与 "
+"[Object] 实例关联。也可以为 Lambda 函数命名。该名称会显示在调试器中,也会在 "
+"[method get_method] 中使用。\n"
+"[codeblock]\n"
+"func _init():\n"
+" var my_lambda = func (message):\n"
+" print(message)\n"
+"\n"
+" # 输出 大家好呀!\n"
+" my_lambda.call(\"大家好呀!\")\n"
+"\n"
+" # 发出 button_pressed 信号时输出 \"全军出击!\"。\n"
+" button_pressed.connect(func(): print(\"全军出击!\"))\n"
+"[/codeblock]"
+
msgid "Constructs an empty [Callable], with no object nor method bound."
msgstr "构造空的 [Callable],没有绑定对象和方法。"
msgid "Constructs a [Callable] as a copy of the given [Callable]."
msgstr "构造给定 [Callable] 的副本。"
+msgid ""
+"Creates a new [Callable] for the method named [param method] in the "
+"specified [param object]."
+msgstr ""
+"创建新的 [Callable],使用指定对象 [param object] 中名为 [param method] 的方"
+"法。"
+
+msgid ""
+"Returns a copy of this [Callable] with one or more arguments bound. When "
+"called, the bound arguments are passed [i]after[/i] the arguments supplied "
+"by [method call]."
+msgstr ""
+"返回该 [Callable] 的副本,绑定其中的一个或多个参数。调用时,被绑定的参数在提"
+"供给 [method call] 的参数[i]之后[/i]传递。"
+
+msgid ""
+"Returns a copy of this [Callable] with one or more arguments bound, reading "
+"them from an array. When called, the bound arguments are passed [i]after[/i] "
+"the arguments supplied by [method call]."
+msgstr ""
+"返回该 [Callable] 的副本,绑定其中的一个或多个参数,参数从数组中读取。调用"
+"时,被绑定的参数在提供给 [method call] 的参数[i]之后[/i]传递。"
+
+msgid ""
+"Calls the method represented by this [Callable]. Arguments can be passed and "
+"should match the method's signature."
+msgstr ""
+"调用该 [Callable] 所代表的方法。可以传递参数,必须与该方法的签名相匹配。"
+
+msgid ""
+"Calls the method represented by this [Callable] in deferred mode, i.e. "
+"during the idle frame. Arguments can be passed and should match the method's "
+"signature.\n"
+"[codeblock]\n"
+"func _ready():\n"
+" grab_focus.call_deferred()\n"
+"[/codeblock]"
+msgstr ""
+"使用延迟模式调用该 [Callable] 所代表的方法,即在空闲帧中调用。可以传递参数,"
+"必须与该方法的签名相匹配。\n"
+"[codeblock]\n"
+"func _ready():\n"
+" grab_focus.call_deferred()\n"
+"[/codeblock]"
+
+msgid ""
+"Calls the method represented by this [Callable]. Unlike [method call], this "
+"method expects all arguments to be contained inside the [param arguments] "
+"[Array]."
+msgstr ""
+"调用该 [Callable] 所代表的方法。与 [method call] 不同,这个方法需要所有参数都"
+"放在 [param arguments] [Array] 之中。"
+
+msgid ""
+"Return the bound arguments (as long as [method get_bound_arguments_count] is "
+"greater than zero), or empty (if [method get_bound_arguments_count] is less "
+"than or equal to zero)."
+msgstr ""
+"返回绑定的参数(只要 [method get_bound_arguments_count] 大于零)或者空数组"
+"(如果 [method get_bound_arguments_count] 小于等于零)。"
+
+msgid ""
+"Returns the total amount of arguments bound (or unbound) via successive "
+"[method bind] or [method unbind] calls. If the amount of arguments unbound "
+"is greater than the ones bound, this function returns a value less than zero."
+msgstr ""
+"返回通过成功调用 [method bind] 或 [method unbind] 绑定(或解绑)参数的总数。"
+"如果解绑参数的总数比绑定参数大,则这个函数的返回值小于零。"
+
+msgid ""
+"Returns the name of the method represented by this [Callable]. If the "
+"callable is a lambda function, returns the function's name."
+msgstr ""
+"返回该 [Callable] 所代表的方法的名称。如果该可调用体是 lambda 函数,则返回该"
+"函数的名称。"
+
+msgid "Returns the object on which this [Callable] is called."
+msgstr "返回该 [Callable] 所调用的对象。"
+
+msgid ""
+"Returns the ID of this [Callable]'s object (see [method Object."
+"get_instance_id])."
+msgstr "返回该 [Callable] 中对象的 ID(见 [method Object.get_instance_id])。"
+
+msgid ""
+"Returns the 32-bit hash value of this [Callable]'s object.\n"
+"[b]Note:[/b] [Callable]s with equal content will always produce identical "
+"hash values. However, the reverse is not true. Returning identical hash "
+"values does [i]not[/i] imply the callables are equal, because different "
+"callables can have identical hash values due to hash collisions. The engine "
+"uses a 32-bit hash algorithm for [method hash]."
+msgstr ""
+"返回该 [Callable] 对象的 32 位哈希值。\n"
+"[b]注意:[/b]内容相同的 [Callable] 哈希值始终相同。反之则不然,返回的哈希值相"
+"同[i]并不[/i]意味着可调用体相等,因为不同的可调用体可能由于哈希冲突而具有相同"
+"的哈希值。引擎在 [method hash] 中使用 32 位哈希算法。"
+
+msgid ""
+"Returns [code]true[/code] if this [Callable] is a custom callable. Custom "
+"callables are created from [method bind] or [method unbind]. In GDScript, "
+"lambda functions are also custom callables."
+msgstr ""
+"如果该 [Callable] 为自定义可调用体,则返回 [code]true[/code]。自定义可调用体"
+"是由 [method bind] 或 [method unbind] 创建的。在 GDScript 中,lambda 函数也是"
+"自定义可调用体。"
+
+msgid ""
+"Returns [code]true[/code] if this [Callable] has no target to call the "
+"method on."
+msgstr "如果该 [Callable] 没有调用方法的目标,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if this [Callable] is a standard callable. This "
+"method is the opposite of [method is_custom]. Returns [code]false[/code] if "
+"this callable is a lambda function."
+msgstr ""
+"如果该 [Callable] 为标准可调用体,则返回 [code]true[/code]。这个方法与 "
+"[method is_custom] 相对。如果该可调用体为 lambda 函数,则返回 [code]false[/"
+"code]。"
+
+msgid ""
+"Returns [code]true[/code] if the callable's object exists and has a valid "
+"method name assigned, or is a custom callable."
+msgstr ""
+"如果该可调用体的对象存在,且分配了有效的方法名,或者为自定义可调用体,则返回 "
+"[code]true[/code]。"
+
+msgid ""
+"Perform an RPC (Remote Procedure Call). This is used for multiplayer and is "
+"normally not available, unless the function being called has been marked as "
+"[i]RPC[/i]. Calling this method on unsupported functions will result in an "
+"error. See [method Node.rpc]."
+msgstr ""
+"执行 RPC(Remote Procedure Call,远程过程调用)。用于多人游戏,一般不可用,除"
+"非所调用的函数有 [i]RPC[/i] 标记。在不支持的方法上调用该方法会导致出错。见 "
+"[method Node.rpc]。"
+
+msgid ""
+"Perform an RPC (Remote Procedure Call) on a specific peer ID (see "
+"multiplayer documentation for reference). This is used for multiplayer and "
+"is normally not available unless the function being called has been marked "
+"as [i]RPC[/i]. Calling this method on unsupported functions will result in "
+"an error. See [method Node.rpc_id]."
+msgstr ""
+"针对特定的对等体 ID(请参阅多人游戏文档)执行 RPC(Remote Procedure Call,远"
+"程过程调用)。用于多人游戏,一般不可用,除非所调用的函数有 [i]RPC[/i] 标记。"
+"在不支持的方法上调用该方法会导致出错。见 [method Node.rpc_id]。"
+
+msgid ""
+"Returns a copy of this [Callable] with the arguments unbound, as defined by "
+"[param argcount]. Calling the returned [Callable] will call the method "
+"without the extra arguments that are supplied in the [Callable] on which you "
+"are calling this method."
+msgstr ""
+"返回该 [Callable] 的副本,解绑若干个参数,个数由 [param argcount] 定义。调用"
+"返回的 [Callable] 时,会去除所提供参数中的额外参数,再对原 [Callable] 的方法"
+"进行调用。"
+
+msgid "Returns [code]true[/code] if both [Callable]s invoke different targets."
+msgstr "如果两个 [Callable] 调用的目标不同,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if both [Callable]s invoke the same custom target."
+msgstr "如果两个 [Callable] 调用的自定义目标相同,则返回 [code]true[/code]。"
+
msgid "Calls the specified method after optional delay."
msgstr "在可选的延迟之后调用指定的方法。"
+msgid ""
+"Makes the callback call delayed by given time in seconds.\n"
+"[b]Example:[/b]\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_callback(queue_free).set_delay(2) #this will call queue_free() "
+"after 2 seconds\n"
+"[/codeblock]"
+msgstr ""
+"让该回调延迟给定的时间,单位为秒。\n"
+"[b]示例:[/b]\n"
+"[codeblock]\n"
+"var tween = get_tree().create_tween()\n"
+"tween.tween_callback(queue_free).set_delay(2) # 会在 2 秒后调用 "
+"queue_free()\n"
+"[/codeblock]"
+
msgid "Camera node for 2D scenes."
msgstr "2D 场景的相机节点。"
+msgid ""
+"Camera node for 2D scenes. It forces the screen (current layer) to scroll "
+"following this node. This makes it easier (and faster) to program scrollable "
+"scenes than manually changing the position of [CanvasItem]-based nodes.\n"
+"Cameras register themselves in the nearest [Viewport] node (when ascending "
+"the tree). Only one camera can be active per viewport. If no viewport is "
+"available ascending the tree, the camera will register in the global "
+"viewport.\n"
+"This node is intended to be a simple helper to get things going quickly, but "
+"more functionality may be desired to change how the camera works. To make "
+"your own custom camera node, inherit it from [Node2D] and change the "
+"transform of the canvas by setting [member Viewport.canvas_transform] in "
+"[Viewport] (you can obtain the current [Viewport] by using [method Node."
+"get_viewport]).\n"
+"Note that the [Camera2D] node's [code]position[/code] doesn't represent the "
+"actual position of the screen, which may differ due to applied smoothing or "
+"limits. You can use [method get_screen_center_position] to get the real "
+"position."
+msgstr ""
+"用于 2D 场景的相机节点。它强制屏幕(当前层)跟随该节点滚动。与手动改变基于 "
+"[CanvasItem] 节点的坐标相比,这使得对可滚动场景进行编程更加容易和快捷。\n"
+"相机会在最近的 [Viewport](在上层树时)节点中注册自己。每个视口只能激活一个相"
+"机。如果树上没有可用的视口,相机将在全局视口中注册。\n"
+"这个节点旨在成为简单的辅助工具,让事情便捷,但可能需要更多的功能来改变相机的"
+"工作方式。要制作自定义相机节点,则从 [Node2D] 继承,并通过设置 [Viewport] 中"
+"的 [member Viewport.canvas_transform] 来改变画布的变换(你可以通过使用 "
+"[method Node.get_viewport] 获得当前的 [Viewport])。\n"
+"请注意,[Camera2D] 节点的 [code]position[/code] 并不代表屏幕的实际位置,这可"
+"能会因应用的平滑或限制而有所不同。可以使用 [method "
+"get_screen_center_position] 获取真实位置。"
+
msgid "2D Isometric Demo"
-msgstr "2D 等轴测演示"
+msgstr "2D 等轴演示"
msgid "2D HDR Demo"
msgstr "2D HDR 演示"
@@ -6053,6 +14071,22 @@ msgstr "将相机与跟踪的节点对齐。"
msgid "Forces the camera to update scroll immediately."
msgstr "强制相机立即更新滚动。"
+msgid ""
+"Returns the specified [enum Side]'s margin. See also [member "
+"drag_bottom_margin], [member drag_top_margin], [member drag_left_margin], "
+"and [member drag_right_margin]."
+msgstr ""
+"返回指定边 [enum Side] 的边距。另见 [member drag_bottom_margin]、[member "
+"drag_top_margin]、[member drag_left_margin] 和 [member drag_right_margin]。"
+
+msgid ""
+"Returns the camera limit for the specified [enum Side]. See also [member "
+"limit_bottom], [member limit_top], [member limit_left], and [member "
+"limit_right]."
+msgstr ""
+"返回指定边 [enum Side] 的相机极限。另见 [member limit_bottom]、[member "
+"limit_top]、[member limit_left] 和 [member limit_right]。"
+
msgid "The Camera2D's anchor point. See [enum AnchorMode] constants."
msgstr "Camera2D 的锚点。见 [enum AnchorMode] 常量。"
@@ -6095,6 +14129,21 @@ msgid "Camera node, displays from a point of view."
msgstr "相机节点,会从某个角度进行显示。"
msgid ""
+"[Camera3D] is a special node that displays what is visible from its current "
+"location. Cameras register themselves in the nearest [Viewport] node (when "
+"ascending the tree). Only one camera can be active per viewport. If no "
+"viewport is available ascending the tree, the camera will register in the "
+"global viewport. In other words, a camera just provides 3D display "
+"capabilities to a [Viewport], and, without one, a scene registered in that "
+"[Viewport] (or higher viewports) can't be displayed."
+msgstr ""
+"[Camera3D] 是一个特殊节点,用于显示从其当前位置可见的内容。相机在最近的 "
+"[Viewport] 节点中注册自己(当树上行)。每个视口中只能有一个激活的相机。如果在"
+"树上没有可用的视口,相机将在全局视口中注册。换句话说,相机只是用来为 "
+"[Viewport] 提供 3D 显示能力的,如果没有,则在该 [Viewport](或更高层视口)中"
+"注册的场景无法显示。"
+
+msgid ""
"Returns the camera's frustum planes in world space units as an array of "
"[Plane]s in the following order: near, far, left, top, right, bottom. Not to "
"be confused with [member frustum_offset]."
@@ -6136,6 +14185,9 @@ msgstr ""
"返回世界空间中的 3D 坐标,即通过逆相机投影在 [Viewport] 矩形上投影一个点的结"
"果。这对于以原点、法线,投射光线形式用于对象相交或拾取很有用。"
+msgid "The [CameraAttributes] to use for this camera."
+msgstr "该相机所使用的 [CameraAttributes]。"
+
msgid ""
"The culling mask that describes which 3D render layers are rendered by this "
"camera."
@@ -6259,6 +14311,9 @@ msgstr ""
"url]。与这些物体相比,该相机的相对速度的变化会影响音频的感知方式(改变音频的 "
"[member AudioStreamPlayer3D.pitch_scale])。"
+msgid "Parent class for camera settings."
+msgstr "相机设置的父类。"
+
msgid ""
"If [code]true[/code], enables the tonemapping auto exposure mode of the "
"scene renderer. If [code]true[/code], the renderer will automatically "
@@ -6278,6 +14333,9 @@ msgid ""
"camera to perform auto exposure."
msgstr "自动曝光效果的速度。影响相机执行自动曝光所需的时间。"
+msgid "Physically-based camera settings."
+msgstr "基于物理的相机设置。"
+
msgid ""
"A camera feed gives you access to a single physical camera attached to your "
"device."
@@ -6401,6 +14459,65 @@ msgstr ""
"我们要访问 [CameraFeed] 中的哪个图像,如果相机图像被分割成 Y 和 CbCr 分量,这"
"一点很重要。"
+msgid ""
+"Child [CanvasItem] nodes of a [CanvasGroup] are drawn as a single object. It "
+"allows to e.g. draw overlapping translucent 2D nodes without blending (set "
+"[member CanvasItem.self_modulate] property of [CanvasGroup] to achieve this "
+"effect).\n"
+"[b]Note:[/b] The [CanvasGroup] uses a custom shader to read from the "
+"backbuffer to draw its children. Assigning a [Material] to the [CanvasGroup] "
+"overrides the builtin shader. To duplicate the behavior of the builtin "
+"shader in a custom [Shader] use the following:\n"
+"[codeblock]\n"
+"shader_type canvas_item;\n"
+"render_mode unshaded;\n"
+"\n"
+"uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, "
+"filter_nearest;\n"
+"\n"
+"void fragment() {\n"
+" vec4 c = textureLod(screen_texture, SCREEN_UV, 0.0);\n"
+"\n"
+" if (c.a > 0.0001) {\n"
+" c.rgb /= c.a;\n"
+" }\n"
+"\n"
+" COLOR *= c;\n"
+"}\n"
+"[/codeblock]\n"
+"[b]Note:[/b] Since [CanvasGroup] and [member CanvasItem.clip_children] both "
+"utilize the backbuffer, children of a [CanvasGroup] who have their [member "
+"CanvasItem.clip_children] set to anything other than [constant CanvasItem."
+"CLIP_CHILDREN_DISABLED] will not function correctly."
+msgstr ""
+"[CanvasGroup] 的所有子 [CanvasItem] 节点会作为一个单独的对象绘制。它允许在不"
+"混合的情况下绘制重叠的半透明 2D 节点(设置 [CanvasGroup] 的 [member "
+"CanvasItem.self_modulate] 属性来实现这一效果)。\n"
+"[b]注意:[/b][CanvasGroup] 使用一个自定义着色器从后台缓冲区读取以绘制其子节"
+"点。为 [CanvasGroup] 指定一个 [Material] 会覆盖内置着色器。要在自定义 "
+"[Shader] 中复制内置着色器的行为,请使用以下方法:\n"
+"[codeblock]\n"
+"shader_type canvas_item;\n"
+"render_mode unshaded;\n"
+"\n"
+"uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, "
+"filter_nearest;\n"
+"\n"
+"void fragment() {\n"
+" vec4 c = textureLod(screen_texture, SCREEN_UV, 0.0);\n"
+"\n"
+" if (c.a > 0.0001) {\n"
+" c.rgb /= c.a;\n"
+" }\n"
+"\n"
+" COLOR *= c;\n"
+"}\n"
+"[/codeblock]\n"
+"[b]注意:[/b]由于 [CanvasGroup] 和 [member CanvasItem.clip_children] 都使用后"
+"台缓冲区,因此 [CanvasGroup] 的子级如果将其 [member CanvasItem."
+"clip_children] 设置为 [constant CanvasItem.CLIP_CHILDREN_DISABLED] 以外的其他"
+"值将无法正常工作。"
+
msgid "Base class of anything 2D."
msgstr "任何 2D 对象的基类。"
@@ -6410,6 +14527,19 @@ msgstr "Viewport 和画布变换"
msgid "Custom drawing in 2D"
msgstr "2D 中的自定义绘图"
+msgid "Draws a string first character using a custom font."
+msgstr "使用自定义字体绘制字符串的第一个字符。"
+
+msgid "Draws a string first character outline using a custom font."
+msgstr "使用自定义字体绘制字符串中第一个字符的轮廓。"
+
+msgid ""
+"Draws a colored, filled circle. See also [method draw_arc], [method "
+"draw_polyline] and [method draw_polygon]."
+msgstr ""
+"绘制彩色的实心圆。另见 [method draw_arc]、[method draw_polyline] 和 [method "
+"draw_polygon]。"
+
msgid ""
"Draws a [Mesh] in 2D, using the provided texture. See [MeshInstance2D] for "
"related documentation."
@@ -6436,15 +14566,64 @@ msgstr ""
"draw_polygon]、[method draw_rect]。"
msgid ""
-"Sets a custom transform for drawing via components. Anything drawn "
-"afterwards will be transformed by this."
-msgstr "设置通过组件进行绘图的自定义变换。此后绘制的任何东西都将被它变换。"
-
-msgid ""
"Sets a custom transform for drawing via matrix. Anything drawn afterwards "
"will be transformed by this."
msgstr "设置通过矩阵绘制时的自定义变换。此后绘制的任何东西都将被它变换。"
+msgid ""
+"Draws [param text] using the specified [param font] at the [param pos] "
+"(bottom-left corner using the baseline of the font). The text will have its "
+"color multiplied by [param modulate]. If [param width] is greater than or "
+"equal to 0, the text will be clipped if it exceeds the specified width.\n"
+"[b]Example using the default project font:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# If using this method in a script that redraws constantly, move the\n"
+"# `default_font` declaration to a member variable assigned in `_ready()`\n"
+"# so the Control is only created once.\n"
+"var default_font = ThemeDB.fallback_font\n"
+"var default_font_size = ThemeDB.fallback_font_size\n"
+"draw_string(default_font, Vector2(64, 64), \"Hello world\", "
+"HORIZONTAL_ALIGNMENT_LEFT, -1, default_font_size)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// If using this method in a script that redraws constantly, move the\n"
+"// `default_font` declaration to a member variable assigned in `_Ready()`\n"
+"// so the Control is only created once.\n"
+"Font defaultFont = ThemeDB.FallbackFont;\n"
+"int defaultFontSize = ThemeDB.FallbackFontSize;\n"
+"DrawString(defaultFont, new Vector2(64, 64), \"Hello world\", "
+"HORIZONTAL_ALIGNMENT_LEFT, -1, defaultFontSize);\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"See also [method Font.draw_string]."
+msgstr ""
+"使用指定的 [param font] 在 [param pos](使用的字体的基线的左下角)处绘制 "
+"[param text]。该文本的颜色将乘以 [param modulate]。如果 [param width] 大于等"
+"于 0,则文本超过指定宽度将被裁剪。\n"
+"[b]使用项目默认字体的例子:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 如果在不断重绘的脚本中使用此方法,\n"
+"# 则将 `default_font` 声明移动到在 `_ready()` 中赋值的成员变量中\n"
+"# 这样 Control 只创建一次。\n"
+"var default_font = ThemeDB.fallback_font\n"
+"var default_font_size = ThemeDB.fallback_font_size\n"
+"draw_string(default_font, Vector2(64, 64), \"Hello world\", "
+"HORIZONTAL_ALIGNMENT_LEFT, -1, default_font_size)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 如果在不断重绘的脚本中使用此方法,\n"
+"// 则将 `default_font` 声明移动到在 `_ready()` 中赋值的成员变量中\n"
+"// 这样 Control 只创建一次。\n"
+"Font defaultFont = ThemeDB.FallbackFont;\n"
+"int defaultFontSize = ThemeDB.FallbackFontSize;\n"
+"DrawString(defaultFont, new Vector2(64, 64), \"Hello world\", "
+"HORIZONTAL_ALIGNMENT_LEFT, -1, defaultFontSize);\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"另请参阅 [method Font.draw_string]。"
+
msgid "Draws a styled rectangle."
msgstr "绘制一个样式矩形。"
@@ -6480,6 +14659,9 @@ msgstr "返回此项目的变换矩阵。"
msgid "Returns the viewport's boundaries as a [Rect2]."
msgstr "以 [Rect2] 形式返回视口的边界。"
+msgid "Returns an individual bit on the rendering visibility layer."
+msgstr "返回渲染可见层上的某个比特位。"
+
msgid "Returns the [World2D] where this item is in."
msgstr "返回此物品所在的 [World2D]。"
@@ -6531,30 +14713,60 @@ msgstr ""
"各种 [code]popup*()[/code] 函数的其中之一。"
msgid ""
+"Allows the current node to clip children nodes, essentially acting as a mask."
+msgstr "允许当前节点裁剪子节点,本质上是充当遮罩。"
+
+msgid ""
"The rendering layers in which this [CanvasItem] responds to [Light2D] nodes."
-msgstr "此 [CanvasItem] 在其中响应 [Light2D] 节点的渲染层。"
+msgstr "该 [CanvasItem] 的渲染层,用于响应 [Light2D] 节点。"
msgid "The material applied to textures on this [CanvasItem]."
-msgstr "在此 [CanvasItem] 上应用于纹理的材质。"
+msgstr "材质,应用于该 [CanvasItem] 的纹理。"
msgid "The color applied to textures on this [CanvasItem]."
-msgstr "应用于此 [CanvasItem] 上纹理的颜色。"
+msgstr "颜色,应用于该 [CanvasItem] 的纹理。"
msgid ""
"The color applied to textures on this [CanvasItem]. This is not inherited by "
"children [CanvasItem]s."
-msgstr ""
-"应用于此 [CanvasItem] 上纹理的颜色。子 [CanvasItem] 节点不会继承这个颜色。"
+msgstr "颜色,应用于该 [CanvasItem] 的纹理。不会被子级 [CanvasItem] 继承。"
msgid "If [code]true[/code], the object draws behind its parent."
msgstr "如果为 [code]true[/code],则对象在其父对象后面绘制。"
+msgid "The texture filtering mode to use on this [CanvasItem]."
+msgstr "在该 [CanvasItem] 上使用的纹理过滤模式。"
+
+msgid "The texture repeating mode to use on this [CanvasItem]."
+msgstr "在该 [CanvasItem] 上使用的纹理重复模式。"
+
+msgid ""
+"If [code]true[/code], this [CanvasItem] will [i]not[/i] inherit its "
+"transform from parent [CanvasItem]s. Its draw order will also be changed to "
+"make it draw on top of other [CanvasItem]s that do not have [member "
+"top_level] set to [code]true[/code]. The [CanvasItem] will effectively act "
+"as if it was placed as a child of a bare [Node]."
+msgstr ""
+"如果为 [code]true[/code],则该 [CanvasItem] [i]不会[/i]继承父级 [CanvasItem] "
+"的变换。它的绘制顺序也会发生改变,会在其他没有将 [member top_level] 设置为 "
+"[code]true[/code] 的 [CanvasItem] 之上绘制。效果和把该 [CanvasItem] 作为裸 "
+"[Node] 的子级一样。"
+
msgid ""
"If [code]true[/code], the parent [CanvasItem]'s [member material] property "
"is used as this one's material."
msgstr ""
-"如果为 [code]true[/code],则将父级[CanvasItem]的[member material]属性用作此项"
-"的材质。"
+"如果为 [code]true[/code],则将父级 [CanvasItem] 的 [member material] 属性用作"
+"此项的材质。"
+
+msgid ""
+"The rendering layer in which this [CanvasItem] is rendered by [Viewport] "
+"nodes. A [Viewport] will render a [CanvasItem] if it and all its parents "
+"share a layer with the [Viewport]'s canvas cull mask."
+msgstr ""
+"[Viewport] 节点渲染该 [CanvasItem] 时所使用的渲染层。只有 [CanvasItem] 及其所"
+"有父级均与 [Viewport] 的画布剔除遮罩有交集,该 [Viewport] 才会渲染此 "
+"[CanvasItem]。"
msgid ""
"If [code]true[/code], this [CanvasItem] is drawn. The node is only visible "
@@ -6571,6 +14783,21 @@ msgstr ""
"[code]popup*()[/code] 函数之一。"
msgid ""
+"If [code]true[/code], child nodes with the lowest Y position are drawn "
+"before those with a higher Y position. If [code]false[/code], Y-sorting is "
+"disabled. Y-sorting only affects children that inherit from [CanvasItem].\n"
+"You can nest nodes with Y-sorting. Child Y-sorted nodes are sorted in the "
+"same space as the parent Y-sort. This feature allows you to organize a scene "
+"better or divide it into multiple ones without changing your scene tree."
+msgstr ""
+"如果为 [code]true[/code],则会在绘制 Y 位置最低的子节点之后再绘制 Y 位置较高"
+"的子节点。如果为 [code]false[/code],则禁用 Y 排序。Y 排序仅影响继承自 "
+"[CanvasItem] 的子节点。\n"
+"可以将 Y 排序的节点进行嵌套。子级 Y 排序的节点,会与父级在同一空间中进行 Y 排"
+"序。此功能可以让你在不更改场景树的情况下,更好地组织场景,或者将场景分为多个"
+"场景。"
+
+msgid ""
"If [code]true[/code], the node's Z index is relative to its parent's Z "
"index. If this node's Z index is 2 and its parent's effective Z index is 3, "
"then this node's effective Z index will be 2 + 3 = 5."
@@ -6580,6 +14807,23 @@ msgstr ""
"引将是 2 + 3 = 5。"
msgid ""
+"Z index. Controls the order in which the nodes render. A node with a higher "
+"Z index will display in front of others. Must be between [constant "
+"RenderingServer.CANVAS_ITEM_Z_MIN] and [constant RenderingServer."
+"CANVAS_ITEM_Z_MAX] (inclusive).\n"
+"[b]Note:[/b] Changing the Z index of a [Control] only affects the drawing "
+"order, not the order in which input events are handled. This can be useful "
+"to implement certain UI animations, e.g. a menu where hovered items are "
+"scaled and should overlap others."
+msgstr ""
+"Z 索引。控制节点的渲染顺序。具有较高 Z 索引的节点将显示在其他节点的前面。必须"
+"在 [constant RenderingServer.CANVAS_ITEM_Z_MIN] 和 [constant RenderingServer."
+"CANVAS_ITEM_Z_MAX]之间(包含)。\n"
+"[b]注意:[/b]改变 [Control] 的 Z 索引只影响绘图顺序,不影响处理输入事件的顺"
+"序。可用于实现某些 UI 动画,例如对处于悬停状态的菜单项进行缩放,此时会与其他"
+"内容重叠。"
+
+msgid ""
"Emitted when the [CanvasItem] must redraw, [i]after[/i] the related "
"[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] "
"is called.\n"
@@ -6593,6 +14837,14 @@ msgstr ""
msgid "Emitted when becoming hidden."
msgstr "当隐藏时发出。"
+msgid ""
+"Emitted when the item's [Rect2] boundaries (position or size) have changed, "
+"or when an action is taking place that may have impacted these boundaries (e."
+"g. changing [member Sprite2D.texture])."
+msgstr ""
+"当 CanvasItem 的 [Rect2] 边界(位置或大小)发生变化时,或者当发生可能影响这些"
+"边界的操作(例如,更改 [member Sprite2D.texture])时发出。"
+
msgid "Emitted when the visibility (hidden/visible) changes."
msgstr "当可见性(隐藏/可见)更改时发出。"
@@ -6622,6 +14874,38 @@ msgstr "该 [CanvasItem] 已进入画布。"
msgid "The [CanvasItem] has exited the canvas."
msgstr "该 [CanvasItem] 已退出画布。"
+msgid "The [CanvasItem] will inherit the filter from its parent."
+msgstr "该 [CanvasItem] 将从其父级继承过滤器。"
+
+msgid "Texture will not repeat."
+msgstr "纹理不会重复。"
+
+msgid "Texture will repeat normally."
+msgstr "纹理将正常重复。"
+
+msgid ""
+"Texture will repeat in a 2x2 tiled mode, where elements at even positions "
+"are mirrored."
+msgstr "纹理将以 2x2 平铺模式重复,其中偶数位置的元素会被镜像。"
+
+msgid "Represents the size of the [enum TextureRepeat] enum."
+msgstr "代表 [enum TextureRepeat] 枚举的大小。"
+
+msgid ""
+"Parent is used for the purposes of clipping only. Child is clipped to the "
+"parent's visible area, parent is not drawn."
+msgstr "父级仅用于裁剪目的。子级被裁剪到父级的可见区域,不绘制父级。"
+
+msgid ""
+"Parent is used for clipping child, but parent is also drawn underneath child "
+"as normal before clipping child to its visible area."
+msgstr ""
+"父级用于裁剪子级,但在将子级剪裁到其可见区域之前,父级也像往常一样绘制在子级"
+"下方。"
+
+msgid "Represents the size of the [enum ClipChildrenMode] enum."
+msgstr "代表 [enum ClipChildrenMode] 枚举的大小。"
+
msgid "A material for [CanvasItem]s."
msgstr "[CanvasItem]的材质。"
@@ -6643,13 +14927,51 @@ msgid "The manner in which material reacts to lighting."
msgstr "材质对照明的反应方式。"
msgid ""
+"The number of columns in the spritesheet assigned as [Texture2D] for a "
+"[GPUParticles2D] or [CPUParticles2D].\n"
+"[b]Note:[/b] This property is only used and visible in the editor if [member "
+"particles_animation] is [code]true[/code]."
+msgstr ""
+"[GPUParticles2D] 或 [CPUParticles2D] 指定给 [Texture2D] 的精灵表中拥有的列"
+"数。\n"
+"[b]注意:[/b] 该属性只有在 [member particles_animation] 为 [code]true[/code] "
+"时,才会在编辑器中被使用和可见。"
+
+msgid ""
"If [code]true[/code], the particles animation will loop.\n"
"[b]Note:[/b] This property is only used and visible in the editor if [member "
"particles_animation] is [code]true[/code]."
msgstr ""
"如果为 [code]true[/code],粒子动画将循环播放。\n"
-"[b]注意:[/b]只有当 [member particles_animation] 为 [code]true[/code] 时,该"
-"属性才会在编辑器中使用并可见。"
+"[b]注意:[/b] 该属性只有在 [member particles_animation]为 [code]true[/code] "
+"时,才会在编辑器中被使用和可见。"
+
+msgid ""
+"The number of rows in the spritesheet assigned as [Texture2D] for a "
+"[GPUParticles2D] or [CPUParticles2D].\n"
+"[b]Note:[/b] This property is only used and visible in the editor if [member "
+"particles_animation] is [code]true[/code]."
+msgstr ""
+"[GPUParticles2D] 或 [CPUParticles2D] 指定给 [Texture2D] 的精灵表中拥有的行"
+"数。\n"
+"[b]注意:[/b] 该属性只有在 [member particles_animation] 为 [code]true[/code] "
+"时,才会在编辑器中被使用和可见。"
+
+msgid ""
+"If [code]true[/code], enable spritesheet-based animation features when "
+"assigned to [GPUParticles2D] and [CPUParticles2D] nodes. The [member "
+"ParticleProcessMaterial.anim_speed_max] or [member CPUParticles2D."
+"anim_speed_max] should also be set to a positive value for the animation to "
+"play.\n"
+"This property (and other [code]particles_anim_*[/code] properties that "
+"depend on it) has no effect on other types of nodes."
+msgstr ""
+"如果 [code]true[/code] ,在分配给 [GPUParticles2D] 和 [CPUParticles2D] 节点"
+"时,启用基于精灵表的动画功能。[member ParticleProcessMaterial."
+"anim_speed_max] 或 [member CPUParticles2D.anim_speed_max] 也应该设置为正值,"
+"才能播放动画。\n"
+"这个属性(以及其他依赖它的 [code]particles_anim_*[/code] 属性)对其他类型的节"
+"点没有影响。"
msgid ""
"Mix blending mode. Colors are assumed to be independent of the alpha "
@@ -6684,6 +15006,24 @@ msgstr "将材质渲染成只有光的样子。"
msgid "Canvas drawing layer."
msgstr "画布绘图层。"
+msgid ""
+"Canvas drawing layer. [CanvasItem] nodes that are direct or indirect "
+"children of a [CanvasLayer] will be drawn in that layer. The layer is a "
+"numeric index that defines the draw order. The default 2D scene renders with "
+"index 0, so a [CanvasLayer] with index -1 will be drawn below, and one with "
+"index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or "
+"above), or backgrounds (in layer -1 or below).\n"
+"Embedded [Window]s are placed in layer 1024. CanvasItems in layer 1025 or "
+"above appear in front of embedded windows, CanvasItems in layer 1023 or "
+"below appear behind embedded windows."
+msgstr ""
+"画布绘图层。[CanvasLayer] 的直接或间接子级的 [CanvasItem] 节点将在该层中绘"
+"制。层是一个决定绘制顺序的数字索引。默认 2D 场景的渲染索引为 0,因此索引为 "
+"-1 的 [CanvasLayer] 会在其下方绘制,索引为 1 的则会在其上方绘制。这对于 HUD"
+"(在 1+ 层或更高层中)或背景(在 -1 层或更低层中)非常有用。\n"
+"内嵌 [Window] 位于 1024 层。位于 1024 层及更高层的 CanvasItem 会出现在内嵌窗"
+"口之前,位于 1024 层及更低层的 CanvasItem 会出现在内嵌窗口之后。"
+
msgid "Canvas layers"
msgstr "画布层"
@@ -6722,9 +15062,6 @@ msgstr ""
"幕上的某个固定位置。\n"
"与 [member follow_viewport_scale] 配合可以实现伪 3D 效果。"
-msgid "Layer index for draw order. Lower values are drawn first."
-msgstr "绘制顺序的图层索引。首先绘制较低的值。"
-
msgid "The layer's base offset."
msgstr "图层的基本偏移量。"
@@ -6797,6 +15134,9 @@ msgstr ""
msgid "Kinematic character (2D)"
msgstr "运动学角色(2D)"
+msgid "Using CharacterBody2D"
+msgstr "使用 CharacterBody2D"
+
msgid "2D Kinematic Character Demo"
msgstr "2D 运动学角色演示"
@@ -6856,6 +15196,9 @@ msgstr ""
"1)}\n"
"[/codeblock]"
+msgid "Font resource used to render glyph."
+msgstr "用于渲染字形的字体资源。"
+
msgid ""
"Number of glyphs in the grapheme cluster. This value is set in the first "
"glyph of a cluster. Setting this property won't affect drawing."
@@ -6913,31 +15256,74 @@ msgstr "渲染复选图标时使用的垂直偏移量(单位为像素)。"
msgid "The [Font] to use for the [CheckBox] text."
msgstr "该 [CheckBox] 的文本所使用的 [Font]。"
+msgid "Font size of the [CheckBox]'s text."
+msgstr "该 [CheckBox] 的文本字体大小。"
+
msgid "The check icon to display when the [CheckBox] is checked."
-msgstr "该 [CheckBox] 被勾选时显示的复选图标。"
+msgstr "选中图标,该 [CheckBox] 处于选中状态时使用。"
+
+msgid ""
+"The check icon to display when the [CheckBox] is checked and is disabled."
+msgstr "选中图标,该 [CheckBox] 处于选中且禁用状态时使用。"
+
+msgid ""
+"The check icon to display when the [CheckBox] is configured as a radio "
+"button and is checked."
+msgstr "选中图标,该 [CheckBox] 被配置为单选按钮并处于选中状态时使用。"
+
+msgid ""
+"The check icon to display when the [CheckBox] is configured as a radio "
+"button, is disabled, and is unchecked."
+msgstr "选中图标,该 [CheckBox] 被配置为单选按钮并处于未选且禁用状态时使用。"
+
+msgid ""
+"The check icon to display when the [CheckBox] is configured as a radio "
+"button and is unchecked."
+msgstr "选中图标,该 [CheckBox] 被配置为单选按钮并处于未选状态时使用。"
msgid "The check icon to display when the [CheckBox] is unchecked."
-msgstr "该 [CheckBox] 未被勾选时显示的复选图标。"
+msgstr "选中图标,该 [CheckBox] 处于未选状态时使用。"
+
+msgid ""
+"The check icon to display when the [CheckBox] is unchecked and is disabled."
+msgstr "选中图标,该 [CheckBox] 处于未选状态时使用。"
msgid ""
"The [StyleBox] to display as a background when the [CheckBox] is disabled."
-msgstr "该 [CheckBox] 被禁用时作为背景显示的 [StyleBox]。"
+msgstr "作为背景显示的 [StyleBox],该 [CheckBox] 处于禁用状态时使用。"
+
+msgid ""
+"The [StyleBox] to display as a background when the [CheckBox] is focused. "
+"The [code]focus[/code] [StyleBox] is displayed [i]over[/i] the base "
+"[StyleBox], so a partially transparent [StyleBox] should be used to ensure "
+"the base [StyleBox] remains visible. A [StyleBox] that represents an outline "
+"or an underline works well for this purpose. To disable the focus visual "
+"effect, assign a [StyleBoxEmpty] resource. Note that disabling the focus "
+"visual effect will harm keyboard/controller navigation usability, so this is "
+"not recommended for accessibility reasons."
+msgstr ""
+"作为背景显示的 [StyleBox],该 [CheckBox] 处于聚焦状态时使用。[code]focus[/"
+"code] [StyleBox] 显示在基础 [StyleBox] [i]之上[/i],所以应该使用部分透明的 "
+"[StyleBox],确保基础 [StyleBox] 仍然可见。代表轮廓或下划线的 [StyleBox] 可以"
+"很好地实现这个目的。要禁用聚焦的视觉效果,请指定 [StyleBoxEmpty] 资源。请注"
+"意,禁用聚焦的视觉效果会影响使用键盘/手柄进行导航的可用性,所以出于可访问性的"
+"原因,不建议这样做。"
msgid ""
"The [StyleBox] to display as a background when the [CheckBox] is hovered."
-msgstr "该 [CheckBox] 被悬停时作为背景显示的 [StyleBox]。"
+msgstr "作为背景显示的 [StyleBox],该 [CheckBox] 处于悬停状态时使用。"
msgid ""
"The [StyleBox] to display as a background when the [CheckBox] is hovered and "
"pressed."
-msgstr "该 [CheckBox] 被悬停且被按下时作为背景显示的 [StyleBox]。"
+msgstr "作为背景显示的 [StyleBox],该 [CheckBox] 处于悬停且按下状态时使用。"
msgid "The [StyleBox] to display as a background."
msgstr "作为背景显示的 [StyleBox]。"
msgid ""
"The [StyleBox] to display as a background when the [CheckBox] is pressed."
-msgstr "该 [CheckBox] 被按下时作为背景显示的 [StyleBox]。"
+msgstr "作为背景显示的 [StyleBox],该 [CheckBox] 处于按下状态时使用。"
msgid "Checkable button. See also [CheckBox]."
msgstr "可复选的按钮。另请参阅 [CheckBox]。"
@@ -6969,24 +15355,88 @@ msgid "The vertical offset used when rendering the toggle icons (in pixels)."
msgstr "渲染切换图标时使用的垂直偏移量(单位为像素)。"
msgid "The [Font] to use for the [CheckButton] text."
-msgstr "该 [CheckButton] 的文本所使用的 [Font]。"
+msgstr "该 [CheckButton] 文本所使用的 [Font]。"
+
+msgid "Font size of the [CheckButton]'s text."
+msgstr "该 [CheckButton] 文本的字体大小。"
+
+msgid ""
+"The icon to display when the [CheckButton] is checked (for left-to-right "
+"layouts)."
+msgstr "显示的图标,用于该 [CheckButton] 的勾选状态(从左至右布局)。"
+
+msgid ""
+"The icon to display when the [CheckButton] is checked and disabled (for left-"
+"to-right layouts)."
+msgstr ""
+"显示的图标,用于该 [CheckButton] 的勾选且禁用状态(用于从左至右布局)。"
+
+msgid ""
+"The icon to display when the [CheckButton] is checked and disabled (for "
+"right-to-left layouts)."
+msgstr ""
+"显示的图标,用于该 [CheckButton] 的勾选且禁用状态(用于从右至左布局)。"
+
+msgid ""
+"The icon to display when the [CheckButton] is checked (for right-to-left "
+"layouts)."
+msgstr "显示的图标,用于该 [CheckButton] 的勾选状态(用于从右至左布局)。"
+
+msgid ""
+"The icon to display when the [CheckButton] is unchecked (for left-to-right "
+"layouts)."
+msgstr "显示的图标,用于该 [CheckButton] 的未选状态(用于从左至右布局)。"
+
+msgid ""
+"The icon to display when the [CheckButton] is unchecked and disabled (for "
+"left-to-right layouts)."
+msgstr ""
+"显示的图标,用于该 [CheckButton] 的未选且禁用状态(用于从左至右布局)。"
+
+msgid ""
+"The icon to display when the [CheckButton] is unchecked and disabled (for "
+"right-to-left layouts)."
+msgstr ""
+"显示的图标,用于该 [CheckButton] 的未选且禁用状态(用于从右至左布局)。"
+
+msgid ""
+"The icon to display when the [CheckButton] is unchecked (for right-to-left "
+"layouts)."
+msgstr "显示的图标,用于该 [CheckButton] 的未选状态(用于从右至左布局)。"
msgid ""
"The [StyleBox] to display as a background when the [CheckButton] is disabled."
-msgstr "该 [CheckButton] 被禁用时作为背景显示的 [StyleBox]。"
+msgstr "作为背景显示的 [StyleBox],用于该 [CheckButton] 的禁用状态。"
+
+msgid ""
+"The [StyleBox] to display as a background when the [CheckButton] is focused. "
+"The [code]focus[/code] [StyleBox] is displayed [i]over[/i] the base "
+"[StyleBox], so a partially transparent [StyleBox] should be used to ensure "
+"the base [StyleBox] remains visible. A [StyleBox] that represents an outline "
+"or an underline works well for this purpose. To disable the focus visual "
+"effect, assign a [StyleBoxEmpty] resource. Note that disabling the focus "
+"visual effect will harm keyboard/controller navigation usability, so this is "
+"not recommended for accessibility reasons."
+msgstr ""
+"作为背景显示的 [StyleBox],用于该 [CheckButton] 的聚焦状态。[code]focus[/"
+"code] [StyleBox] 显示在基础 [StyleBox] [i]之上[/i],所以应该使用部分透明的 "
+"[StyleBox],确保基础 [StyleBox] 仍然可见。代表轮廓或下划线的 [StyleBox] 可以"
+"很好地实现这个目的。要禁用聚焦的视觉效果,请指定 [StyleBoxEmpty] 资源。请注"
+"意,禁用聚焦的视觉效果会影响使用键盘/手柄进行导航的可用性,所以出于可访问性的"
+"原因,不建议这样做。"
msgid ""
"The [StyleBox] to display as a background when the [CheckButton] is hovered."
-msgstr "该 [CheckButton] 被悬停时作为背景显示的 [StyleBox]。"
+msgstr "作为背景显示的 [StyleBox],用于该 [CheckButton] 的悬停状态。"
msgid ""
"The [StyleBox] to display as a background when the [CheckButton] is hovered "
"and pressed."
-msgstr "该 [CheckButton] 被悬停且被按下时作为背景显示的 [StyleBox]。"
+msgstr "作为背景显示的 [StyleBox],用于该 [CheckButton] 的悬停且按下状态。"
msgid ""
"The [StyleBox] to display as a background when the [CheckButton] is pressed."
-msgstr "该 [CheckButton] 被按下时作为背景显示的 [StyleBox]。"
+msgstr "作为背景显示的 [StyleBox],用于该 [CheckButton] 的按下状态。"
msgid "The circle's radius."
msgstr "圆的半径。"
@@ -7000,12 +15450,237 @@ msgstr "提供对为每个可用类存储的元数据的访问。"
msgid "Returns the names of all the classes available."
msgstr "返回所有可用类的名称。"
+msgid ""
+"Returns the names of all the classes that directly or indirectly inherit "
+"from [param class]."
+msgstr "返回所有直接或间接继承自 [param class] 的类的名称。"
+
+msgid "Returns the parent class of [param class]."
+msgstr "返回 [param class] 的父类。"
+
+msgid "Creates an instance of [param class]."
+msgstr "创建 [param class] 的实例。"
+
+msgid "Returns whether this [param class] is enabled or not."
+msgstr "返回这个 [param class] 是否已启用。"
+
+msgid ""
+"Returns whether [param inherits] is an ancestor of [param class] or not."
+msgstr "返回 [param inherits] 是否为 [param class] 的祖先。"
+
+msgid ""
+"Override this method to define what items in [param candidates] should be "
+"displayed.\n"
+"Both [param candidates] and the return is a [Array] of [Dictionary], see "
+"[method get_code_completion_option] for [Dictionary] content."
+msgstr ""
+"覆盖此方法以确定应该显示 [param candidates] 中的哪些项。\n"
+"参数 [param candidates] 和返回值都是一个 [Array] 的 [Dictionary],而 "
+"[Dictionary] 的键值,详见 [method get_code_completion_option]。"
+
+msgid ""
+"Override this method to define what happens when the user requests code "
+"completion. If [param force] is true, any checks should be bypassed."
+msgstr ""
+"覆盖此方法以定义当用户请求代码完成时发生的情况。如果 [param force] 为真,会绕"
+"过任何检查。"
+
+msgid ""
+"Adds a brace pair.\n"
+"Both the start and end keys must be symbols. Only the start key has to be "
+"unique."
+msgstr ""
+"添加一对大括号。\n"
+"开始和结束键都必须是符号。只有开始键必须是唯一的。"
+
+msgid ""
+"Submits an item to the queue of potential candidates for the autocomplete "
+"menu. Call [method update_code_completion_options] to update the list.\n"
+"[b]Note:[/b] This list will replace all current candidates."
+msgstr ""
+"将补全项提交到自动补全菜单的潜在候选队列。调用 [method "
+"update_code_completion_options] 来更新列表。\n"
+"[b]注意:[/b] 此列表将替换所有当前候选。"
+
+msgid ""
+"Returns if the given line is foldable, that is, it has indented lines right "
+"below it or a comment / string block."
+msgstr ""
+"返回给定的行是否可折叠,也就是说,它的正下方有缩进的行或注释 / 字符串块。"
+
+msgid "Cancels the autocomplete menu."
+msgstr "取消自动补全菜单。"
+
+msgid "Clears all bookmarked lines."
+msgstr "清除所有书签行。"
+
+msgid "Clears all breakpointed lines."
+msgstr "清除所有断点行。"
+
+msgid "Removes all comment delimiters."
+msgstr "移除所有注释分隔符。"
+
+msgid "Clears all executed lines."
+msgstr "清除所有已执行的行。"
+
+msgid "Removes all string delimiters."
+msgstr "移除所有字符串分隔符。"
+
+msgid ""
+"Inserts the selected entry into the text. If [param replace] is true, any "
+"existing text is replaced rather then merged."
+msgstr ""
+"将选定的条目插入文本中。如果 [param replace] 为真,任何现有的文本都会被替换,"
+"而不是合并。"
+
+msgid ""
+"Perform an indent as if the user activated the \"ui_text_indent\" action."
+msgstr "执行一个缩进,就像用户触发了“ui_text_indent”动作一样。"
+
+msgid ""
+"Folds all lines that are possible to be folded (see [method can_fold_line])."
+msgstr "折叠所有可能被折叠的行(参见 [method can_fold_line])。"
+
+msgid "Folds the given line, if possible (see [method can_fold_line])."
+msgstr "如果可能,折叠给定的行(参见 [method can_fold_line])。"
+
+msgid "Gets all bookmarked lines."
+msgstr "获取所有书签行。"
+
+msgid "Gets all breakpointed lines."
+msgstr "获取所有断点行。"
+
+msgid ""
+"Gets the completion option at [param index]. The return [Dictionary] has the "
+"following key-values:\n"
+"[code]kind[/code]: [enum CodeCompletionKind]\n"
+"[code]display_text[/code]: Text that is shown on the autocomplete menu.\n"
+"[code]insert_text[/code]: Text that is to be inserted when this item is "
+"selected.\n"
+"[code]font_color[/code]: Color of the text on the autocomplete menu.\n"
+"[code]icon[/code]: Icon to draw on the autocomplete menu.\n"
+"[code]default_value[/code]: Value of the symbol."
+msgstr ""
+"获取在 [param index] 处的补全选项。返回的 [Dictionary] 有以下键值。\n"
+"[code]kind[/code]:[enum CodeCompletionKind]\n"
+"[code]display_text[/code] :在自动补全菜单上显示的文本。\n"
+"[code]insert_text[/code] :当选中这个选项时要插入的文本。\n"
+"[code]font_color[/code]:自动补全菜单上文本的颜色。\n"
+"[code]icon[/code] :在自动补全菜单上绘制的图标。\n"
+"[code]default_value[/code]:符号的值。"
+
+msgid ""
+"Gets all completion options, see [method get_code_completion_option] for "
+"return content."
+msgstr "获取所有补全选项,返回值见 [method get_code_completion_option]。"
+
+msgid "Gets the index of the current selected completion option."
+msgstr "获取当前已选定补全项的索引。"
+
+msgid "Gets the end key for a string or comment region index."
+msgstr "获取字符串或注释块索引的结束键。"
+
+msgid "Gets the start key for a string or comment region index."
+msgstr "获取字符串或注释块索引的开始键。"
+
+msgid "Gets all executing lines."
+msgstr "获取所有正在执行的行。"
+
+msgid "Returns all lines that are current folded."
+msgstr "返回当前折叠的所有行。"
+
+msgid ""
+"Returns the full text with char [code]0xFFFF[/code] at the caret location."
+msgstr "返回在插入符号位置带有 [code]0xFFFF[/code] 字符的全文。"
+
+msgid ""
+"Returns the full text with char [code]0xFFFF[/code] at the cursor location."
+msgstr "返回在光标位置处带有 [code]0xFFFF[/code] 字符的全文。"
+
+msgid "Returns [code]true[/code] if comment [param start_key] exists."
+msgstr "如果注释的 [param start_key] 存在,返回 [code]true[/code] 。"
+
+msgid "Returns [code]true[/code] if string [param start_key] exists."
+msgstr "如果字符串的 [param start_key] 存在,返回 [code]true[/code] 。"
+
+msgid ""
+"Indents selected lines, or in the case of no selection the caret line by one."
+msgstr "缩进选定的行,或者在没有选择的情况下,将光标行缩进一个。"
+
+msgid "Returns whether the line at the specified index is bookmarked or not."
+msgstr "返回指定索引处的行是否添加了书签。"
+
+msgid "Returns whether the line at the specified index is breakpointed or not."
+msgstr "返回指定索引处的行是否有断点。"
+
+msgid ""
+"Returns whether the line at the specified index is marked as executing or "
+"not."
+msgstr "返回指定索引处的行是否标记为正在执行。"
+
msgid "Returns whether the line at the specified index is folded or not."
msgstr "返回指定索引处的行是否折叠。"
+msgid "Removes the comment delimiter with [param start_key]."
+msgstr "移除带有 [param start_key] 的注释分隔符。"
+
+msgid "Removes the string delimiter with [param start_key]."
+msgstr "移除带有 [param start_key] 的字符串分隔符。"
+
+msgid ""
+"Emits [signal code_completion_requested], if [param force] is true will "
+"bypass all checks. Otherwise will check that the caret is in a word or in "
+"front of a prefix. Will ignore the request if all current options are of "
+"type file path, node path or signal."
+msgstr ""
+"发出 [signal code_completion_requested],如果 [param force] 为真将绕过所有检"
+"查。否则,将检查光标是否在一个词中或在一个前缀的前面。如果当前所有选项都是文"
+"件路径、节点路径或信号类型,将忽略该请求。"
+
+msgid "Sets the current selected completion option."
+msgstr "设置当前选定的补全选项。"
+
+msgid "Sets the code hint text. Pass an empty string to clear."
+msgstr "设置代码提示文本。传递一个空字符串来清除。"
+
+msgid "Sets if the code hint should draw below the text."
+msgstr "设置代码提示是否应绘制在文本下方。"
+
+msgid "Sets the line as bookmarked."
+msgstr "将该行设置为书签。"
+
+msgid "Sets the line as breakpointed."
+msgstr "将该行设置为断点。"
+
+msgid "Sets the line as executing."
+msgstr "将该行设置为正在执行。"
+
msgid "Toggle the folding of the code block at the given line."
msgstr "在给定行切换代码块的折叠。"
+msgid "Unfolds all lines, folded or not."
+msgstr "展开所有行,无论是否被折叠。"
+
+msgid "Unfolds all lines that were previously folded."
+msgstr "展开之前被折叠的所有行。"
+
+msgid ""
+"Unindents selected lines, or in the case of no selection the caret line by "
+"one. Same as performing \"ui_text_unindent\" action."
+msgstr ""
+"解除所选行的缩进,或者在没有选择的情况下,将光标行缩进一个。与触"
+"发“ui_text_unindent ”动作相同。"
+
+msgid ""
+"Submits all completion options added with [method "
+"add_code_completion_option]. Will try to force the autoccomplete menu to "
+"popup, if [param force] is [code]true[/code].\n"
+"[b]Note:[/b] This will replace all current candidates."
+msgstr ""
+"提交所有用 [method add_code_completion_option] 添加的补全选项。如果 [param "
+"force] 是 [code]true[/code],将尝试强制弹出自动补全菜单 。\n"
+"[b]注意:[/b] 这将取代所有当前的候补选项。"
+
msgid "Sets the font [Color]."
msgstr "设置字体颜色 [Color]。"
@@ -7018,6 +15693,46 @@ msgstr "设置行间距。"
msgid "Sets the default [Font]."
msgstr "设置默认的字体 [Font]。"
+msgid "Sets default font size."
+msgstr "设置默认的字体大小。"
+
+msgid ""
+"Sets a custom [Texture2D] to draw in the line folding gutter when a line is "
+"folded and can be unfolded."
+msgstr ""
+"当行被折叠且可以展开时,设置要在行折叠装订线中绘制的一个自定义 [Texture2D]。"
+
+msgid "Sets a custom [Texture2D] to draw at the end of a folded line."
+msgstr "设置要绘制在折叠行末尾的一个自定义 [Texture2D]。"
+
+msgid "Sets a custom [Texture2D] for space text characters."
+msgstr "为空格文本字符,设置一个自定义 [Texture2D]。"
+
+msgid "Sets a custom [Texture2D] for tab text characters."
+msgstr "为制表符文本字符,设置一个自定义 [Texture2D]。"
+
+msgid "[StyleBox] for the code completion popup."
+msgstr "用于代码补全弹窗的 [StyleBox]。"
+
+msgid ""
+"Sets the [StyleBox] when in focus. The [code]focus[/code] [StyleBox] is "
+"displayed [i]over[/i] the base [StyleBox], so a partially transparent "
+"[StyleBox] should be used to ensure the base [StyleBox] remains visible. A "
+"[StyleBox] that represents an outline or an underline works well for this "
+"purpose. To disable the focus visual effect, assign a [StyleBoxEmpty] "
+"resource. Note that disabling the focus visual effect will harm keyboard/"
+"controller navigation usability, so this is not recommended for "
+"accessibility reasons."
+msgstr ""
+"设置当获得焦点时的 [StyleBox]。该 [code]focus[/code] [StyleBox] 显示在基础 "
+"[StyleBox] [i]之上[/i],因此应使用部分透明的 [StyleBox] 以确保基础 "
+"[StyleBox] 保持可见。表示轮廓或下划线的 [StyleBox] 非常适合此目的。要禁用焦点"
+"视觉效果,请指定一个 [StyleBoxEmpty] 资源。请注意,禁用焦点视觉效果会破坏键"
+"盘 / 控制器导航的可用性,出于可访问性原因,不建议这样做。"
+
+msgid "Sets the [StyleBox]."
+msgstr "设置该 [StyleBox]。"
+
msgid "Base node for 2D collision objects."
msgstr "2D 碰撞对象的基础节点。"
@@ -7039,6 +15754,18 @@ msgstr ""
"[CanvasLayer])。不同画布中的对象之间的碰撞行为是未定义的。"
msgid ""
+"Accepts unhandled [InputEvent]s. [param shape_idx] is the child index of the "
+"clicked [Shape2D]. Connect to the [code]input_event[/code] signal to easily "
+"pick up these events.\n"
+"[b]Note:[/b] [method _input_event] requires [member input_pickable] to be "
+"[code]true[/code] and at least one [member collision_layer] bit to be set."
+msgstr ""
+"接收未处理的 [InputEvent]。[param shape_idx] 是被点击的 [Shape2D] 的子索引。"
+"连接到 [code]input_event[/code] 信号即可轻松获取这些事件。\n"
+"[b]注意:[/b][method _input_event] 要求 [member input_pickable] 为 "
+"[code]true[/code],并且至少要设置一个 [member collision_layer] 位。"
+
+msgid ""
"Creates a new shape owner for the given object. Returns [code]owner_id[/"
"code] of the new owner for future reference."
msgstr ""
@@ -7105,9 +15832,53 @@ msgstr ""
"进入/离开,鼠标位于其中时,就会报告输入事件。要求至少设置一个 [member "
"collision_layer] 位。"
+msgid ""
+"When [member Node.process_mode] is set to [constant Node."
+"PROCESS_MODE_DISABLED], remove from the physics simulation to stop all "
+"physics interactions with this [CollisionObject2D].\n"
+"Automatically re-added to the physics simulation when the [Node] is "
+"processed again."
+msgstr ""
+"当 [member Node.process_mode] 被设置为 [constant Node.PROCESS_MODE_DISABLED] "
+"时,从物理仿真中移除,停止与此 [CollisionObject2D] 的所有物理交互。\n"
+"当该 [Node] 再次被处理时,会自动重新加入到物理仿真中。"
+
+msgid ""
+"When [member Node.process_mode] is set to [constant Node."
+"PROCESS_MODE_DISABLED], do not affect the physics simulation."
+msgstr ""
+"当 [member Node.process_mode] 被设置为 [constant Node.PROCESS_MODE_DISABLED] "
+"时,不影响物理仿真。"
+
msgid "Base node for collision objects."
msgstr "碰撞对象的基础节点。"
+msgid ""
+"Receives unhandled [InputEvent]s. [param position] is the location in world "
+"space of the mouse pointer on the surface of the shape with index [param "
+"shape_idx] and [param normal] is the normal vector of the surface at that "
+"point. Connect to the [signal input_event] signal to easily pick up these "
+"events.\n"
+"[b]Note:[/b] [method _input_event] requires [member input_ray_pickable] to "
+"be [code]true[/code] and at least one [member collision_layer] bit to be set."
+msgstr ""
+"接收未处理的 [InputEvent]。[param position] 是鼠标指针在索引为 [param "
+"shape_idx] 的形状表面上的世界空间位置,[param normal] 是该点表面的法向量。连"
+"接到 [signal input_event] 信号即可轻松获取这些事件。\n"
+"[b]注意:[/b][method _input_event] 要求 [member input_ray_pickable] 为 "
+"[code]true[/code],并且至少要设置一个 [member collision_layer] 位。"
+
+msgid ""
+"When [member Node.process_mode] is set to [constant Node."
+"PROCESS_MODE_DISABLED], remove from the physics simulation to stop all "
+"physics interactions with this [CollisionObject3D].\n"
+"Automatically re-added to the physics simulation when the [Node] is "
+"processed again."
+msgstr ""
+"当 [member Node.process_mode] 被设置为 [constant Node.PROCESS_MODE_DISABLED] "
+"时,从物理仿真中移除,停止与此 [CollisionObject3D] 的所有物理交互。\n"
+"当该 [Node] 再次被处理时,会自动重新加入到物理仿真中。"
+
msgid "Defines a 2D collision polygon."
msgstr "定义 2D 碰撞多边形。"
@@ -7143,6 +15914,26 @@ msgid "Collisions will only include the polygon edges."
msgstr "碰撞将仅包括多边形边缘。"
msgid ""
+"Allows editing a concave or convex collision polygon's vertices on a "
+"selected plane. Can also set a depth perpendicular to that plane. This class "
+"is only available in the editor. It will not appear in the scene tree at run-"
+"time. Creates several [ConvexPolygonShape3D]s at run-time to represent the "
+"original polygon using convex decomposition.\n"
+"[b]Note:[/b] Since this is an editor-only helper, properties modified during "
+"gameplay will have no effect.\n"
+"[b]Warning:[/b] A non-uniformly scaled CollisionPolygon3D node will probably "
+"not function as expected. Please make sure to keep its scale uniform (i.e. "
+"the same on all axes), and change its [member polygon]'s vertices instead."
+msgstr ""
+"允许在选定平面上编辑凹形或凸形碰撞多边形的顶点。也可以设置垂直于该平面的深"
+"度。该类仅在编辑器中可用。它不会在运行时出现在场景树中。在运行时创建多个 "
+"[ConvexPolygonShape3D] 以使用凸分解表示原始多边形。\n"
+"[b]注意:[/b]由于这是一个仅限编辑器的助手类,因此在游戏过程中修改的属性将无"
+"效。\n"
+"[b]警告:[/b]非均匀缩放的 CollisionPolygon3D 节点可能无法按预期运行。请确保保"
+"持其比例统一(即在所有轴上相同),并改为更改其 [member polygon] 的顶点。"
+
+msgid ""
"Length that the resulting collision extends in either direction "
"perpendicular to its polygon."
msgstr "产生的碰撞在垂直于其多边形的任一方向上延伸的长度。"
@@ -7216,6 +16007,27 @@ msgid "Node that represents collision shape data in 3D space."
msgstr "表示 3D 空间中的碰撞形状数据的节点。"
msgid ""
+"Editor facility for creating and editing collision shapes in 3D space. Set "
+"the [member shape] property to configure the shape. [b]IMPORTANT[/b]: this "
+"is an Editor-only helper to create shapes, use [method CollisionObject3D."
+"shape_owner_get_shape] to get the actual shape.\n"
+"You can use this node to represent all sorts of collision shapes, for "
+"example, add this to an [Area3D] to give it a detection shape, or add it to "
+"a [PhysicsBody3D] to create a solid object.\n"
+"[b]Warning:[/b] A non-uniformly scaled CollisionShape3D node will probably "
+"not function as expected. Please make sure to keep its scale uniform (i.e. "
+"the same on all axes), and change the size of its [member shape] resource "
+"instead."
+msgstr ""
+"用于在 3D 空间中创建和编辑碰撞形状的编辑器工具。请设置 [member shape] 属性来"
+"配置形状。[b]重要[/b]:这是一个仅供编辑器使用的用于创建形状的助手类,使用 "
+"[method CollisionObject3D.shape_owner_get_shape] 来获取实际形状。\n"
+"您可以使用此节点来表示各种碰撞形状,例如,将其添加到 [Area3D] 以为其提供检测"
+"形状,或将其添加到 [PhysicsBody3D] 以创建实体对象。\n"
+"[b]警告:[/b]非均匀缩放的 CollisionShape3D 节点可能无法按预期运行。请确保保持"
+"其比例统一(即在所有轴上相同),并改为更改其 [member shape] 资源的大小。"
+
+msgid ""
"If this method exists within a script it will be called whenever the shape "
"resource has been modified."
msgstr "如果脚本中存在此方法,则只要修改形状资源,就会调用该方法。"
@@ -7223,6 +16035,42 @@ msgstr "如果脚本中存在此方法,则只要修改形状资源,就会调
msgid "A disabled collision shape has no effect in the world."
msgstr "禁用的碰撞形状对世界没有任何影响。"
+msgid "Color built-in type, in RGBA format."
+msgstr "颜色内置类型,格式为 RGBA。"
+
+msgid ""
+"A color represented in RGBA format by red ([member r]), green ([member g]), "
+"blue ([member b]), and alpha ([member a]) components. Each component is a 16-"
+"bit floating-point value, usually ranging from 0 to 1. Some properties (such "
+"as [member CanvasItem.modulate]) may support values greater than 1, for "
+"overbright or High Dynamic Range colors. If you want to supply values in a "
+"range of 0 to 255, you should use [method @GDScript.Color8].\n"
+"Colors can also be created by name from a set of standardized colors, "
+"through the [String] constructor, [method from_string], or by directly "
+"fetching the color constants documented here. The standardized color set is "
+"based on the [url=https://en.wikipedia.org/wiki/X11_color_names]X11 color "
+"names[/url], with the addition of [constant TRANSPARENT].\n"
+"[b]Note:[/b] In a boolean context, a Color will evaluate to [code]false[/"
+"code] if it's equal to [code]Color(0, 0, 0, 1)[/code] (opaque black). "
+"Otherwise, a Color will always evaluate to [code]true[/code].\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"color_constants.png]Color constants cheatsheet[/url]"
+msgstr ""
+"由红([member r])、绿([member g])、蓝([member b])和 alpha([member a])"
+"分量表示的 RGBA 格式的颜色。每个分量都是一个 16 位浮点值,通常介于 0 到 1 之"
+"间。对于过亮或高动态范围颜色,某些属性(例如 [member CanvasItem.modulate])可"
+"能支持大于 1 的值。使用 [method @GDScript.Color8] 提供 0 到 255 范围内的"
+"值。\n"
+"也可以通过 [String] 构造函数、[method from_string] 或通过直接获取此处记录的颜"
+"色常量,从一组标准化颜色中按名称创建颜色。标准化颜色集基于 [url=https://en."
+"wikipedia.org/wiki/X11_color_names]X11 颜色名称[/url],并添加了 [constant "
+"TRANSPARENT]。\n"
+"[b]注意:[/b]在布尔上下文中,等于 [code]Color(0, 0, 0, 1)[/code](不透明的黑"
+"色)的 Color 将被评估为 [code]false[/code]。否则,Color 将始终被评估为 "
+"[code]true[/code]。\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"color_constants.png]Color 常量速查表[/url]"
+
msgid "2D GD Paint Demo"
msgstr "2D GD 画图演示"
@@ -7246,6 +16094,157 @@ msgid "Constructs a [Color] as a copy of the given [Color]."
msgstr "构造给定 [Color] 的副本。"
msgid ""
+"Constructs a [Color] from RGB values, typically between 0.0 and 1.0. [member "
+"a] is set to 1.0.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(0.2, 1.0, 0.7) # Similar to `Color8(51, 255, 178, 255)`\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(0.2f, 1.0f, 0.7f); // Similar to `Color.Color8(51, "
+"255, 178, 255)`\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"从通常介于 0.0 和 1.0 之间的 RGB 值构造一个 [Color]。[member a] 被设置为 "
+"1.0。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(0.2, 1.0, 0.7) # 类似于 `Color8(51, 255, 178, 255)`\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(0.2f, 1.0f, 0.7f); // 类似于 `Color.Color8(51, 255, "
+"178, 255)`\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Constructs a [Color] from RGBA values, typically between 0.0 and 1.0.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(0.2, 1.0, 0.7, 0.8) # Similar to `Color8(51, 255, 178, "
+"204)`\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(0.2f, 1.0f, 0.7f, 0.8f); // Similar to `Color."
+"Color8(51, 255, 178, 255, 204)`\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"从通常介于 0.0 和 1.0 之间的 RGBA 值构造一个 [Color]。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(0.2, 1.0, 0.7, 0.8) # 类似于 `Color8(51, 255, 178, 204)`\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(0.2f, 1.0f, 0.7f, 0.8f); // 类似于 `Color.Color8(51, "
+"255, 178, 255, 204)`\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns a new color resulting from overlaying this color over the given "
+"color. In a painting program, you can imagine it as the [param over] color "
+"painted over this color (including alpha).\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var bg = Color(0.0, 1.0, 0.0, 0.5) # Green with alpha of 50%\n"
+"var fg = Color(1.0, 0.0, 0.0, 0.5) # Red with alpha of 50%\n"
+"var blended_color = bg.blend(fg) # Brown with alpha of 75%\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var bg = new Color(0.0f, 1.0f, 0.0f, 0.5f); // Green with alpha of 50%\n"
+"var fg = new Color(1.0f, 0.0f, 0.0f, 0.5f); // Red with alpha of 50%\n"
+"Color blendedColor = bg.Blend(fg); // Brown with alpha of 75%\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回将该颜色混合到给定颜色上所产生的新颜色。在绘画程序中,您可以将其想象为在"
+"该颜色(包括 alpha)上绘制的 [param over] 颜色。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var bg = Color(0.0, 1.0, 0.0, 0.5) # 50% 不透明的绿色\n"
+"var fg = Color(1.0, 0.0, 0.0, 0.5) # 50% 不透明的红色\n"
+"var blended_color = bg.blend(fg) # 75% 不透明的棕色\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var bg = new Color(0.0f, 1.0f, 0.0f, 0.5f); // 50% 不透明的绿色\n"
+"var fg = new Color(1.0f, 0.0f, 0.0f, 0.5f); // 50% 不透明的红色\n"
+"Color blendedColor = bg.Blend(fg); // 75% 不透明的棕色\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns a new color resulting from making this color darker by the specified "
+"[param amount] (ratio from 0.0 to 1.0). See also [method lightened].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var green = Color(0.0, 1.0, 0.0)\n"
+"var darkgreen = green.darkened(0.2) # 20% darker than regular green\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var green = new Color(0.0f, 1.0f, 0.0f);\n"
+"Color darkgreen = green.Darkened(0.2f); // 20% darker than regular green\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回通过指定 [param amount](从 0.0 到 1.0 的比率)使该颜色变暗而产生的新颜"
+"色。另见 [method lightened]。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var green = Color(0.0, 1.0, 0.0)\n"
+"var darkgreen = green.darkened(0.2) # 比普通的绿色深 20%\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var green = new Color(0.0f, 1.0f, 0.0f);\n"
+"Color darkgreen = green.Darkened(0.2f); // 比普通的绿色深 20%\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns a new color from [param rgba], an HTML hexadecimal color string. "
+"[param rgba] is not case-sensitive, and may be prefixed by a hash sign "
+"([code]#[/code]).\n"
+"[param rgba] must be a valid three-digit or six-digit hexadecimal color "
+"string, and may contain an alpha channel value. If [param rgba] does not "
+"contain an alpha channel value, an alpha channel value of 1.0 is applied. If "
+"[param rgba] is invalid, returns an empty color.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var blue = Color.html(\"#0000ff\") # blue is Color(0.0, 0.0, 1.0, 1.0)\n"
+"var green = Color.html(\"#0F0\") # green is Color(0.0, 1.0, 0.0, 1.0)\n"
+"var col = Color.html(\"663399cc\") # col is Color(0.4, 0.2, 0.6, 0.8)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var blue = Color.FromHtml(\"#0000ff\"); // blue is Color(0.0, 0.0, 1.0, "
+"1.0)\n"
+"var green = Color.FromHtml(\"#0F0\"); // green is Color(0.0, 1.0, 0.0, "
+"1.0)\n"
+"var col = Color.FromHtml(\"663399cc\"); // col is Color(0.4, 0.2, 0.6, 0.8)\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"从 HTML 十六进制颜色字符串 [param rgba] 返回一个新颜色。[param rgba] 不区分大"
+"小写,可以使用哈希符号([code]#[/code])作为前缀。\n"
+"[param rgba] 必须是有效的三位或六位十六进制颜色字符串,并且可以包含 alpha 通"
+"道值。如果 [param rgba] 不包含 alpha 通道值,则应用 alpha 通道值 1.0。如果 "
+"[param rgba] 无效,则返回一个空颜色。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var blue = Color.html(\"#0000ff\") # blue 为 Color(0.0, 0.0, 1.0, 1.0)\n"
+"var green = Color.html(\"#0F0\") # green 为 Color(0.0, 1.0, 0.0, 1.0)\n"
+"var col = Color.html(\"663399cc\") # col 为 Color(0.4, 0.2, 0.6, 0.8)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var blue = Color.FromHtml(\"#0000ff\"); // blue 为 Color(0.0, 0.0, 1.0, "
+"1.0)\n"
+"var green = Color.FromHtml(\"#0F0\"); // green 为 Color(0.0, 1.0, 0.0, "
+"1.0)\n"
+"var col = Color.FromHtml(\"663399cc\"); // col 为 Color(0.4, 0.2, 0.6, 0.8)\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Returns the linear interpolation between this color's components and [param "
"to]'s components. The interpolation factor [param weight] should be between "
"0.0 and 1.0 (inclusive). See also [method @GlobalScope.lerp].\n"
@@ -7291,6 +16290,233 @@ msgstr ""
"[/codeblocks]"
msgid ""
+"Returns a new color resulting from making this color lighter by the "
+"specified [param amount], which should be a ratio from 0.0 to 1.0. See also "
+"[method darkened].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var green = Color(0.0, 1.0, 0.0)\n"
+"var light_green = green.lightened(0.2) # 20% lighter than regular green\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var green = new Color(0.0f, 1.0f, 0.0f);\n"
+"Color lightGreen = green.Lightened(0.2f); // 20% lighter than regular green\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回通过指定 [param amount](从 0.0 到 1.0 的比率)使该颜色变亮而产生的新颜"
+"色。另见 [method darkened]。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var green = Color(0.0, 1.0, 0.0)\n"
+"var light_green = green.lightened(0.2) # 比普通的绿色要淡 20%\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var green = new Color(0.0f, 1.0f, 0.0f);\n"
+"Color lightGreen = green.Lightened(0.2f); // 比普通的绿色要淡 20%\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the color converted to a 32-bit integer in ABGR format (each "
+"component is 8 bits). ABGR is the reversed version of the default RGBA "
+"format.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_abgr32()) # Prints 4281565439\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1.0f, 0.5f, 0.2f);\n"
+"GD.Print(color.ToAbgr32()); // Prints 4281565439\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回转换为 ABGR 格式(每个分量为 8 位)的 32 位整数的颜色。ABGR 是默认 RGBA "
+"格式的反转版本。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_abgr32()) # 输出 4281565439\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1.0f, 0.5f, 0.2f);\n"
+"GD.Print(color.ToAbgr32()); // 输出 4281565439\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the color converted to a 64-bit integer in ABGR format (each "
+"component is 16 bits). ABGR is the reversed version of the default RGBA "
+"format.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_abgr64()) # Prints -225178692812801\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1.0f, 0.5f, 0.2f);\n"
+"GD.Print(color.ToAbgr64()); // Prints -225178692812801\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回转换为 ABGR 格式(每个分量为 16 位)的 64 位整数的颜色。ABGR 是默认 RGBA "
+"格式的反转版本。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_abgr64()) # 输出 -225178692812801\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1.0f, 0.5f, 0.2f);\n"
+"GD.Print(color.ToAbgr64()); // 输出 -225178692812801\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the color converted to a 32-bit integer in ARGB format (each "
+"component is 8 bits). ARGB is more compatible with DirectX.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_argb32()) # Prints 4294934323\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1.0f, 0.5f, 0.2f);\n"
+"GD.Print(color.ToArgb32()); // Prints 4294934323\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回转换为 ARGB 格式(每个分量为 8 位)的 32 位整数的颜色。ARGB 与 DirectX 更"
+"兼容。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_argb32()) # 输出 4294934323\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1.0f, 0.5f, 0.2f);\n"
+"GD.Print(color.ToArgb32()); // 输出 4294934323\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the color converted to a 64-bit integer in ARGB format (each "
+"component is 16 bits). ARGB is more compatible with DirectX.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_argb64()) # Prints -2147470541\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1.0f, 0.5f, 0.2f);\n"
+"GD.Print(color.ToArgb64()); // Prints -2147470541\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回转换为 ARGB 格式(每个分量为 16 位)的 64 位整数的颜色。ARGB 与 DirectX "
+"更兼容。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_argb64()) # 输出 -2147470541\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1.0f, 0.5f, 0.2f);\n"
+"GD.Print(color.ToArgb64()); // 输出 -2147470541\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the color converted to an HTML hexadecimal color [String] in RGBA "
+"format, without the hash ([code]#[/code]) prefix.\n"
+"Setting [param with_alpha] to [code]false[/code], excludes alpha from the "
+"hexadecimal string, using RGB format instead of RGBA format.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var white = Color(1, 1, 1, 0.5)\n"
+"var with_alpha = white.to_html() # Returns \"ffffff7f\"\n"
+"var without_alpha = white.to_html(false) # Returns \"ffffff\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var white = new Color(1, 1, 1, 0.5f);\n"
+"string withAlpha = white.ToHtml(); // Returns \"ffffff7f\"\n"
+"string withoutAlpha = white.ToHtml(false); // Returns \"ffffff\"\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回将该颜色转换为 RGBA 格式的 HTML 十六进制颜色 [String],不带([code]#[/"
+"code])前缀。\n"
+"将 [param with_alpha] 设置为 [code]false[/code],会从十六进制字符串中排除 "
+"alpha,使用 RGB 格式而不是 RGBA 格式。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var white = Color(1, 1, 1, 0.5)\n"
+"var with_alpha = white.to_html() # 返回 \"ffffff7f\"\n"
+"var without_alpha = white.to_html(false) # 返回 \"ffffff\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var white = new Color(1, 1, 1, 0.5f);\n"
+"string withAlpha = white.ToHtml(); // 返回 \"ffffff7f\"\n"
+"string withoutAlpha = white.ToHtml(false); // 返回 \"ffffff\"\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the color converted to a 32-bit integer in RGBA format (each "
+"component is 8 bits). RGBA is Godot's default format.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_rgba32()) # Prints 4286526463\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1, 0.5f, 0.2f);\n"
+"GD.Print(color.ToRgba32()); // Prints 4286526463\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回转换为 RGBA 格式(每个分量为 8 位)的 32 位整数的颜色。RGBA 是 Godot 的默"
+"认格式。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_rgba32()) # 输出 4286526463\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1, 0.5f, 0.2f);\n"
+"GD.Print(color.ToRgba32()); // 输出 4286526463\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the color converted to a 64-bit integer in RGBA format (each "
+"component is 16 bits). RGBA is Godot's default format.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_rgba64()) # Prints -140736629309441\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1, 0.5f, 0.2f);\n"
+"GD.Print(color.ToRgba64()); // Prints -140736629309441\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回转换为 RGBA 格式(每个分量为 16 位)的 64 位整数的颜色。RGBA 是 Godot 的"
+"默认格式。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var color = Color(1, 0.5, 0.2)\n"
+"print(color.to_rgba64()) # 输出 -140736629309441\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var color = new Color(1, 0.5f, 0.2f);\n"
+"GD.Print(color.ToRgba64()); // 输出 -140736629309441\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"The color's alpha component, typically on the range of 0 to 1. A value of 0 "
"means that the color is fully transparent. A value of 1 means that the color "
"is fully opaque."
@@ -7337,6 +16563,9 @@ msgstr "米黄色。"
msgid "Bisque color."
msgstr "橘黄色。"
+msgid "Black color. In GDScript, this is the default value of any color."
+msgstr "黑色。在 GDScript 中,这是所有颜色的默认值。"
+
msgid "Blue color."
msgstr "蓝色。"
@@ -7703,6 +16932,9 @@ msgstr "蓟色。"
msgid "Tomato color."
msgstr "番茄色。"
+msgid "Transparent color (white with zero alpha)."
+msgstr "透明色(Alpha 为零的白色)。"
+
msgid "Turquoise color."
msgstr "松石绿。"
@@ -7736,6 +16968,45 @@ msgstr "黄色。"
msgid "Yellow green color."
msgstr "黄绿色。"
+msgid ""
+"Returns [code]true[/code] if the colors are not exactly equal.\n"
+"[b]Note:[/b] Due to floating-point precision errors, consider using [method "
+"is_equal_approx] instead, which is more reliable."
+msgstr ""
+"如果颜色不完全相等,则返回 [code]true[/code]。\n"
+"[b]注意:[/b]由于浮点数精度误差,请考虑改用 [method is_equal_approx],会更可"
+"靠。"
+
+msgid ""
+"Multiplies each component of the [Color] by the components of the given "
+"[Color]."
+msgstr "将该 [Color] 的每个分量乘以给定 [Color] 的对应分量。"
+
+msgid "Multiplies each component of the [Color] by the given [float]."
+msgstr "将该 [Color] 的每个分量乘以给定的 [float]。"
+
+msgid "Multiplies each component of the [Color] by the given [int]."
+msgstr "将该 [Color] 的每个分量乘以给定的 [int]。"
+
+msgid ""
+"Adds each component of the [Color] with the components of the given [Color]."
+msgstr "将该 [Color] 的每个分量加上给定 [Color] 的对应分量。"
+
+msgid ""
+"Subtracts each component of the [Color] by the components of the given "
+"[Color]."
+msgstr "将该 [Color] 的每个分量减去给定 [Color] 的对应分量。"
+
+msgid ""
+"Divides each component of the [Color] by the components of the given [Color]."
+msgstr "将该 [Color] 的每个分量除以给定 [Color] 的每个分量。"
+
+msgid "Divides each component of the [Color] by the given [float]."
+msgstr "将该 [Color] 的每个分量除以给定的 [float]。"
+
+msgid "Divides each component of the [Color] by the given [int]."
+msgstr "将该 [Color] 的每个分量除以给定的 [int]。"
+
msgid "Color picker control."
msgstr "取色器控件。"
@@ -7870,20 +17141,40 @@ msgstr "[ColorPickerButton] 的图标和文本之间的水平间距。"
msgid "[Font] of the [ColorPickerButton]'s text."
msgstr "[ColorPickerButton] 文本的 [Font]。"
+msgid "Font size of the [ColorPickerButton]'s text."
+msgstr "[ColorPickerButton] 文本的字体大小。"
+
msgid "The background of the color preview rect on the button."
msgstr "颜色预览的背景将在按钮上显示。"
msgid "[StyleBox] used when the [ColorPickerButton] is disabled."
-msgstr "当 [ColorPickerButton] 被禁用时使用的 [StyleBox]。"
+msgstr "该 [ColorPickerButton] 处于禁用状态时使用的 [StyleBox]。"
+
+msgid ""
+"[StyleBox] used when the [ColorPickerButton] is focused. The [code]focus[/"
+"code] [StyleBox] is displayed [i]over[/i] the base [StyleBox], so a "
+"partially transparent [StyleBox] should be used to ensure the base "
+"[StyleBox] remains visible. A [StyleBox] that represents an outline or an "
+"underline works well for this purpose. To disable the focus visual effect, "
+"assign a [StyleBoxEmpty] resource. Note that disabling the focus visual "
+"effect will harm keyboard/controller navigation usability, so this is not "
+"recommended for accessibility reasons."
+msgstr ""
+"该 [ColorPickerButton] 处于聚焦状态时使用的 [StyleBox]。[code]focus[/code] "
+"[StyleBox] 显示在基础 [StyleBox] [i]之上[/i],所以应该使用部分透明的 "
+"[StyleBox],确保基础 [StyleBox] 仍然可见。代表轮廓或下划线的 [StyleBox] 可以"
+"很好地实现这个目的。要禁用聚焦的视觉效果,请指定 [StyleBoxEmpty] 资源。请注"
+"意,禁用聚焦的视觉效果会影响使用键盘/手柄进行导航的可用性,所以出于可访问性的"
+"原因,不建议这样做。"
msgid "[StyleBox] used when the [ColorPickerButton] is being hovered."
-msgstr "悬停 [ColorPickerButton] 时使用的 [StyleBox]。"
+msgstr "该 [ColorPickerButton] 处于悬停状态时使用的 [StyleBox]。"
msgid "Default [StyleBox] for the [ColorPickerButton]."
-msgstr "[ColorPickerButton] 的默认 [StyleBox]。"
+msgstr "该 [ColorPickerButton] 的默认 [StyleBox]。"
msgid "[StyleBox] used when the [ColorPickerButton] is being pressed."
-msgstr "按下 [ColorPickerButton] 时使用的 [StyleBox]。"
+msgstr "该 [ColorPickerButton] 处于按下状态时使用的 [StyleBox]。"
msgid "Colored rectangle."
msgstr "彩色矩形。"
@@ -7896,6 +17187,104 @@ msgstr ""
"[ReferenceRect] 代替。"
msgid ""
+"The fill color.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"$ColorRect.color = Color(1, 0, 0, 1) # Set ColorRect's color to red.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GetNode<ColorRect>(\"ColorRect\").Color = new Color(1, 0, 0, 1); // Set "
+"ColorRect's color to red.\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"填充色。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"$ColorRect.color = Color(1, 0, 0, 1) # 将 ColorRect 的颜色设置为红色。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GetNode<ColorRect>(\"ColorRect\").Color = new Color(1, 0, 0, 1); // 将 "
+"ColorRect 的颜色设置为红色。\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid "6-sided texture typically used in 3D rendering, optionally compressed."
+msgstr "6 面纹理,通常用于 3D 渲染,可选择压缩。"
+
+msgid ""
+"Array of 6-sided textures typically used in 3D rendering, optionally "
+"compressed."
+msgstr "6 面纹理的数组,通常用于 3D 渲染,可选择压缩。"
+
+msgid "Texture with 2 dimensions, optionally compressed."
+msgstr "二维纹理,可选择压缩。"
+
+msgid "Loads the texture from the specified [param path]."
+msgstr "从指定的路径 [param path] 加载纹理。"
+
+msgid "The [CompressedTexture2D]'s file path to a [code].ctex[/code] file."
+msgstr "该 [CompressedTexture2D] 的文件路径,指向 [code].ctex[/code] 文件。"
+
+msgid "Array of 2-dimensional textures, optionally compressed."
+msgstr "二维纹理的数组,可选择压缩。"
+
+msgid "Texture with 3 dimensions, optionally compressed."
+msgstr "三维纹理,可选择压缩。"
+
+msgid "The [CompressedTexture3D]'s file path to a [code].ctex3d[/code] file."
+msgstr "该 [CompressedTexture3D] 的文件路径,指向 [code].ctex3d[/code] 文件。"
+
+msgid "Base class for texture arrays that can optionally be compressed."
+msgstr "可压缩纹理数组的基类。"
+
+msgid "Loads the texture at [param path]."
+msgstr "从路径 [param path] 加载纹理。"
+
+msgid ""
+"2D concave polygon shape to be added as a [i]direct[/i] child of a "
+"[PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. It is made out "
+"of segments and is optimal for complex polygonal concave collisions. "
+"However, it is not advised to use for [RigidBody2D] nodes. A "
+"CollisionPolygon2D in convex decomposition mode (solids) or several convex "
+"objects are advised for that instead. Otherwise, a concave polygon 2D shape "
+"is better for static collisions.\n"
+"The main difference between a [ConvexPolygonShape2D] and a "
+"[ConcavePolygonShape2D] is that a concave polygon assumes it is concave and "
+"uses a more complex method of collision detection, and a convex one forces "
+"itself to be convex to speed up collision detection.\n"
+"[b]Performance:[/b] Due to its complexity, [ConcavePolygonShape2D] is the "
+"slowest collision shape to check collisions against. Its use should "
+"generally be limited to level geometry. For convex geometry, using "
+"[ConvexPolygonShape2D] will perform better. For dynamic physics bodies that "
+"need concave collision, several [ConvexPolygonShape2D]s can be used to "
+"represent its collision by using convex decomposition; see "
+"[ConvexPolygonShape2D]'s documentation for instructions. However, consider "
+"using primitive collision shapes such as [CircleShape2D] or "
+"[RectangleShape2D] first.\n"
+"[b]Warning:[/b] Using this shape for an [Area2D] (via a [CollisionShape2D] "
+"node) may give unexpected results: the area will only detect collisions with "
+"the segments in the [ConcavePolygonShape2D] (and not with any \"inside\" of "
+"the shape, for example)."
+msgstr ""
+"使用 [CollisionShape2D] 节点作为 [PhysicsBody2D] 或 [Area2D] 的[i]直接[/i]子"
+"节点添加的 2D 凹多边形形状。它由线段组成,最适合复杂的多边形凹面碰撞。但是,"
+"不建议用于 [RigidBody2D] 节点。建议改用凸分解模式(实体)的 "
+"CollisionPolygon2D 或多个凸对象。否则,凹多边形 2D 形状更适合静态碰撞。\n"
+"[ConvexPolygonShape2D] 和 [ConcavePolygonShape2D] 之间的主要区别在于,凹多边"
+"形假设它是凹的,并使用更复杂的碰撞检测方法,而凸多边形强制自身成为凸面以加速"
+"碰撞检测。\n"
+"[b]性能:[/b]由于其复杂性,[ConcavePolygonShape2D] 是检查碰撞时最慢的碰撞形"
+"状。它的使用通常应限于关卡几何。对于凸几何,使用 [ConvexPolygonShape2D] 会表"
+"现更好。对于需要凹碰撞的动态物理实体,可以用几个 [ConvexPolygonShape2D] 来表"
+"示它的碰撞,使用凸分解;有关说明,请参阅 [ConvexPolygonShape2D] 的文档。但"
+"是,请首先考虑使用原始碰撞形状,例如 [CircleShape2D] 或 "
+"[RectangleShape2D]。\n"
+"[b]警告:[/b]将该形状用于 [Area2D](通过 [CollisionShape2D] 节点)可能会产生"
+"意想不到的结果:该区域将仅检测与 [ConcavePolygonShape2D] 中的线段的碰撞(而非"
+"任何诸如形状的“内部”)。"
+
+msgid ""
"The array of points that make up the [ConcavePolygonShape2D]'s line segments."
msgstr "组成 [ConcavePolygonShape2D] 线段的点的数组。"
@@ -7934,7 +17323,7 @@ msgstr ""
"如果低于 0.05,则扭曲被锁定。"
msgid "Represents the size of the [enum Param] enum."
-msgstr "表示 [enum Param] 枚举的大小。"
+msgstr "代表 [enum Param] 枚举的大小。"
msgid "Helper class to handle INI-style files."
msgstr "用于处理 INI 样式文件的辅助类。"
@@ -7982,6 +17371,32 @@ msgid "Dialog for confirmation of actions."
msgstr "确认动作的对话框。"
msgid ""
+"Dialog for confirmation of actions. This dialog inherits from "
+"[AcceptDialog], but has by default an OK and Cancel button (in host OS "
+"order).\n"
+"To get cancel action, you can use:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"get_cancel_button().pressed.connect(self.canceled)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GetCancelButton().Pressed += Canceled;\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"用于确认操作的对话框。这个对话框继承自 [AcceptDialog],但默认有一个确定和取消"
+"按钮(按主机操作系统顺序)。\n"
+"要获得取消操作,你可以使用\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"get_cancel_button().pressed.connect(self.canceled)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GetCancelButton().Pressed += Canceled;\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Returns the cancel button.\n"
"[b]Warning:[/b] This is a required internal node, removing and freeing it "
"may cause a crash. If you wish to hide it or any of its children, use their "
@@ -8019,6 +17434,85 @@ msgid ""
"Notification for when sorting the children, it must be obeyed immediately."
msgstr "对子节点进行排序时的通知,必须立即服从。"
+msgid ""
+"All user interface nodes inherit from Control. A control's anchors and "
+"offsets adapt its position and size relative to its parent."
+msgstr ""
+"所有用户界面节点都继承自 Control(控件)。控件使用锚点和偏移来调整相对于父级"
+"的位置和大小。"
+
+msgid ""
+"Base class for all UI-related nodes. [Control] features a bounding rectangle "
+"that defines its extents, an anchor position relative to its parent control "
+"or the current viewport, and offsets relative to the anchor. The offsets "
+"update automatically when the node, any of its parents, or the screen size "
+"change.\n"
+"For more information on Godot's UI system, anchors, offsets, and containers, "
+"see the related tutorials in the manual. To build flexible UIs, you'll need "
+"a mix of UI elements that inherit from [Control] and [Container] nodes.\n"
+"[b]User Interface nodes and input[/b]\n"
+"Godot propagates input events via viewports. Each [Viewport] is responsible "
+"for propagating [InputEvent]s to their child nodes. As the [member SceneTree."
+"root] is a [Window], this already happens automatically for all UI elements "
+"in your game.\n"
+"Input events are propagated through the [SceneTree] from the root node to "
+"all child nodes by calling [method Node._input]. For UI elements "
+"specifically, it makes more sense to override the virtual method [method "
+"_gui_input], which filters out unrelated input events, such as by checking z-"
+"order, [member mouse_filter], focus, or if the event was inside of the "
+"control's bounding box.\n"
+"Call [method accept_event] so no other node receives the event. Once you "
+"accept an input, it becomes handled so [method Node._unhandled_input] will "
+"not process it.\n"
+"Only one [Control] node can be in focus. Only the node in focus will receive "
+"events. To get the focus, call [method grab_focus]. [Control] nodes lose "
+"focus when another node grabs it, or if you hide the node in focus.\n"
+"Sets [member mouse_filter] to [constant MOUSE_FILTER_IGNORE] to tell a "
+"[Control] node to ignore mouse or touch events. You'll need it if you place "
+"an icon on top of a button.\n"
+"[Theme] resources change the Control's appearance. If you change the [Theme] "
+"on a [Control] node, it affects all of its children. To override some of the "
+"theme's parameters, call one of the [code]add_theme_*_override[/code] "
+"methods, like [method add_theme_font_override]. You can override the theme "
+"with the Inspector.\n"
+"[b]Note:[/b] Theme items are [i]not[/i] [Object] properties. This means you "
+"can't access their values using [method Object.get] and [method Object.set]. "
+"Instead, use the [code]get_theme_*[/code] and [code]add_theme_*_override[/"
+"code] methods provided by this class."
+msgstr ""
+"所有 UI 相关节点的基类。[Control] 具有定义其范围的边界矩形,相对于父控件或当"
+"前视口的锚点位置,以及相对于锚点的偏移。当节点、任何父节点或屏幕尺寸发生变化"
+"时,偏移就会自动更新。\n"
+"更多关于 Godot 的 UI 系统、锚点、偏移和容器的信息,请参阅手册中的相关教程。要"
+"构建灵活的 UI,你需要混合使用从 [Control] 和 [Container] 节点继承的 UI 元"
+"素。\n"
+"[b]用户界面节点与输入[/b]\n"
+"Godot 使用视口来传播输入事件。视口负责将 [InputEvent] 传播给它的子节点。因为 "
+"[member SceneTree.root] 是 [Window],所以游戏中的所有 UI 元素都会自动进行传"
+"播。\n"
+"输入事件通过调用 [method Node._input] 在 [SceneTree] 中传播,从根节点传播到所"
+"有子节点。对 UI 元素而言,覆盖的最好是 [method _gui_input],可以过滤掉无关的"
+"输入事件,例如它会对 Z 顺序、[member mouse_filter]、焦点、事件是否在该控件的"
+"边界框内等条件进行检查。\n"
+"请调用 [method accept_event],这样其他节点就不会收到该事件。输入被接受后,就"
+"会被标记为已处理,[method Node._unhandled_input] 不会对它进行处理。\n"
+"只能有一个 [Control] 节点处于焦点。只有处于焦点的节点才会接收到事件。要获得焦"
+"点,请调用 [method grab_focus]。导致 [Control] 节点失去焦点的情况有:其他节点"
+"获得了焦点、隐藏了聚焦节点。\n"
+"将 [member mouse_filter] 设置为 [constant MOUSE_FILTER_IGNORE] 可以让 "
+"[Control] 节点忽略鼠标或触摸事件。如果你在按钮上放了一个图标,就会需要用"
+"到。\n"
+"[Theme] 资源会更改控件的外观。如果你更改了 [Control] 节点上的 [Theme],则会影"
+"响其所有子节点。要覆盖某些主题的参数,请调用 [code]add_theme_*_override[/"
+"code] 方法,例如 [method add_theme_font_override]。你可以使用检查器覆盖主"
+"题。\n"
+"[b]注意:[/b]主题项[i]不是[/i] [Object] 的属性。这意味着你无法使用 [method "
+"Object.get] 和 [method Object.set] 访问它们的值。请改用这个类的 "
+"[code]get_theme_*[/code] 和 [code]add_theme_*_override[/code] 方法。"
+
+msgid "GUI documentation index"
+msgstr "GUI 文档索引"
+
msgid "Control node gallery"
msgstr "控件节点一览"
@@ -8026,6 +17520,333 @@ msgid "All GUI Demos"
msgstr "所有 GUI 演示"
msgid ""
+"Godot calls this method to test if [param data] from a control's [method "
+"_get_drag_data] can be dropped at [param at_position]. [param at_position] "
+"is local to this control.\n"
+"This method should only be used to test the data. Process the data in "
+"[method _drop_data].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _can_drop_data(position, data):\n"
+" # Check position if it is relevant to you\n"
+" # Otherwise, just check data\n"
+" return typeof(data) == TYPE_DICTIONARY and data.has(\"expected\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override bool _CanDropData(Vector2 atPosition, Variant data)\n"
+"{\n"
+" // Check position if it is relevant to you\n"
+" // Otherwise, just check data\n"
+" return data.VariantType == Variant.Type.Dictionary && data."
+"AsGodotDictionary().Contains(\"expected\");\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"Godot 调用该方法来测试是否可以将控件的 [method _get_drag_data] 中的 [param "
+"data] 放在 [param at_position] 处。[param at_position] 是该控件的局部位置。\n"
+"此方法应仅用于测试数据。处理 [method _drop_data] 中的数据。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _can_drop_data(position, data):\n"
+" # 如果 position 与您相关则检查它\n"
+" # 否则,只检查 data\n"
+" return typeof(data) == TYPE_DICTIONARY and data.has(\"expected\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override bool _CanDropData(Vector2 atPosition, Variant data)\n"
+"{\n"
+" // 如果 position 与您相关则检查它\n"
+" // 否则,只检查 data\n"
+" return data.VariantType == Variant.Type.Dictionary && data."
+"AsGodotDictionary().Contains(\"expected\");\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Godot calls this method to pass you the [param data] from a control's "
+"[method _get_drag_data] result. Godot first calls [method _can_drop_data] to "
+"test if [param data] is allowed to drop at [param at_position] where [param "
+"at_position] is local to this control.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _can_drop_data(position, data):\n"
+" return typeof(data) == TYPE_DICTIONARY and data.has(\"color\")\n"
+"\n"
+"func _drop_data(position, data):\n"
+" var color = data[\"color\"]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override bool _CanDropData(Vector2 atPosition, Variant data)\n"
+"{\n"
+" return data.VariantType == Variant.Type.Dictionary && dict."
+"AsGodotDictionary().Contains(\"color\");\n"
+"}\n"
+"\n"
+"public override void _DropData(Vector2 atPosition, Variant data)\n"
+"{\n"
+" Color color = data.AsGodotDictionary()[\"color\"].AsColor();\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"Godot 调用该方法从控件的 [method _get_drag_data] 结果中向您传递 [param "
+"data]。Godot 首先调用 [method _can_drop_data] 来测试是否允许 [param data] 在 "
+"[param at_position] 处放置,其中 [param at_position] 是该控件的局部位置。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _can_drop_data(position, data):\n"
+" return typeof(data) == TYPE_DICTIONARY and data.has(\"color\")\n"
+"\n"
+"func _drop_data(position, data):\n"
+" var color = data[\"color\"]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override bool _CanDropData(Vector2 atPosition, Variant data)\n"
+"{\n"
+" return data.VariantType == Variant.Type.Dictionary && dict."
+"AsGodotDictionary().Contains(\"color\");\n"
+"}\n"
+"\n"
+"public override void _DropData(Vector2 atPosition, Variant data)\n"
+"{\n"
+" Color color = data.AsGodotDictionary()[\"color\"].AsColor();\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Godot calls this method to get data that can be dragged and dropped onto "
+"controls that expect drop data. Returns [code]null[/code] if there is no "
+"data to drag. Controls that want to receive drop data should implement "
+"[method _can_drop_data] and [method _drop_data]. [param at_position] is "
+"local to this control. Drag may be forced with [method force_drag].\n"
+"A preview that will follow the mouse that should represent the data can be "
+"set with [method set_drag_preview]. A good time to set the preview is in "
+"this method.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _get_drag_data(position):\n"
+" var mydata = make_data() # This is your custom method generating the "
+"drag data.\n"
+" set_drag_preview(make_preview(mydata)) # This is your custom method "
+"generating the preview of the drag data.\n"
+" return mydata\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override Variant _GetDragData(Vector2 atPosition)\n"
+"{\n"
+" var myData = MakeData(); // This is your custom method generating the "
+"drag data.\n"
+" SetDragPreview(MakePreview(myData)); // This is your custom method "
+"generating the preview of the drag data.\n"
+" return myData;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"Godot 调用该方法来获取可以拖放到期望放置数据的控件上的数据。如果没有要拖动的"
+"数据,则返回 [code]null[/code]。想要接收拖放数据的控件应该实现 [method "
+"_can_drop_data] 和 [method _drop_data]。[param at_position] 是该控件的局部位"
+"置。可以使用 [method force_drag] 强制拖动。\n"
+"可以使用 [method set_drag_preview] 设置跟随鼠标显示数据的预览。设置预览的好时"
+"机就是在这个方法中。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _get_drag_data(position):\n"
+" var mydata = make_data() # This is your custom method generating the "
+"drag data.\n"
+" set_drag_preview(make_preview(mydata)) # 这是您生成拖动数据预览的自定义方"
+"法。\n"
+" return mydata\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override Variant _GetDragData(Vector2 atPosition)\n"
+"{\n"
+" var myData = MakeData(); // This is your custom method generating the "
+"drag data.\n"
+" SetDragPreview(MakePreview(myData)); // 这是您生成拖动数据预览的自定义方"
+"法。\n"
+" return myData;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Virtual method to be implemented by the user. Use this method to process and "
+"accept inputs on UI elements. See [method accept_event].\n"
+"[b]Example usage for clicking a control:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _gui_input(event):\n"
+" if event is InputEventMouseButton:\n"
+" if event.button_index == MOUSE_BUTTON_LEFT and event.pressed:\n"
+" print(\"I've been clicked D:\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _GuiInput(InputEvent @event)\n"
+"{\n"
+" if (@event is InputEventMouseButton mb)\n"
+" {\n"
+" if (mb.ButtonIndex == MouseButton.Left && mb.Pressed)\n"
+" {\n"
+" GD.Print(\"I've been clicked D:\");\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"The event won't trigger if:\n"
+"* clicking outside the control (see [method _has_point]);\n"
+"* control has [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];\n"
+"* control is obstructed by another [Control] on top of it, which doesn't "
+"have [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];\n"
+"* control's parent has [member mouse_filter] set to [constant "
+"MOUSE_FILTER_STOP] or has accepted the event;\n"
+"* it happens outside the parent's rectangle and the parent has either "
+"[member clip_contents] enabled.\n"
+"[b]Note:[/b] Event position is relative to the control origin."
+msgstr ""
+"由用户实现的虚方法。使用此方法处理和接受 UI 元素上的输入。请参阅 [method "
+"accept_event]。\n"
+"[b]点击控件的用法示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _gui_input(event):\n"
+" if event is InputEventMouseButton:\n"
+" if event.button_index == MOUSE_BUTTON_LEFT and event.pressed:\n"
+" print(\"我已被点击 D:\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _GuiInput(InputEvent @event)\n"
+"{\n"
+" if (@event is InputEventMouseButton mb)\n"
+" {\n"
+" if (mb.ButtonIndex == MouseButton.Left && mb.Pressed)\n"
+" {\n"
+" GD.Print(\"我已被点击 D:\");\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"如果出现以下情况,则不会触发该事件:\n"
+"* 在控件外点击(参阅[method _has_point]);\n"
+"* 控件将 [member mouse_filter] 设置为 [constant MOUSE_FILTER_IGNORE];\n"
+"* 控件被其上的另一个 [Control] 阻挡,该控件没有将 [member mouse_filter] 设置"
+"为 [constant MOUSE_FILTER_IGNORE];\n"
+"* 控件的父级已将 [member mouse_filter] 设置为 [constant MOUSE_FILTER_STOP] 或"
+"已接受该事件;\n"
+"* 它发生在父级的矩形之外,并且父级已启用 [member clip_contents]。\n"
+"[b]注意:[/b]事件位置相对于该控件原点。"
+
+msgid ""
+"Virtual method to be implemented by the user. Returns a [Control] node that "
+"should be used as a tooltip instead of the default one. The [param for_text] "
+"includes the contents of the [member tooltip_text] property.\n"
+"The returned node must be of type [Control] or Control-derived. It can have "
+"child nodes of any type. It is freed when the tooltip disappears, so make "
+"sure you always provide a new instance (if you want to use a pre-existing "
+"node from your scene tree, you can duplicate it and pass the duplicated "
+"instance). When [code]null[/code] or a non-Control node is returned, the "
+"default tooltip will be used instead.\n"
+"The returned node will be added as child to a [PopupPanel], so you should "
+"only provide the contents of that panel. That [PopupPanel] can be themed "
+"using [method Theme.set_stylebox] for the type [code]\"TooltipPanel\"[/code] "
+"(see [member tooltip_text] for an example).\n"
+"[b]Note:[/b] The tooltip is shrunk to minimal size. If you want to ensure "
+"it's fully visible, you might want to set its [member custom_minimum_size] "
+"to some non-zero value.\n"
+"[b]Note:[/b] The node (and any relevant children) should be [member "
+"CanvasItem.visible] when returned, otherwise, the viewport that instantiates "
+"it will not be able to calculate its minimum size reliably.\n"
+"[b]Example of usage with a custom-constructed node:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _make_custom_tooltip(for_text):\n"
+" var label = Label.new()\n"
+" label.text = for_text\n"
+" return label\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override Control _MakeCustomTooltip(string forText)\n"
+"{\n"
+" var label = new Label();\n"
+" label.Text = forText;\n"
+" return label;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Example of usage with a custom scene instance:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _make_custom_tooltip(for_text):\n"
+" var tooltip = preload(\"res://some_tooltip_scene.tscn\").instantiate()\n"
+" tooltip.get_node(\"Label\").text = for_text\n"
+" return tooltip\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override Control _MakeCustomTooltip(string forText)\n"
+"{\n"
+" Node tooltip = ResourceLoader.Load<PackedScene>(\"res://"
+"some_tooltip_scene.tscn\").Instantiate();\n"
+" tooltip.GetNode<Label>(\"Label\").Text = forText;\n"
+" return tooltip;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"由用户实现的虚方法。返回一个 [Control] 节点,该节点取代默认节点以用作工具提"
+"示。[param for_text] 包含 [member tooltip_text] 属性的内容。\n"
+"返回的节点必须是 [Control] 类型或 Control 派生类型。它可以有任何类型的子节"
+"点。当工具提示消失时它会被释放,因此请确保您始终提供一个新实例(如果您想使用"
+"场景树中预先存在的节点,您可以复制它并传递复制的实例)。当返回 [code]null[/"
+"code] 或非控制节点时,将使用默认的工具提示。\n"
+"返回的节点将作为子节点添加到 [PopupPanel],因此您应该只提供该面板的内容。该 "
+"[PopupPanel] 可以使用 [method Theme.set_stylebox] 为类型 "
+"[code]\"TooltipPanel\"[/code] 设置主题(参见 [member tooltip_text] 示例)。\n"
+"[b]注意:[/b]工具提示会被缩小到最小大小。如果您想确保它完全可见,您可能需要将"
+"其 [member custom_minimum_size] 设置为非零值。\n"
+"[b]注意:[/b]返回时节点(和任何相关的子节点)应该是 [member CanvasItem."
+"visible],否则,实例化它的视口将无法可靠地计算它的最小大小。\n"
+"[b]自定义构造节点的用法示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _make_custom_tooltip(for_text):\n"
+" var label = Label.new()\n"
+" label.text = for_text\n"
+" return label\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override Control _MakeCustomTooltip(string forText)\n"
+"{\n"
+" var label = new Label();\n"
+" label.Text = forText;\n"
+" return label;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]自定义场景实例的使用示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _make_custom_tooltip(for_text):\n"
+" var tooltip = preload(\"res://some_tooltip_scene.tscn\").instantiate()\n"
+" tooltip.get_node(\"Label\").text = for_text\n"
+" return tooltip\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override Control _MakeCustomTooltip(string forText)\n"
+"{\n"
+" Node tooltip = ResourceLoader.Load<PackedScene>(\"res://"
+"some_tooltip_scene.tscn\").Instantiate();\n"
+" tooltip.GetNode<Label>(\"Label\").Text = forText;\n"
+" return tooltip;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Marks an input event as handled. Once you accept an input event, it stops "
"propagating, even to nodes listening to [method Node._unhandled_input] or "
"[method Node._unhandled_key_input]."
@@ -8034,6 +17855,87 @@ msgstr ""
"[method Node._unhandled_input] 和 [method Node._unhandled_key_input] 的节点。"
msgid ""
+"Creates a local override for a theme [Font] with the specified [param name]. "
+"Local overrides always take precedence when fetching theme items for the "
+"control. An override can be removed with [method "
+"remove_theme_font_override].\n"
+"See also [method get_theme_font]."
+msgstr ""
+"为具有指定 [param name] 的主题 [Font] 创建本地覆盖。在获取控件的主题项时,本"
+"地覆盖始终优先。覆盖可以使用 [method remove_theme_font_override] 移除。\n"
+"另见 [method get_theme_font]。"
+
+msgid ""
+"Creates a local override for a theme [StyleBox] with the specified [param "
+"name]. Local overrides always take precedence when fetching theme items for "
+"the control. An override can be removed with [method "
+"remove_theme_stylebox_override].\n"
+"See also [method get_theme_stylebox].\n"
+"[b]Example of modifying a property in a StyleBox by duplicating it:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# The snippet below assumes the child node MyButton has a StyleBoxFlat "
+"assigned.\n"
+"# Resources are shared across instances, so we need to duplicate it\n"
+"# to avoid modifying the appearance of all other buttons.\n"
+"var new_stylebox_normal = $MyButton.get_theme_stylebox(\"normal\")."
+"duplicate()\n"
+"new_stylebox_normal.border_width_top = 3\n"
+"new_stylebox_normal.border_color = Color(0, 1, 0.5)\n"
+"$MyButton.add_theme_stylebox_override(\"normal\", new_stylebox_normal)\n"
+"# Remove the stylebox override.\n"
+"$MyButton.remove_theme_stylebox_override(\"normal\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// The snippet below assumes the child node MyButton has a StyleBoxFlat "
+"assigned.\n"
+"// Resources are shared across instances, so we need to duplicate it\n"
+"// to avoid modifying the appearance of all other buttons.\n"
+"StyleBoxFlat newStyleboxNormal = GetNode<Button>(\"MyButton\")."
+"GetThemeStylebox(\"normal\").Duplicate() as StyleBoxFlat;\n"
+"newStyleboxNormal.BorderWidthTop = 3;\n"
+"newStyleboxNormal.BorderColor = new Color(0, 1, 0.5f);\n"
+"GetNode<Button>(\"MyButton\").AddThemeStyleboxOverride(\"normal\", "
+"newStyleboxNormal);\n"
+"// Remove the stylebox override.\n"
+"GetNode<Button>(\"MyButton\").RemoveThemeStyleboxOverride(\"normal\");\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"使用指定的 [param name] 为主题 [StyleBox] 创建本地覆盖。在获取控件的主题项"
+"时,本地覆盖始终优先。覆盖可以使用 [method remove_theme_stylebox_override] 移"
+"除。\n"
+"另见 [method get_theme_stylebox]。\n"
+"[b]通过复制来修改 StyleBox 中的属性的示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 下面的代码片段假设子节点 MyButton 分配了一个 StyleBoxFlat。\n"
+"# 资源是跨实例共享的,所以我们需要复制它\n"
+"# 以避免修改所有其他按钮的外观。\n"
+"var new_stylebox_normal = $MyButton.get_theme_stylebox(\"normal\")."
+"duplicate()\n"
+"new_stylebox_normal.border_width_top = 3\n"
+"new_stylebox_normal.border_color = Color(0, 1, 0.5)\n"
+"$MyButton.add_theme_stylebox_override(\"normal\", new_stylebox_normal)\n"
+"# 移除样式盒覆盖。\n"
+"$MyButton.remove_theme_stylebox_override(\"normal\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 下面的代码片段假设子节点 MyButton 分配了一个 StyleBoxFlat。\n"
+"// 资源是跨实例共享的,所以我们需要复制它\n"
+"// 以避免修改所有其他按钮的外观。\n"
+"StyleBoxFlat newStyleboxNormal = GetNode<Button>(\"MyButton\")."
+"GetThemeStylebox(\"normal\").Duplicate() as StyleBoxFlat;\n"
+"newStyleboxNormal.BorderWidthTop = 3;\n"
+"newStyleboxNormal.BorderColor = new Color(0, 1, 0.5f);\n"
+"GetNode<Button>(\"MyButton\").AddThemeStyleboxOverride(\"normal\", "
+"newStyleboxNormal);\n"
+"// 移除样式盒覆盖。\n"
+"GetNode<Button>(\"MyButton\").RemoveThemeStyleboxOverride(\"normal\");\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Finds the next (below in the tree) [Control] that can receive the focus."
msgstr "找到下一个可以接受焦点的 [Control],在树的下方。"
@@ -8053,12 +17955,262 @@ msgid "Returns the parent control node."
msgstr "返回父控制节点。"
msgid ""
+"Returns a [Color] from the first matching [Theme] in the tree if that "
+"[Theme] has a color item with the specified [param name] and [param "
+"theme_type]. If [param theme_type] is omitted the class name of the current "
+"control is used as the type, or [member theme_type_variation] if it is "
+"defined. If the type is a class name its parent classes are also checked, in "
+"order of inheritance. If the type is a variation its base types are checked, "
+"in order of dependency, then the control's class name and its parent classes "
+"are checked.\n"
+"For the current control its local overrides are considered first (see "
+"[method add_theme_color_override]), then its assigned [member theme]. After "
+"the current control, each parent control and its assigned [member theme] are "
+"considered; controls without a [member theme] assigned are skipped. If no "
+"matching [Theme] is found in the tree, the custom project [Theme] (see "
+"[member ProjectSettings.gui/theme/custom]) and the default [Theme] are used "
+"(see [ThemeDB]).\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _ready():\n"
+" # Get the font color defined for the current Control's class, if it "
+"exists.\n"
+" modulate = get_theme_color(\"font_color\")\n"
+" # Get the font color defined for the Button class.\n"
+" modulate = get_theme_color(\"font_color\", \"Button\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Ready()\n"
+"{\n"
+" // Get the font color defined for the current Control's class, if it "
+"exists.\n"
+" Modulate = GetThemeColor(\"font_color\");\n"
+" // Get the font color defined for the Button class.\n"
+" Modulate = GetThemeColor(\"font_color\", \"Button\");\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"从树中第一个匹配的 [Theme] 返回 [Color],该 [Theme] 中应存在指定名称 [param "
+"name] 和主题类型 [param theme_type] 的颜色项。如果省略 [param theme_type] 则"
+"会使用当前控件的类名,如果定义了 [member theme_type_variation] 则会优先使用。"
+"如果该类型为类名,则还会按照继承顺序检查父类。如果该类型为变种,则还会按照依"
+"赖顺序检查基础类型,然后再检查该控件的类名及其父类。\n"
+"会首先考虑当前控件的本地覆盖项(见 [method add_theme_color_override]),然后"
+"才是其 [member theme]。各个父控件及其 [member theme] 在当前控件之后考虑;会跳"
+"过没有 [member theme] 的控件。如果树中没有匹配的 [Theme],则会使用自定义项目 "
+"[Theme](见 [member ProjectSettings.gui/theme/custom])和默认 [Theme](见 "
+"[ThemeDB])。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _ready():\n"
+" # 获取当前 Control 类中定义的字体颜色,前提是存在。\n"
+" modulate = get_theme_color(\"font_color\")\n"
+" # 获取 Button 类中定义的字体颜色。\n"
+" modulate = get_theme_color(\"font_color\", \"Button\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Ready()\n"
+"{\n"
+" // 获取当前 Control 类中定义的字体颜色,前提是存在。\n"
+" Modulate = GetThemeColor(\"font_color\");\n"
+" // 获取 Button 类中定义的字体颜色。\n"
+" Modulate = GetThemeColor(\"font_color\", \"Button\");\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns a constant from the first matching [Theme] in the tree if that "
+"[Theme] has a constant item with the specified [param name] and [param "
+"theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"从树中第一个匹配的 [Theme] 返回常量,该 [Theme] 中应存在指定名称 [param "
+"name] 和主题类型 [param theme_type] 的常量项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns the default base scale value from the first matching [Theme] in the "
+"tree if that [Theme] has a valid [member Theme.default_base_scale] value.\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"从树中第一个匹配的 [Theme] 返回默认基础缩放值,该 [Theme] 中应存在有效的 "
+"[member Theme.default_base_scale] 值。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns the default font from the first matching [Theme] in the tree if that "
+"[Theme] has a valid [member Theme.default_font] value.\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"从树中第一个匹配的 [Theme] 返回默认字体,该 [Theme] 中应存在有效的 [member "
+"Theme.default_font] 值。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns the default font size value from the first matching [Theme] in the "
+"tree if that [Theme] has a valid [member Theme.default_font_size] value.\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"从树中第一个匹配的 [Theme] 返回默认字体大小,该 [Theme] 中应存在有效的 "
+"[member Theme.default_font_size] 值。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns a [Font] from the first matching [Theme] in the tree if that [Theme] "
+"has a font item with the specified [param name] and [param theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"从树中第一个匹配的 [Theme] 返回 [Font],该 [Theme] 中应存在指定名称 [param "
+"name] 和主题类型 [param theme_type] 的字体项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns a font size from the first matching [Theme] in the tree if that "
+"[Theme] has a font size item with the specified [param name] and [param "
+"theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"从树中第一个匹配的 [Theme] 返回字体大小,该 [Theme] 中应存在指定名称 [param "
+"name] 和主题类型 [param theme_type] 的字体大小项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns an icon from the first matching [Theme] in the tree if that [Theme] "
+"has an icon item with the specified [param name] and [param theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"从树中第一个匹配的 [Theme] 返回图标,该 [Theme] 中应存在指定名称 [param "
+"name] 和主题类型 [param theme_type] 的图标项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns a [StyleBox] from the first matching [Theme] in the tree if that "
+"[Theme] has a stylebox item with the specified [param name] and [param "
+"theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"从树中第一个匹配的 [Theme] 返回 [StyleBox],该 [Theme] 中应存在指定名称 "
+"[param name] 和主题类型 [param theme_type] 的样式盒项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
"Returns [code]true[/code] if this is the current focused control. See "
"[member focus_mode]."
msgstr ""
"如果这是当前的焦点控件,则返回 [code]true[/code]。见 [member focus_mode]。"
msgid ""
+"Returns [code]true[/code] if there is a matching [Theme] in the tree that "
+"has a color item with the specified [param name] and [param theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"如果树中存在匹配的 [Theme] 则返回 [code]true[/code],该 [Theme] 中应存在指定"
+"名称 [param name] 和主题类型 [param theme_type] 的颜色项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a local override for a theme [Color] "
+"with the specified [param name] in this [Control] node.\n"
+"See [method add_theme_color_override]."
+msgstr ""
+"如果该 [Control] 节点中存在名为指定 [param name] 的主题 [Color] 本地覆盖项,"
+"则返回 [code]true[/code]。\n"
+"详情请参阅 [method add_theme_color_override]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a matching [Theme] in the tree that "
+"has a constant item with the specified [param name] and [param theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"如果树中存在匹配的 [Theme] 则返回 [code]true[/code],该 [Theme] 中应存在指定"
+"名称 [param name] 和主题类型 [param theme_type] 的常量项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a local override for a theme constant "
+"with the specified [param name] in this [Control] node.\n"
+"See [method add_theme_constant_override]."
+msgstr ""
+"如果该 [Control] 节点中存在名为指定 [param name] 的主题常量本地覆盖项,则返"
+"回 [code]true[/code]。\n"
+"详情请参阅 [method add_theme_constant_override]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a matching [Theme] in the tree that "
+"has a font item with the specified [param name] and [param theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"如果树中存在匹配的 [Theme] 则返回 [code]true[/code],该 [Theme] 中应存在指定"
+"名称 [param name] 和主题类型 [param theme_type] 的字体项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a local override for a theme [Font] "
+"with the specified [param name] in this [Control] node.\n"
+"See [method add_theme_font_override]."
+msgstr ""
+"如果该 [Control] 节点中存在名为指定 [param name] 的主题 [Font] 本地覆盖项,则"
+"返回 [code]true[/code]。\n"
+"详情请参阅 [method add_theme_font_override]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a matching [Theme] in the tree that "
+"has a font size item with the specified [param name] and [param "
+"theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"如果树中存在匹配的 [Theme] 则返回 [code]true[/code],该 [Theme] 中应存在指定"
+"名称 [param name] 和主题类型 [param theme_type] 的字体大小项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a local override for a theme font size "
+"with the specified [param name] in this [Control] node.\n"
+"See [method add_theme_font_size_override]."
+msgstr ""
+"如果该 [Control] 节点中存在名为指定 [param name] 的主题字体大小本地覆盖项,则"
+"返回 [code]true[/code]。\n"
+"详情请参阅 [method add_theme_font_size_override]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a matching [Theme] in the tree that "
+"has an icon item with the specified [param name] and [param theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"如果树中存在匹配的 [Theme] 则返回 [code]true[/code],该 [Theme] 中应存在指定"
+"名称 [param name] 和主题类型 [param theme_type] 的图标项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a local override for a theme icon with "
+"the specified [param name] in this [Control] node.\n"
+"See [method add_theme_icon_override]."
+msgstr ""
+"如果该 [Control] 节点中存在名为指定 [param name] 的主题图标本地覆盖项,则返"
+"回 [code]true[/code]。\n"
+"详情请参阅 [method add_theme_icon_override]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a matching [Theme] in the tree that "
+"has a stylebox item with the specified [param name] and [param theme_type].\n"
+"See [method get_theme_color] for details."
+msgstr ""
+"如果树中存在匹配的 [Theme] 则返回 [code]true[/code],该 [Theme] 中应存在指定"
+"名称 [param name] 和主题类型 [param theme_type] 的样式盒项。\n"
+"详情请参阅 [method get_theme_color]。"
+
+msgid ""
+"Returns [code]true[/code] if there is a local override for a theme "
+"[StyleBox] with the specified [param name] in this [Control] node.\n"
+"See [method add_theme_stylebox_override]."
+msgstr ""
+"如果该 [Control] 节点中存在名为指定 [param name] 的主题 [StyleBox] 本地覆盖"
+"项,则返回 [code]true[/code]。\n"
+"详情请参阅 [method add_theme_stylebox_override]。"
+
+msgid ""
"Returns [code]true[/code] if a drag operation is successful. Alternative to "
"[method Viewport.gui_is_drag_successful].\n"
"Best used with [constant Node.NOTIFICATION_DRAG_END]."
@@ -8067,6 +18219,91 @@ msgstr ""
"gui_is_drag_successful] 的替代方案。\n"
"建议与 [constant Node.NOTIFICATION_DRAG_END] 配合使用。"
+msgid "Returns [code]true[/code] if layout is right-to-left."
+msgstr "如果布局是从右至左的,则返回 [code]true[/code]。"
+
+msgid "Give up the focus. No other control will be able to receive input."
+msgstr "放弃焦点。不会让其他控件能够接收键盘输入。"
+
+msgid ""
+"Removes a local override for a theme [Color] with the specified [param name] "
+"previously added by [method add_theme_color_override] or via the Inspector "
+"dock."
+msgstr ""
+"移除名为指定 [param name] 的主题 [Color] 本地覆盖项,该覆盖项由 [method "
+"add_theme_color_override] 或检查器面板添加的。"
+
+msgid ""
+"Removes a local override for a theme constant with the specified [param "
+"name] previously added by [method add_theme_constant_override] or via the "
+"Inspector dock."
+msgstr ""
+"移除名为指定 [param name] 的主题常量本地覆盖项,该覆盖项由 [method "
+"add_theme_constant_override] 或检查器面板添加的。"
+
+msgid ""
+"Removes a local override for a theme [Font] with the specified [param name] "
+"previously added by [method add_theme_font_override] or via the Inspector "
+"dock."
+msgstr ""
+"移除名为指定 [param name] 的主题 [Font] 本地覆盖项,该覆盖项由 [method "
+"add_theme_font_override] 或检查器面板添加的。"
+
+msgid ""
+"Removes a local override for a theme font size with the specified [param "
+"name] previously added by [method add_theme_font_size_override] or via the "
+"Inspector dock."
+msgstr ""
+"移除名为指定 [param name] 的主题字体大小本地覆盖项,该覆盖项由 [method "
+"add_theme_font_size_override] 或检查器面板添加的。"
+
+msgid ""
+"Removes a local override for a theme icon with the specified [param name] "
+"previously added by [method add_theme_icon_override] or via the Inspector "
+"dock."
+msgstr ""
+"移除名为指定 [param name] 的主题图标本地覆盖项,该覆盖项由 [method "
+"add_theme_icon_override] 或检查器面板添加的。"
+
+msgid ""
+"Removes a local override for a theme [StyleBox] with the specified [param "
+"name] previously added by [method add_theme_stylebox_override] or via the "
+"Inspector dock."
+msgstr ""
+"移除名为指定 [param name] 的主题 [StyleBox] 本地覆盖项,该覆盖项由 [method "
+"add_theme_stylebox_override] 或检查器面板添加的。"
+
+msgid ""
+"Moves the mouse cursor to [param position], relative to [member position] of "
+"this [Control].\n"
+"[b]Note:[/b] [method warp_mouse] is only supported on Windows, macOS and "
+"Linux. It has no effect on Android, iOS and Web."
+msgstr ""
+"将鼠标光标移动到 [param position],相对于该 [Control] 的 [member "
+"position]。\n"
+"[b]注意:[/b][method warp_mouse] 仅在 Windows、macOS 和 Linux 上受支持。它在 "
+"Android、iOS 和 Web 上没有效果。"
+
+msgid ""
+"Toggles if any text should automatically change to its translated version "
+"depending on the current locale. Note that this will not affect any internal "
+"nodes (e.g. the popup of a [MenuButton]).\n"
+"Also decides if the node's strings should be parsed for POT generation."
+msgstr ""
+"切换是否所有文本都应该根据当前区域设置自动变为翻译后的版本。请注意,内部节点"
+"不受影响(例如 [MenuButton] 的弹出内容)。\n"
+"还会决定生成 POT 时是否应解析该节点中的字符串。"
+
+msgid ""
+"Enables whether rendering of [CanvasItem] based children should be clipped "
+"to this control's rectangle. If [code]true[/code], parts of a child which "
+"would be visibly outside of this control's rectangle will not be rendered "
+"and won't receive input."
+msgstr ""
+"渲染基于 [CanvasItem] 的子节点时,是否应剪裁到该控件的矩形中。如果为 "
+"[code]true[/code],则子节点显示在该控件的矩形范围之外的部分,不会渲染,也不会"
+"接收输入。"
+
msgid ""
"The minimum size of the node's bounding rectangle. If you set it to a value "
"greater than (0, 0), the node's bounding rectangle will always have at least "
@@ -8078,6 +18315,83 @@ msgstr ""
"其内容,无论是纹理还是子节点。"
msgid ""
+"Tells Godot which node it should give focus to if the user presses the down "
+"arrow on the keyboard or down on a gamepad by default. You can change the "
+"key by editing the [member ProjectSettings.input/ui_down] input action. The "
+"node must be a [Control]. If this property is not set, Godot will give focus "
+"to the closest [Control] to the bottom of this one."
+msgstr ""
+"告诉 Godot 在默认情况下,当用户按下键盘上的向下箭头或游戏手柄上的向下键时,应"
+"将焦点交给哪个节点。你可以通过编辑 [member ProjectSettings.input/ui_down] 的"
+"输入动作来更改按键。该节点必须为 [Control]。如果未设置此属性,则 Godot 会将焦"
+"点交给与该控件底部最接近的 [Control]。"
+
+msgid ""
+"Tells Godot which node it should give focus to if the user presses the left "
+"arrow on the keyboard or left on a gamepad by default. You can change the "
+"key by editing the [member ProjectSettings.input/ui_left] input action. The "
+"node must be a [Control]. If this property is not set, Godot will give focus "
+"to the closest [Control] to the left of this one."
+msgstr ""
+"告诉 Godot 在默认情况下,当用户按下键盘上的向左箭头或游戏手柄上的向左键时,应"
+"将焦点交给哪个节点。你可以通过编辑 [member ProjectSettings.input/ui_left] 的"
+"输入动作来更改按键。该节点必须为 [Control]。如果未设置此属性,则 Godot 会将焦"
+"点交给与该控件左侧最接近的 [Control]。"
+
+msgid ""
+"Tells Godot which node it should give focus to if the user presses the right "
+"arrow on the keyboard or right on a gamepad by default. You can change the "
+"key by editing the [member ProjectSettings.input/ui_right] input action. The "
+"node must be a [Control]. If this property is not set, Godot will give focus "
+"to the closest [Control] to the bottom of this one."
+msgstr ""
+"告诉 Godot 在默认情况下,当用户按下键盘上的向右箭头或游戏手柄上的向右键时,应"
+"将焦点交给哪个节点。你可以通过编辑 [member ProjectSettings.input/ui_right] 的"
+"输入动作来更改按键。该节点必须为 [Control]。如果未设置此属性,则 Godot 会将焦"
+"点交给与该控件右侧最接近的 [Control]。"
+
+msgid ""
+"Tells Godot which node it should give focus to if the user presses the top "
+"arrow on the keyboard or top on a gamepad by default. You can change the key "
+"by editing the [member ProjectSettings.input/ui_up] input action. The node "
+"must be a [Control]. If this property is not set, Godot will give focus to "
+"the closest [Control] to the bottom of this one."
+msgstr ""
+"告诉 Godot 在默认情况下,当用户按下键盘上的向上箭头或游戏手柄上的向上键时,应"
+"将焦点交给哪个节点。你可以通过编辑 [member ProjectSettings.input/ui_up] 的输"
+"入动作来更改按键。该节点必须为 [Control]。如果未设置此属性,则 Godot 会将焦点"
+"交给与该控件顶部最接近的 [Control]。"
+
+msgid ""
+"Tells Godot which node it should give focus to if the user presses [kbd]Tab[/"
+"kbd] on a keyboard by default. You can change the key by editing the [member "
+"ProjectSettings.input/ui_focus_next] input action.\n"
+"If this property is not set, Godot will select a \"best guess\" based on "
+"surrounding nodes in the scene tree."
+msgstr ""
+"告诉 Godot 在默认情况下,当用户按下键盘上的 [kbd]Tab[/kbd] 时,应将焦点交给哪"
+"个节点。你可以通过编辑 [member ProjectSettings.input/ui_focus_next] 的输入动"
+"作来更改按键。\n"
+"如果未设置此属性,则 Godot 会将根据场景树中的附近节点选择一个“最佳猜测”。"
+
+msgid ""
+"Tells Godot which node it should give focus to if the user presses "
+"[kbd]Shift + Tab[/kbd] on a keyboard by default. You can change the key by "
+"editing the [member ProjectSettings.input/ui_focus_prev] input action.\n"
+"If this property is not set, Godot will select a \"best guess\" based on "
+"surrounding nodes in the scene tree."
+msgstr ""
+"告诉 Godot 在默认情况下,当用户按下键盘上的 [kbd]Shift + Tab[/kbd] 时,应将焦"
+"点交给哪个节点。你可以通过编辑 [member ProjectSettings.input/ui_focus_prev] "
+"的输入动作来更改按键。\n"
+"如果未设置此属性,则 Godot 会将根据场景树中的附近节点选择一个“最佳猜测”。"
+
+msgid ""
+"The node's global position, relative to the world (usually to the "
+"[CanvasLayer])."
+msgstr "该节点的全局位置,相对于世界(通常为 [CanvasLayer])。"
+
+msgid ""
"Controls the direction on the horizontal axis in which the control should "
"grow if its horizontal minimum size is changed to be greater than its "
"current size, as the control always has to be at least the minimum size."
@@ -8094,6 +18408,26 @@ msgstr ""
"沿该方向增大,因为控件始终必须至少为最小尺寸。"
msgid ""
+"Controls layout direction and text writing direction. Right-to-left layouts "
+"are necessary for certain languages (e.g. Arabic and Hebrew)."
+msgstr ""
+"控制布局方向和文本书写方向。某些语言需要从右至左的布局(例如阿拉伯语和希伯来"
+"语)。"
+
+msgid ""
+"If [code]true[/code], automatically converts code line numbers, list "
+"indices, [SpinBox] and [ProgressBar] values from the Western Arabic (0..9) "
+"to the numeral systems used in current locale.\n"
+"[b]Note:[/b] Numbers within the text are not automatically converted, it can "
+"be done manually, using [method TextServer.format_number]."
+msgstr ""
+"如果为 [code]true[/code],则会自动将代码行号、列表索引号、[SpinBox] 和 "
+"[ProgressBar] 的值,从阿拉伯数字(0..9)转换为当前区域设置所使用的记数系"
+"统。\n"
+"[b]注意:[/b]不会自动转换文本中的数字,可以使用 [method TextServer."
+"format_number] 手动转换。"
+
+msgid ""
"The default cursor shape for this control. Useful for Godot plugins and "
"applications or games that use the system's mouse cursors.\n"
"[b]Note:[/b] On Linux, shapes may vary depending on the cursor theme of the "
@@ -8114,6 +18448,90 @@ msgstr ""
"信号。参阅常量来了解每个常量的作用。"
msgid ""
+"Distance between the node's bottom edge and its parent control, based on "
+"[member anchor_bottom].\n"
+"Offsets are often controlled by one or multiple parent [Container] nodes, so "
+"you should not modify them manually if your node is a direct child of a "
+"[Container]. Offsets update automatically when you move or resize the node."
+msgstr ""
+"该节点底部边缘与其父控件之间的距离,基于 [member anchor_bottom]。\n"
+"偏移量通常由一个或多个父 [Container] 节点控制,因此如果你的节点是 "
+"[Container] 的直接子节点,则不应进行手动修改。移动节点或调整节点大小时,偏移"
+"量会自动更新。"
+
+msgid ""
+"Distance between the node's left edge and its parent control, based on "
+"[member anchor_left].\n"
+"Offsets are often controlled by one or multiple parent [Container] nodes, so "
+"you should not modify them manually if your node is a direct child of a "
+"[Container]. Offsets update automatically when you move or resize the node."
+msgstr ""
+"该节点左侧边缘与其父控件之间的距离,基于 [member anchor_left]。\n"
+"偏移量通常由一个或多个父 [Container] 节点控制,因此如果你的节点是 "
+"[Container] 的直接子节点,则不应进行手动修改。移动节点或调整节点大小时,偏移"
+"量会自动更新。"
+
+msgid ""
+"Distance between the node's right edge and its parent control, based on "
+"[member anchor_right].\n"
+"Offsets are often controlled by one or multiple parent [Container] nodes, so "
+"you should not modify them manually if your node is a direct child of a "
+"[Container]. Offsets update automatically when you move or resize the node."
+msgstr ""
+"该节点右侧边缘与其父控件之间的距离,基于 [member anchor_right]。\n"
+"偏移量通常由一个或多个父 [Container] 节点控制,因此如果你的节点是 "
+"[Container] 的直接子节点,则不应进行手动修改。移动节点或调整节点大小时,偏移"
+"量会自动更新。"
+
+msgid ""
+"Distance between the node's top edge and its parent control, based on "
+"[member anchor_top].\n"
+"Offsets are often controlled by one or multiple parent [Container] nodes, so "
+"you should not modify them manually if your node is a direct child of a "
+"[Container]. Offsets update automatically when you move or resize the node."
+msgstr ""
+"该节点顶部边缘与其父控件之间的距离,基于 [member anchor_top]。\n"
+"偏移量通常由一个或多个父 [Container] 节点控制,因此如果你的节点是 "
+"[Container] 的直接子节点,则不应进行手动修改。移动节点或调整节点大小时,偏移"
+"量会自动更新。"
+
+msgid ""
+"By default, the node's pivot is its top-left corner. When you change its "
+"[member rotation] or [member scale], it will rotate or scale around this "
+"pivot. Set this property to [member size] / 2 to pivot around the Control's "
+"center."
+msgstr ""
+"默认情况下,该节点的轴心位于左上角。更改 [member rotation] 或 [member scale] "
+"时,将围绕该轴心进行旋转或缩放。如果将该属性设置为 [member size] / 2,则围绕"
+"的是该控件的中心点。"
+
+msgid ""
+"The node's position, relative to its containing node. It corresponds to the "
+"rectangle's top-left corner. The property is not affected by [member "
+"pivot_offset]."
+msgstr ""
+"该节点的位置,相对于父节点。对应的是矩形的左上角。该属性不受 [member "
+"pivot_offset] 的影响。"
+
+msgid ""
+"The node's rotation around its pivot, in radians. See [member pivot_offset] "
+"to change the pivot's position."
+msgstr ""
+"该节点围绕其轴心的旋转,单位为弧度。更改轴心的位置请参阅 [member "
+"pivot_offset]。"
+
+msgid ""
+"Helper property to access [member rotation] in degrees instead of radians."
+msgstr "辅助属性,用于按度数访问 [member rotation] 而不是弧度数。"
+
+msgid ""
+"The size of the node's bounding rectangle, in the node's coordinate system. "
+"[Container] nodes update this property automatically."
+msgstr ""
+"该节点的边界矩形的大小,使用该节点的坐标系。[Container] 节点会自动更新此属"
+"性。"
+
+msgid ""
"Tells the parent [Container] nodes how they should resize and place the node "
"on the X axis. Use one of the [enum SizeFlags] constants to change the "
"flags. See the constants to learn what each does."
@@ -8129,6 +18547,83 @@ msgstr ""
"告诉父 [Container] 节点应如何调整尺寸并将其放置在 X 轴上。使用 [enum "
"SizeFlags] 常量之一更改标志。查看常量以了解每个常量的作用。"
+msgid ""
+"The [Theme] resource this node and all its [Control] and [Window] children "
+"use. If a child node has its own [Theme] resource set, theme items are "
+"merged with child's definitions having higher priority.\n"
+"[b]Note:[/b] [Window] styles will have no effect unless the window is "
+"embedded."
+msgstr ""
+"该节点及其子 [Control] 和 [Window] 所使用的 [Theme] 资源。如果子节点也设置了 "
+"[Theme] 资源,则会合并主题项,子节点的定义优先级更高。\n"
+"[b]注意:[/b]除非 [Window] 为嵌入式,否则窗口样式无效。"
+
+msgid ""
+"The default tooltip text. The tooltip appears when the user's mouse cursor "
+"stays idle over this control for a few moments, provided that the [member "
+"mouse_filter] property is not [constant MOUSE_FILTER_IGNORE]. The time "
+"required for the tooltip to appear can be changed with the [member "
+"ProjectSettings.gui/timers/tooltip_delay_sec] option. See also [method "
+"get_tooltip].\n"
+"The tooltip popup will use either a default implementation, or a custom one "
+"that you can provide by overriding [method _make_custom_tooltip]. The "
+"default tooltip includes a [PopupPanel] and [Label] whose theme properties "
+"can be customized using [Theme] methods with the [code]\"TooltipPanel\"[/"
+"code] and [code]\"TooltipLabel\"[/code] respectively. For example:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var style_box = StyleBoxFlat.new()\n"
+"style_box.set_bg_color(Color(1, 1, 0))\n"
+"style_box.set_border_width_all(2)\n"
+"# We assume here that the `theme` property has been assigned a custom Theme "
+"beforehand.\n"
+"theme.set_stylebox(\"panel\", \"TooltipPanel\", style_box)\n"
+"theme.set_color(\"font_color\", \"TooltipLabel\", Color(0, 1, 1))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var styleBox = new StyleBoxFlat();\n"
+"styleBox.SetBgColor(new Color(1, 1, 0));\n"
+"styleBox.SetBorderWidthAll(2);\n"
+"// We assume here that the `Theme` property has been assigned a custom Theme "
+"beforehand.\n"
+"Theme.SetStyleBox(\"panel\", \"TooltipPanel\", styleBox);\n"
+"Theme.SetColor(\"font_color\", \"TooltipLabel\", new Color(0, 1, 1));\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"默认工具提示文本。如果 [member mouse_filter] 属性不是 [constant "
+"MOUSE_FILTER_IGNORE],则当用户的鼠标光标在此控件上停留片刻时,将出现工具提"
+"示。可以使用 [member ProjectSettings.gui/timers/tooltip_delay_sec] 选项更改工"
+"具提示出现所需的时间。另见 [method get_tooltip]。\n"
+"工具提示弹出窗口将使用默认实现,或者使用通过覆盖 [method "
+"_make_custom_tooltip] 提供的自定义实现。默认工具提示包括一个 [PopupPanel] 和 "
+"[Label],其主题属性可以使用 [Theme] 方法分别对 [code]\"TooltipPanel\"[/code] "
+"和 [code]\"TooltipLabel\"[/code] 进行自定义。例如:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var style_box = StyleBoxFlat.new()\n"
+"style_box.set_bg_color(Color(1, 1, 0))\n"
+"style_box.set_border_width_all(2)\n"
+"# 我们在这里假设`Theme`属性已经被事先分配了一个自定义的主题。\n"
+"theme.set_stylebox(\"panel\", \"TooltipPanel\", style_box)\n"
+"theme.set_color(\"font_color\", \"TooltipLabel\", Color(0, 1, 1))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var styleBox = new StyleBoxFlat();\n"
+"styleBox.SetBgColor(new Color(1, 1, 0));\n"
+"styleBox.SetBorderWidthAll(2);\n"
+"// 我们在这里假设`Theme`属性已经被事先分配了一个自定义的主题。\n"
+"Theme.SetStyleBox(\"panel\", \"TooltipPanel\", styleBox);\n"
+"Theme.SetColor(\"font_color\", \"TooltipLabel\", new Color(0, 1, 1));\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid "Emitted when the node gains focus."
+msgstr "当该节点获得焦点时发出。"
+
+msgid "Emitted when the node loses focus."
+msgstr "当该节点失去焦点时发出。"
+
msgid "Emitted when the node receives an [InputEvent]."
msgstr "当节点收到 [InputEvent] 时发出。"
@@ -8188,6 +18683,9 @@ msgid ""
"scrolled."
msgstr "当此节点在已停止滚动的 [ScrollContainer] 内部时发送。"
+msgid "Sent when control layout direction is changed."
+msgstr "当控件的布局方向改变时发送。"
+
msgid ""
"Show the system's arrow mouse cursor when the user hovers the node. Use with "
"[member mouse_default_cursor_shape]."
@@ -8467,6 +18965,29 @@ msgstr ""
"[code]anchor_*[/code] 成员变量中使用,例如 [member anchor_left]。要一次更改全"
"部 4 个锚点,请使用 [method set_anchors_preset]。"
+msgid "Left-to-right layout direction."
+msgstr "从左至右的布局方向。"
+
+msgid "Right-to-left layout direction."
+msgstr "从右至左的布局方向。"
+
+msgid "Text writing direction is the same as layout direction."
+msgstr "文字书写方向与布局方向相同。"
+
+msgid ""
+"Automatic text writing direction, determined from the current locale and "
+"text content."
+msgstr "自动文本书写方向,根据当前区域设置和文本内容确定。"
+
+msgid "Left-to-right text writing direction."
+msgstr "从左至右的文本书写方向。"
+
+msgid "Right-to-left text writing direction."
+msgstr "从右至左的文本书写方向。"
+
+msgid "Convex polygon shape resource for 2D physics."
+msgstr "凸多边形形状资源,用于 2D 物理。"
+
msgid ""
"The polygon's list of vertices. Can be in either clockwise or "
"counterclockwise order. Only set this property with convex hull points, use "
@@ -8488,24 +19009,63 @@ msgstr "粒子系统(2D)"
msgid "Returns the [Curve] of the parameter specified by [enum Parameter]."
msgstr "返回由 [enum Parameter] 指定的参数的 [Curve]。"
+msgid "Returns the maximum value range for the given parameter."
+msgstr "返回给定参数的最大值范围。"
+
+msgid "Returns the minimum value range for the given parameter."
+msgstr "返回给定参数的最小值范围。"
+
msgid "Restarts the particle emitter."
msgstr "重新启动粒子发射器。"
msgid "Sets the [Curve] of the parameter specified by [enum Parameter]."
msgstr "设置 [enum Parameter] 指定的参数的 [Curve]。"
+msgid "Sets the maximum value for the given parameter."
+msgstr "设置给定参数的最大值。"
+
+msgid "Sets the minimum value for the given parameter."
+msgstr "设置给定参数的最小值。"
+
+msgid ""
+"Enables or disables the given flag (see [enum ParticleFlags] for options)."
+msgstr "启用或禁用给定的标志(选项见 [enum ParticleFlags])。"
+
+msgid "Number of particles emitted in one emission cycle."
+msgstr "一个发射周期中发射的粒子数。"
+
msgid "Each particle's rotation will be animated along this [Curve]."
msgstr "每个粒子的旋转将沿此 [Curve] 进行动画处理。"
+msgid "Maximum initial rotation applied to each particle, in degrees."
+msgstr "应用于每个粒子的最大初始旋转(单位为度)。"
+
+msgid "Minimum equivalent of [member angle_max]."
+msgstr "[member angle_max] 的对应最小值。"
+
msgid "Each particle's angular velocity will vary along this [Curve]."
msgstr "每个粒子的角速度将沿此 [Curve] 变化。"
+msgid ""
+"Maximum initial angular velocity (rotation speed) applied to each particle "
+"in [i]degrees[/i] per second."
+msgstr "应用于每个粒子的最大初始角速度(旋转速度),单位为[i]度[/i]每秒。"
+
+msgid "Minimum equivalent of [member angular_velocity_max]."
+msgstr "[member angular_velocity_max] 的对应最小值。"
+
msgid "Each particle's animation offset will vary along this [Curve]."
msgstr "每个粒子的动画偏移将沿此 [Curve] 变化。"
+msgid "Minimum equivalent of [member anim_offset_max]."
+msgstr "[member anim_offset_max] 的对应最小值。"
+
msgid "Each particle's animation speed will vary along this [Curve]."
msgstr "每个粒子的动画速度将沿此 [Curve] 变化。"
+msgid "Minimum equivalent of [member anim_speed_max]."
+msgstr "[member anim_speed_max] 的对应最小值。"
+
msgid ""
"Each particle's initial color. If [member texture] is defined, it will be "
"multiplied by this color."
@@ -8519,6 +19079,9 @@ msgstr "每个粒子的颜色将随着这个 [Gradient] 变化(与 [member col
msgid "Damping will vary along this [Curve]."
msgstr "阻尼将沿着这条 [Gradient] 变化。"
+msgid "Minimum equivalent of [member damping_max]."
+msgstr "[member damping_max] 的对应最小值。"
+
msgid "Unit vector specifying the particles' emission direction."
msgstr "指定粒子发射方向的单位向量。"
@@ -8587,12 +19150,24 @@ msgstr "重力作用于每个粒子。"
msgid "Each particle's hue will vary along this [Curve]."
msgstr "每个粒子的色相都将随之变化。"
+msgid "Minimum equivalent of [member hue_variation_max]."
+msgstr "[member hue_variation_max] 对应的最小值。"
+
+msgid "Minimum equivalent of [member initial_velocity_max]."
+msgstr "[member initial_velocity_max] 的对应最小值。"
+
+msgid "Amount of time each particle will exist."
+msgstr "每个粒子存在的时间。"
+
msgid "Particle lifetime randomness ratio."
msgstr "粒子寿命随机率。"
msgid "Each particle's linear acceleration will vary along this [Curve]."
msgstr "每个粒子的线性加速度将沿此 [Curve] 变化。"
+msgid "Minimum equivalent of [member linear_accel_max]."
+msgstr "[member linear_accel_max] 的对应最小值。"
+
msgid ""
"If [code]true[/code], only one emission cycle occurs. If set [code]true[/"
"code] during a cycle, emission will stop at the cycle's end."
@@ -8603,6 +19178,9 @@ msgstr ""
msgid "Each particle's orbital velocity will vary along this [Curve]."
msgstr "每个粒子的轨道速度将跟随这个 [Curve] 变化。"
+msgid "Minimum equivalent of [member orbit_velocity_max]."
+msgstr "[member orbit_velocity_max] 的对应最小值。"
+
msgid "Align Y axis of particle with the direction of its velocity."
msgstr "将粒子的 Y 轴与其速度方向对齐。"
@@ -8612,16 +19190,39 @@ msgstr "粒子系统启动时就好像已经运行了这么多秒一样。"
msgid "Each particle's radial acceleration will vary along this [Curve]."
msgstr "每个粒子的径向加速度将跟随这个 [Curve] 变化。"
+msgid "Minimum equivalent of [member radial_accel_max]."
+msgstr "[member radial_accel_max] 的对应最小值。"
+
msgid "Emission lifetime randomness ratio."
msgstr "发射寿命随机率。"
msgid "Each particle's scale will vary along this [Curve]."
msgstr "每个粒子的缩放将跟随这个 [Curve] 变化。"
+msgid "Maximum initial scale applied to each particle."
+msgstr "应用于每个粒子的最大初始缩放。"
+
+msgid "Minimum equivalent of [member scale_amount_max]."
+msgstr "[member scale_amount_max] 的对应最小值。"
+
+msgid ""
+"Each particle's horizontal scale will vary along this [Curve].\n"
+"[member split_scale] must be enabled."
+msgstr ""
+"每个粒子的水平比例都会沿着这条 [Curve] 变化。\n"
+"必须启用 [member split_scale]。"
+
+msgid ""
+"Each particle's vertical scale will vary along this [Curve].\n"
+"[member split_scale] must be enabled."
+msgstr ""
+"每个粒子的垂直比例都会沿着这条 [Curve] 变化。\n"
+"必须启用 [member split_scale]。"
+
msgid ""
"Particle system's running speed scaling ratio. A value of [code]0[/code] can "
"be used to pause the particles."
-msgstr "粒子系统的运行速度缩放比例。将值设为 [code]0[/code] 可用于暂停粒子。"
+msgstr "粒子系统的运行速度缩放比例。[code]0[/code]值可用于暂停粒子。"
msgid ""
"Each particle's initial direction range from [code]+spread[/code] to [code]-"
@@ -8632,6 +19233,9 @@ msgstr ""
msgid "Each particle's tangential acceleration will vary along this [Curve]."
msgstr "每个粒子的切向加速度将跟随这个 [Curve] 变化。"
+msgid "Minimum equivalent of [member tangential_accel_max]."
+msgstr "[member tangential_accel_max] 的对应最小值。"
+
msgid "Particle texture. If [code]null[/code], particles will be squares."
msgstr "粒子纹理。如果为 [code]null[/code],则粒子将为正方形。"
@@ -8641,12 +19245,104 @@ msgstr "粒子按发射顺序绘制。"
msgid "Particles are drawn in order of remaining lifetime."
msgstr "按照剩余寿命的顺序绘制粒子。"
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set initial velocity properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置初始速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set angular velocity properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置角速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set orbital velocity properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置轨道速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set linear acceleration properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置线性加速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set radial acceleration properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置径向加速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set tangential acceleration properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置切向加速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set damping properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置阻尼属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set angle properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置角度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set scale properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置缩放属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set hue variation properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置色相变化属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set animation speed properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置动画速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_curve] to set animation offset properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max]、[method set_param_curve] "
+"一起使用,设置动画偏移属性。"
+
msgid "Represents the size of the [enum Parameter] enum."
-msgstr "表示 [enum Parameter] 枚举的大小。"
+msgstr "代表 [enum Parameter] 枚举的大小。"
+
+msgid ""
+"Use with [method set_particle_flag] to set [member particle_flag_align_y]."
+msgstr ""
+"与 [method set_particle_flag] 一起使用,设置 [member particle_flag_align_y]。"
msgid "Present for consistency with 3D particle nodes, not used in 2D."
msgstr "为了与 3D 粒子节点保持一致而存在,在 2D 中不使用。"
+msgid "Represents the size of the [enum ParticleFlags] enum."
+msgstr "代表 [enum ParticleFlags] 枚举的大小。"
+
msgid "All particles will be emitted from a single point."
msgstr "所有粒子将从一个点发射。"
@@ -8677,11 +19373,32 @@ msgstr ""
"emission_colors] 进行调制。"
msgid "Represents the size of the [enum EmissionShape] enum."
-msgstr "表示 [enum EmissionShape] 枚举的大小。"
+msgstr "代表 [enum EmissionShape] 枚举的大小。"
msgid "CPU-based 3D particle emitter."
msgstr "基于 CPU 的 3D 粒子发射器。"
+msgid "Maximum angle."
+msgstr "最大角度。"
+
+msgid "Minimum angle."
+msgstr "最小角度。"
+
+msgid "Maximum animation offset."
+msgstr "最大动画偏移。"
+
+msgid "Minimum animation offset."
+msgstr "最小动画偏移。"
+
+msgid "Maximum particle animation speed."
+msgstr "最大粒子动画速度。"
+
+msgid "Minimum particle animation speed."
+msgstr "最小粒子动画速度。"
+
+msgid "Maximum damping."
+msgstr "最大阻尼。"
+
msgid ""
"The rectangle's extents if [member emission_shape] is set to [constant "
"EMISSION_SHAPE_BOX]."
@@ -8720,11 +19437,56 @@ msgstr ""
"Y/Z 平面中的 [member spread] 数量。值 [code]1[/code] 将粒子限制在 X/Z 平面"
"上。"
+msgid "Maximum hue variation."
+msgstr "最大色相变化。"
+
+msgid "Minimum hue variation."
+msgstr "最小色相变化。"
+
+msgid "Maximum value of the initial velocity."
+msgstr "初始速度的最大值。"
+
+msgid "Minimum value of the initial velocity."
+msgstr "初始速度的最小值。"
+
+msgid "Maximum linear acceleration."
+msgstr "最大线性加速度。"
+
+msgid "Minimum linear acceleration."
+msgstr "最小线性加速度。"
+
msgid ""
"The [Mesh] used for each particle. If [code]null[/code], particles will be "
"spheres."
msgstr "每个粒子使用的 [Mesh]。如果为 [code]null[/code],则粒子将为球形。"
+msgid "Maximum orbit velocity."
+msgstr "最大轨道速度。"
+
+msgid "Minimum orbit velocity."
+msgstr "最小轨道速度。"
+
+msgid "Maximum radial acceleration."
+msgstr "最大径向加速度。"
+
+msgid "Minimum radial acceleration."
+msgstr "最小径向加速度。"
+
+msgid "Maximum scale."
+msgstr "最大缩放。"
+
+msgid "Minimum scale."
+msgstr "最小缩放。"
+
+msgid "Curve for the scale over life, along the x axis."
+msgstr "生命周期内,沿 X 轴的缩放曲线。"
+
+msgid "Curve for the scale over life, along the y axis."
+msgstr "生命周期内,沿 Y 轴的缩放曲线。"
+
+msgid "Curve for the scale over life, along the z axis."
+msgstr "生命周期内,沿 Z 轴的缩放曲线。"
+
msgid ""
"Each particle's initial direction range from [code]+spread[/code] to [code]-"
"spread[/code] degrees. Applied to X/Z plane and Y/Z planes."
@@ -8732,12 +19494,33 @@ msgstr ""
"每个粒子的初始方向范围为 [code]+spread[/code] 至 [code]-spread[/code] 度。适"
"用于 X/Z 平面和 Y/Z 平面。"
+msgid "Maximum tangent acceleration."
+msgstr "最大切向加速度。"
+
+msgid "Minimum tangent acceleration."
+msgstr "最小切向加速度。"
+
msgid "Particles are drawn in order of depth."
msgstr "粒子按深度顺序绘制。"
+msgid ""
+"Use with [method set_particle_flag] to set [member particle_flag_rotate_y]."
+msgstr ""
+"与 [method set_particle_flag] 一起使用,设置 [member "
+"particle_flag_rotate_y]。"
+
+msgid ""
+"Use with [method set_particle_flag] to set [member particle_flag_disable_z]."
+msgstr ""
+"与 [method set_particle_flag] 一起使用,设置[member "
+"particle_flag_disable_z]。"
+
msgid "Particles will be emitted in the volume of a sphere."
msgstr "粒子将在球体的体积中发射。"
+msgid "Particles will be emitted on the surface of a sphere."
+msgstr "粒子将在球体表面发射。"
+
msgid "Particles will be emitted in the volume of a box."
msgstr "粒子将在盒子的体积中发射。"
@@ -8747,9 +19530,232 @@ msgstr "粒子将以环形或圆柱的形式发射出来。"
msgid "Access to advanced cryptographic functionalities."
msgstr "访问高级加密功能。"
+msgid ""
+"The Crypto class allows you to access some more advanced cryptographic "
+"functionalities in Godot.\n"
+"For now, this includes generating cryptographically secure random bytes, RSA "
+"keys and self-signed X509 certificates generation, asymmetric key encryption/"
+"decryption, and signing/verification.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"extends Node\n"
+"\n"
+"var crypto = Crypto.new()\n"
+"var key = CryptoKey.new()\n"
+"var cert = X509Certificate.new()\n"
+"\n"
+"func _ready():\n"
+" # Generate new RSA key.\n"
+" key = crypto.generate_rsa(4096)\n"
+" # Generate new self-signed certificate with the given key.\n"
+" cert = crypto.generate_self_signed_certificate(key, \"CN=mydomain.com,"
+"O=My Game Company,C=IT\")\n"
+" # Save key and certificate in the user folder.\n"
+" key.save(\"user://generated.key\")\n"
+" cert.save(\"user://generated.crt\")\n"
+" # Encryption\n"
+" var data = \"Some data\"\n"
+" var encrypted = crypto.encrypt(key, data.to_utf8())\n"
+" # Decryption\n"
+" var decrypted = crypto.decrypt(key, encrypted)\n"
+" # Signing\n"
+" var signature = crypto.sign(HashingContext.HASH_SHA256, data."
+"sha256_buffer(), key)\n"
+" # Verifying\n"
+" var verified = crypto.verify(HashingContext.HASH_SHA256, data."
+"sha256_buffer(), signature, key)\n"
+" # Checks\n"
+" assert(verified)\n"
+" assert(data.to_utf8() == decrypted)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"using System.Diagnostics;\n"
+"\n"
+"public partial class MyNode : Node\n"
+"{\n"
+" private Crypto _crypto = new Crypto();\n"
+" private CryptoKey _key = new CryptoKey();\n"
+" private X509Certificate _cert = new X509Certificate();\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" // Generate new RSA key.\n"
+" _key = _crypto.GenerateRsa(4096);\n"
+" // Generate new self-signed certificate with the given key.\n"
+" _cert = _crypto.GenerateSelfSignedCertificate(_key, \"CN=mydomain."
+"com,O=My Game Company,C=IT\");\n"
+" // Save key and certificate in the user folder.\n"
+" _key.Save(\"user://generated.key\");\n"
+" _cert.Save(\"user://generated.crt\");\n"
+" // Encryption\n"
+" string data = \"Some data\";\n"
+" byte[] encrypted = _crypto.Encrypt(_key, data.ToUtf8());\n"
+" // Decryption\n"
+" byte[] decrypted = _crypto.Decrypt(_key, encrypted);\n"
+" // Signing\n"
+" byte[] signature = _crypto.Sign(HashingContext.HashType.Sha256, Data."
+"Sha256Buffer(), _key);\n"
+" // Verifying\n"
+" bool verified = _crypto.Verify(HashingContext.HashType.Sha256, Data."
+"Sha256Buffer(), signature, _key);\n"
+" // Checks\n"
+" Debug.Assert(verified);\n"
+" Debug.Assert(data.ToUtf8() == decrypted);\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"Crypto 类允许您访问 Godot 中一些更高级的加密功能。\n"
+"目前,这包括生成加密安全随机字节、RSA 密钥和自签名 X509 证书生成、非对称密钥"
+"加密/解密、以及签名/验证。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"extends Node\n"
+"\n"
+"var crypto = Crypto.new()\n"
+"var key = CryptoKey.new()\n"
+"var cert = X509Certificate.new()\n"
+"\n"
+"func _ready():\n"
+" # 生成新的 RSA 密钥。\n"
+" key = crypto.generate_rsa(4096)\n"
+" # 使用给定的密钥生成新的自签名证书。\n"
+" cert = crypto.generate_self_signed_certificate(key, \"CN=mydomain.com,"
+"O=My Game Company,C=IT\")\n"
+" # 将密钥和证书保存在用户文件夹中。\n"
+" key.save(\"user://generated.key\")\n"
+" cert.save(\"user://generated.crt\")\n"
+" # 加密\n"
+" var data = \"Some data\"\n"
+" var encrypted = crypto.encrypt(key, data.to_utf8())\n"
+" # 解密\n"
+" var decrypted = crypto.decrypt(key, encrypted)\n"
+" # 签名\n"
+" var signature = crypto.sign(HashingContext.HASH_SHA256, data."
+"sha256_buffer(), key)\n"
+" # 验证\n"
+" var verified = crypto.verify(HashingContext.HASH_SHA256, data."
+"sha256_buffer(), signature, key)\n"
+" # 校验\n"
+" assert(verified)\n"
+" assert(data.to_utf8() == decrypted)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"using System.Diagnostics;\n"
+"\n"
+"public partial class MyNode : Node\n"
+"{\n"
+" private Crypto _crypto = new Crypto();\n"
+" private CryptoKey _key = new CryptoKey();\n"
+" private X509Certificate _cert = new X509Certificate();\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" // 生成新的 RSA 密钥。\n"
+" _key = _crypto.GenerateRsa(4096);\n"
+" // 使用给定的密钥生成新的自签名证书。\n"
+" _cert = _crypto.GenerateSelfSignedCertificate(_key, \"CN=mydomain."
+"com,O=My Game Company,C=IT\");\n"
+" // 将密钥和证书保存在用户文件夹中。\n"
+" _key.Save(\"user://generated.key\");\n"
+" _cert.Save(\"user://generated.crt\");\n"
+" // 加密\n"
+" string data = \"Some data\";\n"
+" byte[] encrypted = _crypto.Encrypt(_key, data.ToUtf8());\n"
+" // 解密\n"
+" byte[] decrypted = _crypto.Decrypt(_key, encrypted);\n"
+" // 签名\n"
+" byte[] signature = _crypto.Sign(HashingContext.HashType.Sha256, Data."
+"Sha256Buffer(), _key);\n"
+" // 验证\n"
+" bool verified = _crypto.Verify(HashingContext.HashType.Sha256, Data."
+"Sha256Buffer(), signature, _key);\n"
+" // 校验\n"
+" Debug.Assert(verified);\n"
+" Debug.Assert(data.ToUtf8() == decrypted);\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Generates a self-signed [X509Certificate] from the given [CryptoKey] and "
+"[param issuer_name]. The certificate validity will be defined by [param "
+"not_before] and [param not_after] (first valid date and last valid date). "
+"The [param issuer_name] must contain at least \"CN=\" (common name, i.e. the "
+"domain name), \"O=\" (organization, i.e. your company name), "
+"\"C=\" (country, i.e. 2 lettered ISO-3166 code of the country the "
+"organization is based in).\n"
+"A small example to generate an RSA key and a X509 self-signed certificate.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var crypto = Crypto.new()\n"
+"# Generate 4096 bits RSA key.\n"
+"var key = crypto.generate_rsa(4096)\n"
+"# Generate self-signed certificate using the given key.\n"
+"var cert = crypto.generate_self_signed_certificate(key, \"CN=example.com,O=A "
+"Game Company,C=IT\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var crypto = new Crypto();\n"
+"// Generate 4096 bits RSA key.\n"
+"CryptoKey key = crypto.GenerateRsa(4096);\n"
+"// Generate self-signed certificate using the given key.\n"
+"X509Certificate cert = crypto.GenerateSelfSignedCertificate(key, "
+"\"CN=mydomain.com,O=My Game Company,C=IT\");\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"根据给定的 [CryptoKey] 和 [param issuer_name] 生成自签名的 "
+"[X509Certificate]。证书有效性将由 [param not_before] 和 [param not_after](第"
+"一个有效日期和最后一个有效日期)定义。[param issuer_name] 必须至少包"
+"含“CN=”(通用名称,即域名)、“O=”(组织,即您的公司名称)、“C=”(国家,即 2 "
+"个字母的该组织所在的国家/地区的 ISO-3166 代码)。\n"
+"生成 RSA 密钥和 X509 自签名证书的小示例。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var crypto = Crypto.new()\n"
+"# 生成 4096 比特 RSA 密钥。\n"
+"var key = crypto.generate_rsa(4096)\n"
+"# 使用给定的密钥生成自签名证书。\n"
+"var cert = crypto.generate_self_signed_certificate(key, \"CN=example.com,O=A "
+"Game Company,C=IT\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var crypto = new Crypto();\n"
+"// 生成 4096 比特 RSA 密钥。\n"
+"CryptoKey key = crypto.GenerateRsa(4096);\n"
+"// 使用给定的密钥生成自签名证书。\n"
+"X509Certificate cert = crypto.GenerateSelfSignedCertificate(key, "
+"\"CN=mydomain.com,O=My Game Company,C=IT\");\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
msgid "A cryptographic key (RSA)."
msgstr "加密密钥(RSA)。"
+msgid ""
+"The CryptoKey class represents a cryptographic key. Keys can be loaded and "
+"saved like any other [Resource].\n"
+"They can be used to generate a self-signed [X509Certificate] via [method "
+"Crypto.generate_self_signed_certificate] and as private key in [method "
+"StreamPeerTLS.accept_stream] along with the appropriate certificate."
+msgstr ""
+"CryptoKey 类表示加密密钥。密钥可以像其他任何 [Resource] 一样进行加载和保"
+"存。\n"
+"密钥可以通过 [method Crypto.generate_self_signed_certificate] 生成自签名的 "
+"[X509Certificate],并可作为 [method StreamPeerTLS.accept_stream] 中相应的证书"
+"的私钥。"
+
+msgid ""
+"Returns [code]true[/code] if this CryptoKey only has the public part, and "
+"not the private one."
+msgstr ""
+"如果该 CryptoKey 仅具有公钥部分,没有私钥部分,则返回 [code]true[/code]。"
+
msgid "A CSG Box shape."
msgstr "CSG 盒子形状。"
@@ -9058,6 +20064,9 @@ msgstr ""
"Godot 版本中可用。\n"
"另请参阅 [GodotSharp]。"
+msgid "C# documentation index"
+msgstr "C# 文档索引"
+
msgid "Returns a new instance of the script."
msgstr "返回该脚本的新实例。"
@@ -9150,6 +20159,20 @@ msgstr ""
"错误信息。"
msgid ""
+"Returns a list of points along the curve, with almost uniform density. "
+"[param max_stages] controls how many subdivisions a curve segment may face "
+"before it is considered approximate enough. Each subdivision splits the "
+"segment in half, so the default 5 stages may mean up to 32 subdivisions per "
+"curve segment. Increase with care!\n"
+"[param tolerance_length] controls the maximal distance between two "
+"neighboring points, before the segment has to be subdivided."
+msgstr ""
+"返回沿曲线的点列表,具有几乎均匀的密度。[param max_stages] 控制曲线段在被认为"
+"足够近似之前可能面临多少次细分。每次细分将段分成两半,因此默认的 5 个阶段可能"
+"意味着每个曲线段最多 32 个细分。请谨慎增加!\n"
+"[param tolerance_length] 控制在必须细分线段之前两个相邻点之间的最大距离。"
+
+msgid ""
"The distance in pixels between two adjacent cached points. Changing it "
"forces the cache to be recomputed the next time the [method "
"get_baked_points] or [method get_baked_length] function is called. The "
@@ -9163,6 +20186,9 @@ msgstr ""
msgid "Describes a Bézier curve in 3D space."
msgstr "描述 3D 空间的贝兹尔曲线。"
+msgid "Returns the cache of points as a [PackedVector3Array]."
+msgstr "返回缓存的点,类型为 [PackedVector3Array]。"
+
msgid ""
"The distance in meters between two adjacent cached points. Changing it "
"forces the cache to be recomputed the next time the [method "
@@ -9188,6 +20214,15 @@ msgstr ""
"纹理宽度(单位为像素)。较大的值能够更好地表示高频数据(例如方向的突变),但"
"会增加生成时间和内存占用。"
+msgid "The [Curve] that is rendered onto the texture's red channel."
+msgstr "渲染到该纹理红色通道上的 [Curve]。"
+
+msgid "The [Curve] that is rendered onto the texture's green channel."
+msgstr "渲染到该纹理绿色通道上的 [Curve]。"
+
+msgid "The [Curve] that is rendered onto the texture's blue channel."
+msgstr "渲染到该纹理蓝色通道上的 [Curve]。"
+
msgid "Class representing a cylindrical [PrimitiveMesh]."
msgstr "表示圆柱形 [PrimitiveMesh] 的类。"
@@ -9200,7 +20235,7 @@ msgstr ""
"bottom_radius] 属性设置为 [code]0.0[/code],这个类可以用来创建圆锥体。"
msgid "Full height of the cylinder."
-msgstr "缸体的全高。"
+msgstr "圆柱体的全高。"
msgid ""
"Number of radial segments on the cylinder. Higher values result in a more "
@@ -9222,6 +20257,9 @@ msgstr ""
"产生更多的细分,这可用于使用着色器或程序式网格工具创建更平滑的显示效果,但以"
"性能为代价。"
+msgid "Cylinder shape for 3D collisions."
+msgstr "圆柱体形状,用于 3D 碰撞。"
+
msgid "The cylinder's height."
msgstr "圆柱体的高度。"
@@ -9266,21 +20304,826 @@ msgstr ""
"该值越大,连接在关节上的机构变形越小。关节对各机构施加一个相反的力,即刚度乘"
"以与其静止长度的大小差的乘积。"
+msgid "Node that projects a texture onto a [MeshInstance3D]."
+msgstr "将纹理投影到 [MeshInstance3D] 上的节点。"
+
+msgid ""
+"Returns the [Texture2D] associated with the specified [enum DecalTexture]. "
+"This is a convenience method, in most cases you should access the texture "
+"directly.\n"
+"For example, instead of [code]albedo_tex = $Decal.get_texture(Decal."
+"TEXTURE_ALBEDO)[/code], use [code]albedo_tex = $Decal.texture_albedo[/"
+"code].\n"
+"One case where this is better than accessing the texture directly is when "
+"you want to copy one Decal's textures to another. For example:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"for i in Decal.TEXTURE_MAX:\n"
+" $NewDecal.set_texture(i, $OldDecal.get_texture(i))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"for (int i = 0; i < (int)Decal.DecalTexture.Max; i++)\n"
+"{\n"
+" GetNode<Decal>(\"NewDecal\").SetTexture(i, GetNode<Decal>(\"OldDecal\")."
+"GetTexture(i));\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回与指定的 [enum DecalTexture] 关联的 [Texture2D]。这是一个便捷方法,在大多"
+"数情况下,你应该直接访问纹理。\n"
+"例如,相比于 [code]albedo_tex = $Decal.get_texture(Decal.TEXTURE_ALBEDO)[/"
+"code],请使用 [code]albedo_tex = $Decal.texture_albedo[/code]。\n"
+"有一种情况下这种写法比直接访问纹理更好,那就是当想要将贴花的纹理复制到另一个"
+"贴花是。例如:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"for i in Decal.TEXTURE_MAX:\n"
+" $NewDecal.set_texture(i, $OldDecal.get_texture(i))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"for (int i = 0; i < (int)Decal.DecalTexture.Max; i++)\n"
+"{\n"
+" GetNode<Decal>(\"NewDecal\").SetTexture(i, GetNode<Decal>(\"OldDecal\")."
+"GetTexture(i));\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Sets the [Texture2D] associated with the specified [enum DecalTexture]. This "
+"is a convenience method, in most cases you should access the texture "
+"directly.\n"
+"For example, instead of [code]$Decal.set_texture(Decal.TEXTURE_ALBEDO, "
+"albedo_tex)[/code], use [code]$Decal.texture_albedo = albedo_tex[/code].\n"
+"One case where this is better than accessing the texture directly is when "
+"you want to copy one Decal's textures to another. For example:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"for i in Decal.TEXTURE_MAX:\n"
+" $NewDecal.set_texture(i, $OldDecal.get_texture(i))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"for (int i = 0; i < (int)Decal.DecalTexture.Max; i++)\n"
+"{\n"
+" GetNode<Decal>(\"NewDecal\").SetTexture(i, GetNode<Decal>(\"OldDecal\")."
+"GetTexture(i));\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"设置与指定的 [enum DecalTexture] 关联的 [Texture2D]。这是一个便捷方法,在大多"
+"数情况下,你应该直接访问纹理。\n"
+"例如,相比于 [code]albedo_tex = $Decal.set_texture(Decal.TEXTURE_ALBEDO, "
+"albedo_tex)[/code],请使用 [code]$Decal.texture_albedo = albedo_tex[/"
+"code]。\n"
+"有一种情况下这种写法比直接访问纹理更好,那就是当想要将贴花的纹理复制到另一个"
+"贴花是。例如:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"for i in Decal.TEXTURE_MAX:\n"
+" $NewDecal.set_texture(i, $OldDecal.get_texture(i))\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"for (int i = 0; i < (int)Decal.DecalTexture.Max; i++)\n"
+"{\n"
+" GetNode<Decal>(\"NewDecal\").SetTexture(i, GetNode<Decal>(\"OldDecal\")."
+"GetTexture(i));\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Blends the albedo [Color] of the decal with albedo [Color] of the underlying "
+"mesh. This can be set to [code]0.0[/code] to create a decal that only "
+"affects normal or ORM. In this case, an albedo texture is still required as "
+"its alpha channel will determine where the normal and ORM will be "
+"overridden. See also [member modulate]."
+msgstr ""
+"将该贴花的反照率 [Color] 与底层网格的反照率 [Color] 混合。可以将其设置为 "
+"[code]0.0[/code],从而创建仅影响法线或 ORM 的贴花。这种情况下仍然需要反照率纹"
+"理,因为它的 Alpha 通道将决定覆盖法线和 ORM 的位置。另见 [member modulate]。"
+
+msgid ""
+"Specifies which [member VisualInstance3D.layers] this decal will project on. "
+"By default, Decals affect all layers. This is used so you can specify which "
+"types of objects receive the Decal and which do not. This is especially "
+"useful so you can ensure that dynamic objects don't accidentally receive a "
+"Decal intended for the terrain under them."
+msgstr ""
+"指定此贴花将投射到哪些 [member VisualInstance3D.layers] 上。默认情况下,贴花"
+"会影响所有图层。可用于指定哪些类型的对象接收该贴花、哪些不接收。这一点特别有"
+"用,你可以确保动态对象不会意外收到用于其下方地形的贴花。"
+
+msgid ""
+"The distance from the camera at which the Decal begins to fade away (in 3D "
+"units)."
+msgstr "与相机的距离,贴花从该处开始淡出(以 3D 单位表示)。"
+
+msgid ""
+"If [code]true[/code], decals will smoothly fade away when far from the "
+"active [Camera3D] starting at [member distance_fade_begin]. The Decal will "
+"fade out over [member distance_fade_begin] + [member distance_fade_length], "
+"after which it will be culled and not sent to the shader at all. Use this to "
+"reduce the number of active Decals in a scene and thus improve performance."
+msgstr ""
+"如果为 [code]true[/code],贴花会在远离活动的 [Camera3D] 时平滑地淡出,从 "
+"[member distance_fade_begin] 开始。该贴花将在 [member distance_fade_begin] + "
+"[member distance_fade_length] 处消失,之后就会被剔除,根本不会发送到着色器。"
+"请使用这个选项来减少场景中激活贴花的数量,从而提高性能。"
+
+msgid ""
+"The distance over which the Decal fades (in 3D units). The Decal becomes "
+"slowly more transparent over this distance and is completely invisible at "
+"the end. Higher values result in a smoother fade-out transition, which is "
+"more suited when the camera moves fast."
+msgstr ""
+"该贴花淡出的距离(以 3D 单位表示)。这段距离内,该贴花会慢慢变得透明,直至完"
+"全不可见。值越大,淡出过渡更平滑,更适合于相机快速移动的情况。"
+
+msgid ""
+"Energy multiplier for the emission texture. This will make the decal emit "
+"light at a higher or lower intensity, independently of the albedo color. See "
+"also [member modulate]."
+msgstr ""
+"自发光纹理的能量倍数。会使贴花以更高或更低的强度发光,与反照率颜色无关。另见 "
+"[member modulate]。"
+
+msgid ""
+"Sets the curve over which the decal will fade as the surface gets further "
+"from the center of the [AABB]. Only positive values are valid (negative "
+"values will be clamped to [code]0.0[/code]). See also [member upper_fade]."
+msgstr ""
+"设置该贴花的淡出曲线,表示随着表面远离 [AABB] 中心而逐渐淡出。仅正值有效(负"
+"值将被限制到 [code]0.0[/code])。另见 [member upper_fade]。"
+
+msgid ""
+"Changes the [Color] of the Decal by multiplying the albedo and emission "
+"colors with this value. The alpha component is only taken into account when "
+"multiplying the albedo color, not the emission color. See also [member "
+"emission_energy] and [member albedo_mix] to change the emission and albedo "
+"intensity independently of each other."
+msgstr ""
+"更改贴花的 [Color],将其反照率和自发光颜色乘以这个值。仅在与反照率颜色相乘时"
+"才会考虑 Alpha 分量,与自发光颜色相乘时则不会。如果要独立更改自发光和反照率强"
+"度,请参阅 [member emit_energy] 和 [member albedo_mix]。"
+
+msgid ""
+"Fades the Decal if the angle between the Decal's [AABB] and the target "
+"surface becomes too large. A value of [code]0[/code] projects the Decal "
+"regardless of angle, a value of [code]1[/code] limits the Decal to surfaces "
+"that are nearly perpendicular.\n"
+"[b]Note:[/b] Setting [member normal_fade] to a value greater than [code]0.0[/"
+"code] has a small performance cost due to the added normal angle "
+"computations."
+msgstr ""
+"如果贴花的 [AABB] 与目标表面之间的角度变得过大,则淡出贴花。值为 [code]0[/"
+"code] 时在投影贴花会忽略角度,值为 [code]1[/code] 时会将贴花限制到几乎垂直的"
+"表面。\n"
+"[b]注意:[/b]将 [member normal_fade] 设置为大于 [code]0.0[/code] 的值会有较小"
+"的性能成本,因为增加了法线角度计算。"
+
+msgid ""
+"[Texture2D] with the base [Color] of the Decal. Either this or the [member "
+"texture_emission] must be set for the Decal to be visible. Use the alpha "
+"channel like a mask to smoothly blend the edges of the decal with the "
+"underlying object.\n"
+"[b]Note:[/b] Unlike [BaseMaterial3D] whose filter mode can be adjusted on a "
+"per-material basis, the filter mode for [Decal] textures is set globally "
+"with [member ProjectSettings.rendering/textures/decals/filter]."
+msgstr ""
+"带有贴花的基础 [Color] 的 [Texture2D]。必须设置这个属性或者 [member "
+"texture_emission] 贴花才可见。要将贴花的边缘与底层对象平滑地混合,请像遮罩一"
+"样使用 Alpha 通道。\n"
+"[b]注意:[/b][BaseMaterial3D] 的过滤模式可以对每个材质进行调整,而 [Decal] 纹"
+"理的过滤模式是通过 [member ProjectSettings.rendering/textures/decals/filter] "
+"全局设置的。"
+
+msgid ""
+"[Texture2D] with the per-pixel normal map for the decal. Use this to add "
+"extra detail to decals.\n"
+"[b]Note:[/b] Unlike [BaseMaterial3D] whose filter mode can be adjusted on a "
+"per-material basis, the filter mode for [Decal] textures is set globally "
+"with [member ProjectSettings.rendering/textures/decals/filter].\n"
+"[b]Note:[/b] Setting this texture alone will not result in a visible decal, "
+"as [member texture_albedo] must also be set. To create a normal-only decal, "
+"load an albedo texture into [member texture_albedo] and set [member "
+"albedo_mix] to [code]0.0[/code]. The albedo texture's alpha channel will be "
+"used to determine where the underlying surface's normal map should be "
+"overridden (and its intensity)."
+msgstr ""
+"带有贴花的逐像素法线贴图的 [Texture2D]。可用于为贴花添加额外的细节。\n"
+"[b]注意:[/b][BaseMaterial3D] 的过滤模式可以对每个材质进行调整,而 [Decal] 纹"
+"理的过滤模式是通过 [member ProjectSettings.rendering/textures/decals/filter] "
+"全局设置的。\n"
+"[b]注意:[/b]单独设置此纹理时贴花不可见,因为还必须设置 [member "
+"texture_albedo]。要创建仅包含法线的贴花,请将反照率纹理加载到 [member "
+"texture_albedo],并将 [member albedo_mix] 设置为 [code]0.0[/code]。反照率纹理"
+"的 Alpha 通道将用于确定应在何处覆盖底层表面的法线贴图(及其强度)。"
+
+msgid ""
+"[Texture2D] storing ambient occlusion, roughness, and metallic for the "
+"decal. Use this to add extra detail to decals.\n"
+"[b]Note:[/b] Unlike [BaseMaterial3D] whose filter mode can be adjusted on a "
+"per-material basis, the filter mode for [Decal] textures is set globally "
+"with [member ProjectSettings.rendering/textures/decals/filter].\n"
+"[b]Note:[/b] Setting this texture alone will not result in a visible decal, "
+"as [member texture_albedo] must also be set. To create a ORM-only decal, "
+"load an albedo texture into [member texture_albedo] and set [member "
+"albedo_mix] to [code]0.0[/code]. The albedo texture's alpha channel will be "
+"used to determine where the underlying surface's ORM map should be "
+"overridden (and its intensity)."
+msgstr ""
+"存有贴花的环境光遮蔽、粗糙度、金属性的 [Texture2D]。可用于为贴花添加额外的细"
+"节。\n"
+"[b]注意:[/b][BaseMaterial3D] 的过滤模式可以对每个材质进行调整,而 [Decal] 纹"
+"理的过滤模式是通过 [member ProjectSettings.rendering/textures/decals/filter] "
+"全局设置的。\n"
+"[b]注意:[/b]单独设置此纹理时贴花不可见,因为还必须设置 [member "
+"texture_albedo]。要创建仅包含 ORM 的贴花,请将反照率纹理加载到 [member "
+"texture_albedo],并将 [member albedo_mix] 设置为 [code]0.0[/code]。反照率纹理"
+"的 Alpha 通道将用于确定应在何处覆盖底层表面的 ORM 贴图(及其强度)。"
+
+msgid ""
+"Sets the curve over which the decal will fade as the surface gets further "
+"from the center of the [AABB]. Only positive values are valid (negative "
+"values will be clamped to [code]0.0[/code]). See also [member lower_fade]."
+msgstr ""
+"设置该贴花的淡出曲线,表示随着表面远离 [AABB] 中心而逐渐淡出。仅正值有效(负"
+"值将被限制到 [code]0.0[/code])。另见 [member upper_fade]。"
+
+msgid "[Texture2D] corresponding to [member texture_albedo]."
+msgstr "与 [member texture_albedo] 对应的 [Texture2D]。"
+
+msgid "[Texture2D] corresponding to [member texture_normal]."
+msgstr "与 [member texture_normal] 对应的 [Texture2D]。"
+
+msgid "[Texture2D] corresponding to [member texture_orm]."
+msgstr "与 [member texture_orm] 对应的 [Texture2D]。"
+
+msgid "[Texture2D] corresponding to [member texture_emission]."
+msgstr "与 [member texture_emission] 对应的 [Texture2D]。"
+
+msgid "Max size of [enum DecalTexture] enum."
+msgstr "[enum DecalTexture] 枚举的最大大小。"
+
msgid "Dictionary type."
msgstr "字典类型。"
+msgid ""
+"Dictionary type. Associative container, which contains values referenced by "
+"unique keys. Dictionaries are composed of pairs of keys (which must be "
+"unique) and values. Dictionaries will preserve the insertion order when "
+"adding new entries. In other programming languages, this data structure is "
+"sometimes referred to as a hash map or associative array.\n"
+"You can define a dictionary by placing a comma-separated list of [code]key: "
+"value[/code] pairs in curly braces [code]{}[/code].\n"
+"[b]Note:[/b] Dictionaries are always passed by reference. To get a copy of a "
+"dictionary which can be modified independently of the original dictionary, "
+"use [method duplicate].\n"
+"Creating a dictionary:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var my_dict = {} # Creates an empty dictionary.\n"
+"\n"
+"var dict_variable_key = \"Another key name\"\n"
+"var dict_variable_value = \"value2\"\n"
+"var another_dict = {\n"
+" \"Some key name\": \"value1\",\n"
+" dict_variable_key: dict_variable_value,\n"
+"}\n"
+"\n"
+"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
+"\n"
+"# Alternative Lua-style syntax.\n"
+"# Doesn't require quotes around keys, but only string constants can be used "
+"as key names.\n"
+"# Additionally, key names must start with a letter or an underscore.\n"
+"# Here, `some_key` is a string literal, not a variable!\n"
+"another_dict = {\n"
+" some_key = 42,\n"
+"}\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var myDict = new Godot.Collections.Dictionary(); // Creates an empty "
+"dictionary.\n"
+"var pointsDict = new Godot.Collections.Dictionary\n"
+"{\n"
+" {\"White\", 50},\n"
+" {\"Yellow\", 75},\n"
+" {\"Orange\", 100}\n"
+"};\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"You can access a dictionary's value by referencing its corresponding key. In "
+"the above example, [code]points_dict[\"White\"][/code] will return [code]50[/"
+"code]. You can also write [code]points_dict.White[/code], which is "
+"equivalent. However, you'll have to use the bracket syntax if the key you're "
+"accessing the dictionary with isn't a fixed string (such as a number or "
+"variable).\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@export_enum(\"White\", \"Yellow\", \"Orange\") var my_color: String\n"
+"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
+"func _ready():\n"
+" # We can't use dot syntax here as `my_color` is a variable.\n"
+" var points = points_dict[my_color]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"[Export(PropertyHint.Enum, \"White,Yellow,Orange\")]\n"
+"public string MyColor { get; set; }\n"
+"private Godot.Collections.Dictionary _pointsDict = new Godot.Collections."
+"Dictionary\n"
+"{\n"
+" {\"White\", 50},\n"
+" {\"Yellow\", 75},\n"
+" {\"Orange\", 100}\n"
+"};\n"
+"\n"
+"public override void _Ready()\n"
+"{\n"
+" int points = (int)_pointsDict[MyColor];\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"In the above code, [code]points[/code] will be assigned the value that is "
+"paired with the appropriate color selected in [code]my_color[/code].\n"
+"Dictionaries can contain more complex data:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var my_dict = {\n"
+" \"First Array\": [1, 2, 3, 4] # Assigns an Array to a String key.\n"
+"}\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var myDict = new Godot.Collections.Dictionary\n"
+"{\n"
+" {\"First Array\", new Godot.Collections.Array{1, 2, 3, 4}}\n"
+"};\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"To add a key to an existing dictionary, access it like an existing key and "
+"assign to it:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
+"points_dict[\"Blue\"] = 150 # Add \"Blue\" as a key and assign 150 as its "
+"value.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var pointsDict = new Godot.Collections.Dictionary\n"
+"{\n"
+" {\"White\", 50},\n"
+" {\"Yellow\", 75},\n"
+" {\"Orange\", 100}\n"
+"};\n"
+"pointsDict[\"Blue\"] = 150; // Add \"Blue\" as a key and assign 150 as its "
+"value.\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Finally, dictionaries can contain different types of keys and values in the "
+"same dictionary:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# This is a valid dictionary.\n"
+"# To access the string \"Nested value\" below, use `my_dict.sub_dict."
+"sub_key` or `my_dict[\"sub_dict\"][\"sub_key\"]`.\n"
+"# Indexing styles can be mixed and matched depending on your needs.\n"
+"var my_dict = {\n"
+" \"String Key\": 5,\n"
+" 4: [1, 2, 3],\n"
+" 7: \"Hello\",\n"
+" \"sub_dict\": {\"sub_key\": \"Nested value\"},\n"
+"}\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// This is a valid dictionary.\n"
+"// To access the string \"Nested value\" below, use `((Godot.Collections."
+"Dictionary)myDict[\"sub_dict\"])[\"sub_key\"]`.\n"
+"var myDict = new Godot.Collections.Dictionary {\n"
+" {\"String Key\", 5},\n"
+" {4, new Godot.Collections.Array{1,2,3}},\n"
+" {7, \"Hello\"},\n"
+" {\"sub_dict\", new Godot.Collections.Dictionary{{\"sub_key\", \"Nested "
+"value\"}}}\n"
+"};\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"The keys of a dictionary can be iterated with the [code]for[/code] keyword:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var groceries = {\"Orange\": 20, \"Apple\": 2, \"Banana\": 4}\n"
+"for fruit in groceries:\n"
+" var amount = groceries[fruit]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var groceries = new Godot.Collections.Dictionary{{\"Orange\", 20}, "
+"{\"Apple\", 2}, {\"Banana\", 4}};\n"
+"foreach (var (fruit, amount) in groceries)\n"
+"{\n"
+" // `fruit` is the key, `amount` is the value.\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] Erasing elements while iterating over dictionaries is [b]not[/"
+"b] supported and will result in unpredictable behavior.\n"
+"[b]Note:[/b] When declaring a dictionary with [code]const[/code], the "
+"dictionary becomes read-only. A read-only Dictionary's entries cannot be "
+"overridden at run-time. This does [i]not[/i] affect nested [Array] and "
+"[Dictionary] values."
+msgstr ""
+"字典类型。关联型容器,容器中的值(Value)由唯一的键(Key)引用。字典由若干键"
+"值对组成(键必须唯一,不能重复)。添加新条目时,字典会保持插入顺序。在其他编"
+"程语言中,这样的数据结构有时也称为哈希表或关联数组。\n"
+"你可以使用大括号 [code]{}[/code] 中放置用逗号分隔的一对对 [code]键:值[/code] "
+"列表来定义字典。\n"
+"[b]注意:[/b]字典始终按引用传递。要获取字典的副本,能独立于原字典进行修改,请"
+"使用 [method duplicate]。\n"
+"字典的创建:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var my_dict = {} # 创建空字典。\n"
+"\n"
+"var dict_variable_key = \"Another key name\"\n"
+"var dict_variable_value = \"value2\"\n"
+"var another_dict = {\n"
+" \"Some key name\": \"value1\",\n"
+" dict_variable_key: dict_variable_value,\n"
+"}\n"
+"\n"
+"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
+"\n"
+"# 备选 Lua 分隔语法。\n"
+"# 不需要在键周围加引号,但键名只能为字符串常量。\n"
+"# 另外,键名必须以字母或下划线开头。\n"
+"# 此处的 `some_key` 是字符串字面量,不是变量!\n"
+"another_dict = {\n"
+" some_key = 42,\n"
+"}\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var myDict = new Godot.Collections.Dictionary(); // 创建空字典。\n"
+"var pointsDict = new Godot.Collections.Dictionary\n"
+"{\n"
+" {\"White\", 50},\n"
+" {\"Yellow\", 75},\n"
+" {\"Orange\", 100}\n"
+"};\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"你可以通过键来访问字典中对应的值。上面的例子中,[code]points_dict[\"White\"]"
+"[/code] 会返回 [code]50[/code]。你也可以写 [code]points_dict.White[/code],和"
+"前面的写法是等价的。不过如果用来访问字典的键不是固定字符串的话(例如数字或者"
+"变量),那么就只能使用方括号语法。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@export_enum(\"White\", \"Yellow\", \"Orange\") var my_color: String\n"
+"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
+"func _ready():\n"
+" # 不能使用点语法,因为 `my_color` 是变量。\n"
+" var points = points_dict[my_color]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"[Export(PropertyHint.Enum, \"White,Yellow,Orange\")]\n"
+"public string MyColor { get; set; }\n"
+"private Godot.Collections.Dictionary _pointsDict = new Godot.Collections."
+"Dictionary\n"
+"{\n"
+" {\"White\", 50},\n"
+" {\"Yellow\", 75},\n"
+" {\"Orange\", 100}\n"
+"};\n"
+"\n"
+"public override void _Ready()\n"
+"{\n"
+" int points = (int)_pointsDict[MyColor];\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"在上面的代码中,[code]points[/code] 会被赋值为与 [code]my_color[/code] 中选中"
+"的颜色相对应的值。\n"
+"字典可以包含更复杂的数据:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var my_dict = {\n"
+" \"First Array\": [1, 2, 3, 4] # 将 Array 赋给 String 键。\n"
+"}\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var myDict = new Godot.Collections.Dictionary\n"
+"{\n"
+" {\"First Array\", new Godot.Collections.Array{1, 2, 3, 4}}\n"
+"};\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"要往已有字典中添加键,请像已有键一样进行访问并赋值:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var points_dict = {\"White\": 50, \"Yellow\": 75, \"Orange\": 100}\n"
+"points_dict[\"Blue\"] = 150 # 将 \"Blue\" 添加为键,并将 150 赋为它的值。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var pointsDict = new Godot.Collections.Dictionary\n"
+"{\n"
+" {\"White\", 50},\n"
+" {\"Yellow\", 75},\n"
+" {\"Orange\", 100}\n"
+"};\n"
+"pointsDict[\"Blue\"] = 150; // 将 \"Blue\" 添加为键,并将 150 赋为它的值。\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"最后,同一个字典里可以包含不同类型的键和值:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 这是有效的字典。\n"
+"# 要访问下面的 \"Nested value\",请使用 `my_dict.sub_dict.sub_key` 或 "
+"`my_dict[\"sub_dict\"][\"sub_key\"]`。\n"
+"# 索引风格可以按需混合使用。\n"
+"var my_dict = {\n"
+" \"String Key\": 5,\n"
+" 4: [1, 2, 3],\n"
+" 7: \"Hello\",\n"
+" \"sub_dict\": {\"sub_key\": \"Nested value\"},\n"
+"}\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 这是有效的字典。\n"
+"// 要访问下面的 \"Nested value\",请使用 `((Godot.Collections."
+"Dictionary)myDict[\"sub_dict\"])[\"sub_key\"]`。\n"
+"var myDict = new Godot.Collections.Dictionary {\n"
+" {\"String Key\", 5},\n"
+" {4, new Godot.Collections.Array{1,2,3}},\n"
+" {7, \"Hello\"},\n"
+" {\"sub_dict\", new Godot.Collections.Dictionary{{\"sub_key\", \"Nested "
+"value\"}}}\n"
+"};\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"字典中的键可以用 [code]for[/code] 关键字进行遍历:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var groceries = {\"Orange\": 20, \"Apple\": 2, \"Banana\": 4}\n"
+"for fruit in groceries:\n"
+" var amount = groceries[fruit]\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var groceries = new Godot.Collections.Dictionary{{\"Orange\", 20}, "
+"{\"Apple\", 2}, {\"Banana\", 4}};\n"
+"foreach (var (fruit, amount) in groceries)\n"
+"{\n"
+" // `fruit` 为键,`amount` 为值。\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b][b]不支持[/b]在遍历字典时清除元素,可能造成无法预知的行为。\n"
+"[b]注意:[/b]使用 [code]const[/code] 声明字典时,字典会变为只读。只读字典中的"
+"条目无法在运行时覆盖。嵌套的 [Array] 和 [Dictionary] 值[i]不受影响[/i]。"
+
msgid "GDScript basics: Dictionary"
msgstr "GDScript 基础:字典"
msgid "Constructs an empty [Dictionary]."
msgstr "构造空的 [Dictionary]。"
+msgid ""
+"Returns the same dictionary as [param from]. If you need a copy of the "
+"dictionary, use [method duplicate]."
+msgstr ""
+"返回与 [param from] 相同的字典。如果你需要该字典的副本,请使用 [method "
+"duplicate]。"
+
+msgid "Clears the dictionary, removing all entries from it."
+msgstr "清空该字典,移除其中的所有条目。"
+
+msgid ""
+"Creates and returns a new copy of the dictionary. If [param deep] is "
+"[code]true[/code], inner [Dictionary] and [Array] keys and values are also "
+"copied, recursively."
+msgstr ""
+"创建并返回该字典的副本。如果 [param deep] 为 [code]true[/code],内部的 "
+"[Dictionary] 和 [Array] 键和值也会被递归复制。"
+
+msgid ""
+"Removes the dictionary entry by key, if it exists. Returns [code]true[/code] "
+"if the given [param key] existed in the dictionary, otherwise [code]false[/"
+"code].\n"
+"[b]Note:[/b] Do not erase entries while iterating over the dictionary. You "
+"can iterate over the [method keys] array instead."
+msgstr ""
+"如果字典中存在与键对应的条目,则将其移除。如果给定的键 [param key] 在字典中存"
+"在,则返回 [code]true[/code] ,否则返回 [code]false[/code] 。\n"
+"[b]注意:[/b]请勿在遍历字典时擦除条目。你可以改为遍历 [method keys] 数组。"
+
+msgid ""
+"Finds and returns the first key whose associated value is equal to [param "
+"value], or [code]null[/code] if it is not found.\n"
+"[b]Note:[/b] [code]null[/code] is also a valid key. If inside the "
+"dictionary, [method find_key] may give misleading results."
+msgstr ""
+"找到并返回关联值等于 [param value] 的第一个键,如果没有找到,则返回 "
+"[code]null[/code]。\n"
+"[b]注意:[/b][code]null[/code] 也是有效的键。如果字典中包含这个键,则 "
+"[method find_key] 可能会给出误导性的结果。"
+
+msgid ""
+"Returns the corresponding value for the given [param key] in the dictionary. "
+"If the [param key] does not exist, returns [param default], or [code]null[/"
+"code] if the parameter is omitted."
+msgstr ""
+"返回该字典中与给定的键 [parma key] 对应的值。如果 [param key] 不存在,则返回 "
+"[param default],如果省略了该参数则返回 [code]null[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the dictionary contains an entry with the given "
+"[param key].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var my_dict = {\n"
+" \"Godot\" : 4,\n"
+" 210 : null,\n"
+"}\n"
+"\n"
+"print(my_dict.has(\"Godot\")) # Prints true\n"
+"print(my_dict.has(210)) # Prints true\n"
+"print(my_dict.has(4)) # Prints false\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var myDict = new Godot.Collections.Dictionary\n"
+"{\n"
+" { \"Godot\", 4 },\n"
+" { 210, default },\n"
+"};\n"
+"\n"
+"GD.Print(myDict.Contains(\"Godot\")); // Prints true\n"
+"GD.Print(myDict.Contains(210)); // Prints true\n"
+"GD.Print(myDict.Contains(4)); // Prints false\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"In GDScript, this is equivalent to the [code]in[/code] operator:\n"
+"[codeblock]\n"
+"if \"Godot\" in {\"Godot\": 4}:\n"
+" print(\"The key is here!\") # Will be printed.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] This method returns [code]true[/code] as long as the [param "
+"key] exists, even if its corresponding value is [code]null[/code]."
+msgstr ""
+"如果该字典包含给定的键 [param key],则返回 [code]true[/code]。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var my_dict = {\n"
+" \"Godot\" : 4,\n"
+" 210 : null,\n"
+"}\n"
+"\n"
+"print(my_dict.has(\"Godot\")) # 输出 true\n"
+"print(my_dict.has(210)) # 输出 true\n"
+"print(my_dict.has(4)) # 输出 false\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var myDict = new Godot.Collections.Dictionary\n"
+"{\n"
+" { \"Godot\", 4 },\n"
+" { 210, default },\n"
+"};\n"
+"\n"
+"GD.Print(myDict.Contains(\"Godot\")); // 输出 true\n"
+"GD.Print(myDict.Contains(210)); // 输出 true\n"
+"GD.Print(myDict.Contains(4)); // 输出 false\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"在 GDScript 中等价于 [code]in[/code] 运算符:\n"
+"[codeblock]\n"
+"if \"Godot\" in {\"Godot\": 4}:\n"
+" print(\"这个键存在!\") # 会进行输出。\n"
+"[/codeblock]\n"
+"[b]注意:[/b]只要键 [param key] 存在,该方法就会返回 [code]true[/code],即便"
+"这个键对应的值为 [code]null[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the dictionary contains all keys in the given "
+"[param keys] array.\n"
+"[codeblock]\n"
+"var data = {\"width\" : 10, \"height\" : 20}\n"
+"data.has_all([\"height\", \"width\"]) # Returns true\n"
+"[/codeblock]"
+msgstr ""
+"如果该字典包含给定数组 [param keys] 中的所有键,则返回 [code]true[/code]。\n"
+"[codeblock]\n"
+"var data = {\"width\" : 10, \"height\" : 20}\n"
+"data.has_all([\"height\", \"width\"]) # 返回 true\n"
+"[/codeblock]"
+
+msgid ""
+"Returns a hashed 32-bit integer value representing the dictionary contents.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var dict1 = {\"A\": 10, \"B\": 2}\n"
+"var dict2 = {\"A\": 10, \"B\": 2}\n"
+"\n"
+"print(dict1.hash() == dict2.hash()) # Prints true\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var dict1 = new Godot.Collections.Dictionary{{\"A\", 10}, {\"B\", 2}};\n"
+"var dict2 = new Godot.Collections.Dictionary{{\"A\", 10}, {\"B\", 2}};\n"
+"\n"
+"// Godot.Collections.Dictionary has no Hash() method. Use GD.Hash() "
+"instead.\n"
+"GD.Print(GD.Hash(dict1) == GD.Hash(dict2)); // Prints true\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] Dictionaries with the same entries but in a different order "
+"will not have the same hash.\n"
+"[b]Note:[/b] Dictionaries with equal hash values are [i]not[/i] guaranteed "
+"to be the same, because of hash collisions. On the countrary, dictionaries "
+"with different hash values are guaranteed to be different."
+msgstr ""
+"返回代表该字典内容的 32 位整数哈希值。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var dict1 = {\"A\": 10, \"B\": 2}\n"
+"var dict2 = {\"A\": 10, \"B\": 2}\n"
+"\n"
+"print(dict1.hash() == dict2.hash()) # 输出 true\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var dict1 = new Godot.Collections.Dictionary{{\"A\", 10}, {\"B\", 2}};\n"
+"var dict2 = new Godot.Collections.Dictionary{{\"A\", 10}, {\"B\", 2}};\n"
+"\n"
+"// Godot.Collections.Dictionary 没有 Hash() 方法。请改用 GD.Hash()。\n"
+"GD.Print(GD.Hash(dict1) == GD.Hash(dict2)); // 输出 true\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]如果两个字典条目相同,但顺序不同,则哈希值也不同。\n"
+"[b]注意:[/b]哈希值相同的字典[i]不保证[/i]相同,因为可能存在哈希碰撞。相对"
+"地,哈希值不同的字典保证不同。"
+
+msgid ""
+"Returns [code]true[/code] if the dictionary is empty (its size is [code]0[/"
+"code]). See also [method size]."
+msgstr ""
+"如果该字典为空(大小为 [code]0[/code]),则返回 [code]true[/code]。另见 "
+"[method size]。"
+
+msgid ""
+"Returns [code]true[/code] if the dictionary is read-only. See [method "
+"make_read_only]. Dictionaries are automatically read-only if declared with "
+"[code]const[/code] keyword."
+msgstr ""
+"如果该字典是只读的,则返回 [code]true[/code] 。见 [method set_read_only]。用 "
+"[code]const[/code] 关键字声明的字典自动只读。"
+
msgid "Returns the list of keys in the dictionary."
msgstr "返回该字典中的键列表。"
+msgid ""
+"Makes the dictionary read-only, i.e. disables modification of the "
+"dictionary's contents. Does not apply to nested content, e.g. content of "
+"nested dictionaries."
+msgstr ""
+"使该字典只读,即禁用字典内容的修改。不适用于嵌套内容,例如内嵌字典的内容。"
+
+msgid ""
+"Adds entries from [param dictionary] to this dictionary. By default, "
+"duplicate keys are not copied over, unless [param overwrite] is [code]true[/"
+"code]."
+msgstr ""
+"将 [param dictionary] 中的条目添加到该字典中。默认不复制重复的键,除非 "
+"[param overwrite] 为 [code]true[/code]。"
+
+msgid ""
+"Returns the number of entries in the dictionary. Empty dictionaries ([code]"
+"{ }[/code]) always return [code]0[/code]. See also [method is_empty]."
+msgstr ""
+"返回该字典中条目的数量。空字典([code]{ }[/code])始终返回 [code]0[/code]。另"
+"见 [method is_empty]。"
+
msgid "Returns the list of values in this dictionary."
msgstr "返回该字典中的值列表。"
+msgid ""
+"Returns [code]true[/code] if the two dictionaries do not contain the same "
+"keys and values."
+msgstr "如果两个字典包含的键、值不同,则返回 [code]true[/code] 。"
+
+msgid ""
+"Returns [code]true[/code] if the two dictionaries contain the same keys and "
+"values. The order of the entries does not matter.\n"
+"[b]Note:[/b] In C#, by convention, this operator compares by [b]reference[/"
+"b]. If you need to compare by value, iterate over both dictionaries."
+msgstr ""
+"如果两个字典包含的键、值心相同,则返回 [code]true[/code] 。条目顺序并不重"
+"要。\n"
+"[b]注意:[/b]在 C# 中,按照惯例,这个操作符进行的是按[b]引用[/b]比较。如果你"
+"需要按值比较,请遍历这两个字典。"
+
+msgid ""
+"Returns the corresponding value for the given [param key] in the dictionary. "
+"If the entry does not exist, fails and returns [code]null[/code]. For safe "
+"access, use [method get] or [method has]."
+msgstr ""
+"返回该字典中与给定的键 [parma key] 对应的值。如果条目不存在或者失败,则返回 "
+"[code]null[/code]。为了更安全的访问,请使用 [method get] 或 [method has]。"
+
msgid "Type used to handle the filesystem."
msgstr "用于处理文件系统的类型。"
@@ -9288,6 +21131,25 @@ msgid "File system"
msgstr "文件系统"
msgid ""
+"Copies the [param from] file to the [param to] destination. Both arguments "
+"should be paths to files, either relative or absolute. If the destination "
+"file exists and is not access-protected, it will be overwritten.\n"
+"If [param chmod_flags] is different than [code]-1[/code], the Unix "
+"permissions for the destination path will be set to the provided value, if "
+"available on the current operating system.\n"
+"Returns one of the [enum Error] code constants ([constant OK] on success)."
+msgstr ""
+"将 [param from] 文件复制到 [param to] 目标位置。两个参数都应该是文件的路径,"
+"可以是相对路径,也可以是绝对路径。如果目标文件存在并且没有访问保护,则它将被"
+"覆盖。\n"
+"如果 [param chmod_flags] 不同于 [code]-1[/code],且如果在当前操作系统上可用,"
+"目标路径的 Unix 权限将设置为提供的值。\n"
+"返回 [enum Error] 错误码常量之一(成功时为 [constant OK])。"
+
+msgid "Static version of [method copy]. Supports only absolute paths."
+msgstr "静态版本的 [method copy]。仅支持绝对路径。"
+
+msgid ""
"Returns whether the current item processed with the last [method get_next] "
"call is a directory ([code].[/code] and [code]..[/code] are considered "
"directories)."
@@ -9301,6 +21163,17 @@ msgid ""
msgstr ""
"返回目标目录是否存在。参数可以是相对于当前目录的路径,也可以是绝对路径。"
+msgid "Static version of [method dir_exists]. Supports only absolute paths."
+msgstr "静态版本的 [method dir_exists]。仅支持绝对路径。"
+
+msgid ""
+"Returns whether the target file exists. The argument can be relative to the "
+"current directory, or an absolute path.\n"
+"For a static equivalent, use [method FileAccess.file_exists]."
+msgstr ""
+"返回目标文件是否存在。参数可以是相对于当前目录的路径,也可以是绝对路径。\n"
+"对于静态等效项,请使用 [method FileAccess.file_exists]。"
+
msgid ""
"Returns the absolute path to the currently opened directory (e.g. "
"[code]res://folder[/code] or [code]C:\\tmp\\folder[/code])."
@@ -9336,15 +21209,41 @@ msgstr ""
"在其他平台上,或者当请求的驱动器不存在时,该方法会返回空的 String。"
msgid ""
+"Returns the result of the last [method open] call in the current thread."
+msgstr "返回当前线程中最后一次 [method open] 调用的结果。"
+
+msgid ""
"Closes the current stream opened with [method list_dir_begin] (whether it "
"has been fully processed with [method get_next] does not matter)."
msgstr ""
"关闭用 [method list_dir_begin] 打开的当前流(并不关注是否已经用 [method "
"get_next] 完成处理)。"
+msgid "Static version of [method make_dir]. Supports only absolute paths."
+msgstr "静态版本的 [method make_dir]。仅支持绝对路径。"
+
+msgid ""
+"Static version of [method make_dir_recursive]. Supports only absolute paths."
+msgstr "静态版本的 [method make_dir_recursive]。仅支持绝对路径。"
+
+msgid "Static version of [method remove]. Supports only absolute paths."
+msgstr "静态版本的 [method remove]。仅支持绝对路径。"
+
+msgid "Static version of [method rename]. Supports only absolute paths."
+msgstr "静态版本的 [method rename]。仅支持绝对路径。"
+
+msgid "Directional 2D light from a distance."
+msgstr "来自远处的 2D 平行光。"
+
+msgid "2D lights and shadows"
+msgstr "2D 灯光和阴影"
+
msgid "Directional light from a distance, as from the Sun."
msgstr "来自远处的平行光,如太阳光。"
+msgid "Lights and shadows"
+msgstr "灯光与阴影"
+
msgid ""
"If [code]true[/code], shadow detail is sacrificed in exchange for smoother "
"transitions between splits. Enabling shadow blend splitting also has a "
@@ -9409,6 +21308,227 @@ msgstr ""
"将视图frustum分成4个区域,每个区域都有自己的阴影图。这是最慢的方向性阴影模"
"式。"
+msgid "Singleton for window management functions."
+msgstr "单例,用于窗口管理等功能。"
+
+msgid ""
+"[DisplayServer] handles everything related to window management. This is "
+"separated from [OS] as a single operating system may support multiple "
+"display servers.\n"
+"[b]Headless mode:[/b] Starting the engine with the [code]--headless[/code] "
+"[url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]command line "
+"argument[/url] disables all rendering and window management functions. Most "
+"functions from [DisplayServer] will return dummy values in this case."
+msgstr ""
+"所有与窗口管理相关的内容都由 [DisplayServer](显示服务器)处理。因为一个操作"
+"系统可能支持多个显示服务器,所以与 [OS] 是分开的。\n"
+"[b]无头模式:[/b]如果使用 [code]--headless[/code] [url=$DOCS_URL/tutorials/"
+"editor/command_line_tutorial.html]命令行参数[/url]启动引擎,就会禁用所有渲染"
+"和窗口管理功能。此时 [DisplayServer] 的大多数函数都会返回虚拟值。"
+
+msgid "Returns the user's clipboard as a string if possible."
+msgstr "如果可能,将用户的剪贴板作为字符串返回。"
+
+msgid "Returns [code]true[/code] if there is content on the user's clipboard."
+msgstr "如果用户的剪贴板中有内容,则返回 [code]true[/code]。"
+
+msgid "Sets the user's clipboard content to the given string."
+msgstr "将用户的剪贴板内容设置为给定的字符串。"
+
+msgid ""
+"Returns the default mouse cursor shape set by [method cursor_set_shape]."
+msgstr "返回默认鼠标光标形状,由 [method cursor_set_shape] 设置。"
+
+msgid "Returns index of the primary screen."
+msgstr "返回主屏幕的索引。"
+
+msgid "Returns the number of displays available."
+msgstr "返回可用的显示器数量。"
+
+msgid "Returns index of the screen which contains specified rectangle."
+msgstr "返回包含指定矩形的屏幕的索引。"
+
+msgid ""
+"Returns the accelerator of the item at index [param idx]. Accelerators are "
+"special combinations of keys that activate the item, no matter which control "
+"is focused.\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"返回索引 [param idx] 处项目的加速器。加速器是无论哪个控件获得焦点时激活项目的"
+"特殊键组合。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Returns the index of the item with the specified [param tag]. Index is "
+"automatically assigned to each item by the engine. Index can not be set "
+"manually.\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"返回具有指定 [param tag] 的项的索引。索引由引擎自动分配给每个项。索引不能被手"
+"动设置。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Returns the index of the item with the specified [param text]. Index is "
+"automatically assigned to each item by the engine. Index can not be set "
+"manually.\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"返回具有指定 [param text] 的项的索引。索引由引擎自动分配给每个项。索引不能被"
+"手动设置。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Returns the submenu ID of the item at index [param idx]. See [method "
+"global_menu_add_submenu_item] for more info on how to add a submenu.\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"返回索引 [param idx] 处项的子菜单 ID。有关如何添加子菜单的更多信息,请参阅 "
+"[method global_menu_add_submenu_item]。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Returns [code]true[/code] if the item at index [param idx] is disabled. When "
+"it is disabled it can't be selected, or its action invoked.\n"
+"See [method global_menu_set_item_disabled] for more info on how to disable "
+"an item.\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"如果索引 [param idx] 处的项被禁用,则返回 [code]true[/code]。当它被禁用时,它"
+"不能被选择,或者它的动作被调用。\n"
+"有关如何禁用项的更多信息,请参阅 [method global_menu_set_item_disabled]。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Returns [code]true[/code] if the item at index [param idx] has radio button-"
+"style checkability.\n"
+"[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/"
+"unchecking items in radio groups.\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"如果索引 [param idx] 处的项具有单选按钮样式的可勾选性,则返回 [code]true[/"
+"code]。\n"
+"[b]注意:[/b]这纯粹是装饰性的; 您必须添加用于勾选/取消勾选单选组中项的逻"
+"辑。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Removes the item at index [param idx] from the global menu [param "
+"menu_root].\n"
+"[b]Note:[/b] The indices of items after the removed item will be shifted by "
+"one.\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"从全局菜单 [param menu_root] 中移除索引 [param idx] 处的项。\n"
+"[b]注意:[/b]被移除的项之后的项的索引将移动一位。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Sets the callback of the item at index [param idx]. Callback is emitted when "
+"an item is pressed.\n"
+"[b]Note:[/b] The [param callback] Callable needs to accept exactly one "
+"Variant parameter, the parameter passed to the Callable will be the value "
+"passed to the tag parameter when the menu item was created.\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"设置索引 [param idx] 处项的回调。按下项时发出回调。\n"
+"[b]注意:[/b][param callback] Callable 需要恰好接受一个 Variant 参数,传递给 "
+"Callable 的参数将是创建菜单项时传递给 tag 参数的值。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Enables/disables the item at index [param idx]. When it is disabled, it "
+"can't be selected and its action can't be invoked.\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"启用/禁用索引 [param idx] 处的项。当它被禁用时,它不能被选择并且它的动作不能"
+"被调用。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Sets the submenu of the item at index [param idx]. The submenu is the ID of "
+"a global menu root that would be shown when the item is clicked.\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"设置索引 [param idx] 处项目的子菜单。子菜单是全局菜单根的 ID,单击该项目时将"
+"显示该菜单根。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Sets the [String] tooltip of the item at the specified index [param idx].\n"
+"[b]Note:[/b] This method is implemented on macOS."
+msgstr ""
+"设置指定索引 [param idx] 处项的 [String] 工具提示。\n"
+"[b]注意:[/b]该方法在 macOS 上实现。"
+
+msgid ""
+"Returns [code]true[/code] if OS is using dark mode.\n"
+"[b]Note:[/b] This method is implemented on macOS, Windows and Linux (X11)."
+msgstr ""
+"如果操作系统正在使用暗黑模式,则返回 [code]true[/code]。\n"
+"[b]注意:[/b]这个方法在 macOS、Windows 和 Linux(X11)上实现。"
+
+msgid ""
+"Returns [code]true[/code] if OS supports dark mode.\n"
+"[b]Note:[/b] This method is implemented on macOS, Windows and Linux (X11)."
+msgstr ""
+"如果操作系统支持暗黑模式,则返回 [code]true[/code]。\n"
+"[b]注意:[/b]这个方法在 macOS、Windows 和 Linux(X11)上实现。"
+
+msgid ""
+"Returns active keyboard layout index.\n"
+"[b]Note:[/b] This method is implemented on Linux (X11), macOS and Windows."
+msgstr ""
+"返回激活的键盘布局的索引。\n"
+"[b]注意:[/b]本方法在 Linux(X11)、macOS 和 Windows 上实现。"
+
+msgid ""
+"Converts a physical (US QWERTY) [param keycode] to one in the active "
+"keyboard layout.\n"
+"[b]Note:[/b] This method is implemented on Linux (X11), macOS and Windows."
+msgstr ""
+"将物理(美式 QWERTY)键码 [param keycode] 转换为激活键盘布局中的键码。\n"
+"[b]注意:[/b]本方法在 Linux(X11)、macOS 和 Windows 上实现。"
+
+msgid ""
+"Returns the number of keyboard layouts.\n"
+"[b]Note:[/b] This method is implemented on Linux (X11), macOS and Windows."
+msgstr ""
+"返回键盘布局的数量。\n"
+"[b]注意:[/b]本方法在 Linux(X11)、macOS 和 Windows 上实现。"
+
+msgid ""
+"Returns the ISO-639/BCP-47 language code of the keyboard layout at position "
+"[param index].\n"
+"[b]Note:[/b] This method is implemented on Linux (X11), macOS and Windows."
+msgstr ""
+"返回位于 [param index] 位置的键盘布局的 ISO-639/BCP-47 语言代码。\n"
+"[b]注意:[/b]本方法在 Linux(X11)、macOS 和 Windows 上实现。"
+
+msgid ""
+"Returns the localized name of the keyboard layout at position [param "
+"index].\n"
+"[b]Note:[/b] This method is implemented on Linux (X11), macOS and Windows."
+msgstr ""
+"返回位于 [param index] 位置的键盘布局的本地化名称。\n"
+"[b]注意:[/b]本方法在 Linux(X11)、macOS 和 Windows 上实现。"
+
+msgid ""
+"Sets the active keyboard layout.\n"
+"[b]Note:[/b] This method is implemented on Linux (X11), macOS and Windows."
+msgstr ""
+"设置激活的键盘布局。\n"
+"[b]注意:[/b]本方法在 Linux(X11)、macOS 和 Windows 上实现。"
+
+msgid "Returns the current mouse mode. See also [method mouse_set_mode]."
+msgstr "返回当前的鼠标模式。另见 [method mouse_set_mode]。"
+
+msgid "Returns the mouse cursor's current position."
+msgstr "返回鼠标光标当前位置。"
+
+msgid "Sets the current mouse mode. See also [method mouse_get_mode]."
+msgstr "设置当前的鼠标模式。另见 [method mouse_get_mode]。"
+
msgid ""
"Returns the total number of available tablet drivers.\n"
"[b]Note:[/b] This method is implemented on Windows."
@@ -9432,15 +21552,785 @@ msgstr ""
msgid "Hides the virtual keyboard if it is shown, does nothing otherwise."
msgstr "如果虚拟键盘为显示状态则隐藏虚拟键盘,否则不做任何操作。"
+msgid ""
+"Shows the virtual keyboard if the platform has one.\n"
+"[param existing_text] parameter is useful for implementing your own "
+"[LineEdit] or [TextEdit], as it tells the virtual keyboard what text has "
+"already been typed (the virtual keyboard uses it for auto-correct and "
+"predictions).\n"
+"[param position] parameter is the screen space [Rect2] of the edited text.\n"
+"[param type] parameter allows configuring which type of virtual keyboard to "
+"show.\n"
+"[param max_length] limits the number of characters that can be entered if "
+"different from [code]-1[/code].\n"
+"[param cursor_start] can optionally define the current text cursor position "
+"if [param cursor_end] is not set.\n"
+"[param cursor_start] and [param cursor_end] can optionally define the "
+"current text selection.\n"
+"[b]Note:[/b] This method is implemented on Android, iOS and Web."
+msgstr ""
+"如果该平台有虚拟键盘,则显示虚拟键盘。\n"
+"[param existing_text] 参数对于实现您自己的 [LineEdit] 或 [TextEdit] 很有用,"
+"因为它告诉虚拟键盘已经输入了哪些文本(虚拟键盘使用它进行自动更正和预测)。\n"
+"[param position] 参数为编辑文本的屏幕空间 [Rect2]。\n"
+"[param type] 参数允许配置要显示的虚拟键盘类型。\n"
+"[param max_length] 在当与 [code]-1[/code] 不同时,限制可输入的字符数。\n"
+"如果未设置 [param cursor_end],则可选参数 [param cursor_start] 可以定义当前文"
+"本光标位置。\n"
+"可选参数 [param cursor_start] 和 [param cursor_end],可以定义当前文本选区。\n"
+"[b]注意:[/b]该方法在 Android、iOS 和 Web 上实现。"
+
+msgid ""
+"Sets the mouse cursor position to the given [param position] relative to an "
+"origin at the upper left corner of the currently focused game Window Manager "
+"window.\n"
+"[b]Note:[/b] [method warp_mouse] is only supported on Windows, macOS and "
+"Linux. It has no effect on Android, iOS and Web."
+msgstr ""
+"将鼠标光标位置设置为相对于当前聚焦的游戏窗口管理器窗口左上角的原点的给定 "
+"[param position]。\n"
+"[b]注意:[/b][method warp_mouse] 仅在 Windows、macOS 和 Linux 上受支持。它在 "
+"Android、iOS 和 Web 上无效。"
+
+msgid ""
+"Returns the window's maximum size (in pixels). See also [method "
+"window_set_max_size]."
+msgstr "返回该窗口的最大尺寸,单位为像素。另见 [member window_set_max_size]。"
+
+msgid ""
+"Returns the window's minimum size (in pixels). See also [method "
+"window_set_min_size]."
+msgstr "返回该窗口的最小尺寸,单位为像素。另见 [member window_set_min_size]。"
+
+msgid "Returns the mode of the given window."
+msgstr "返回给定窗口的模式。"
+
+msgid ""
+"Returns the position of the client area of the given window on the screen."
+msgstr "返回屏幕上给定窗口的客户端区域位置。"
+
+msgid "Returns the V-Sync mode of the given window."
+msgstr "返回给定窗口的垂直同步模式。"
+
+msgid ""
+"Returns [code]true[/code] if the given window can be maximized (the maximize "
+"button is enabled)."
+msgstr ""
+"如果给定的窗口能够最大化(最大化按钮已启用),则返回 [code]true[/code]。"
+
+msgid ""
+"Sets the maximum size of the window specified by [param window_id] in "
+"pixels. Normally, the user will not be able to drag the window to make it "
+"smaller than the specified size. See also [method window_get_max_size].\n"
+"[b]Note:[/b] It's recommended to change this value using [member Window."
+"max_size] instead.\n"
+"[b]Note:[/b] Using third-party tools, it is possible for users to disable "
+"window geometry restrictions and therefore bypass this limit."
+msgstr ""
+"设置由 [param window_id] 指定的窗口的最大大小(单位为像素)。通常,用户将无法"
+"拖动窗口使其小于指定大小。另见 [method window_get_max_size]。\n"
+"[b]注意:[/b]建议改用 [member Window.max_size] 更改此值。\n"
+"[b]注意:[/b]使用第三方工具,用户可以禁用窗口几何限制,从而绕过此限制。"
+
+msgid ""
+"Sets the minimum size for the given window to [param min_size] (in pixels). "
+"Normally, the user will not be able to drag the window to make it larger "
+"than the specified size. See also [method window_get_min_size].\n"
+"[b]Note:[/b] It's recommended to change this value using [member Window."
+"min_size] instead.\n"
+"[b]Note:[/b] By default, the main window has a minimum size of "
+"[code]Vector2i(64, 64)[/code]. This prevents issues that can arise when the "
+"window is resized to a near-zero size.\n"
+"[b]Note:[/b] Using third-party tools, it is possible for users to disable "
+"window geometry restrictions and therefore bypass this limit."
+msgstr ""
+"将给定窗口的最小大小设置为 [param min_size](单位为像素)。通常,用户将无法拖"
+"动窗口使其大于指定大小。另见 [method window_get_min_size]。\n"
+"[b]注意:[/b]建议改用 [member Window.min_size] 来更改此值。\n"
+"[b]注意:[/b]默认情况下,主窗口的最小大小为 [code]Vector2i(64, 64)[/code]。这"
+"可以防止将窗口调整为接近零的大小时可能出现的问题。\n"
+"[b]注意:[/b]使用第三方工具,用户可以禁用窗口几何限制,从而绕过此限制。"
+
+msgid ""
+"Sets a polygonal region of the window which accepts mouse events. Mouse "
+"events outside the region will be passed through.\n"
+"Passing an empty array will disable passthrough support (all mouse events "
+"will be intercepted by the window, which is the default behavior).\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Set region, using Path2D node.\n"
+"DisplayServer.window_set_mouse_passthrough($Path2D.curve."
+"get_baked_points())\n"
+"\n"
+"# Set region, using Polygon2D node.\n"
+"DisplayServer.window_set_mouse_passthrough($Polygon2D.polygon)\n"
+"\n"
+"# Reset region to default.\n"
+"DisplayServer.window_set_mouse_passthrough([])\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Set region, using Path2D node.\n"
+"DisplayServer.WindowSetMousePassthrough(GetNode<Path2D>(\"Path2D\").Curve."
+"GetBakedPoints());\n"
+"\n"
+"// Set region, using Polygon2D node.\n"
+"DisplayServer.WindowSetMousePassthrough(GetNode<Polygon2D>(\"Polygon2D\")."
+"Polygon);\n"
+"\n"
+"// Reset region to default.\n"
+"DisplayServer.WindowSetMousePassthrough(new Vector2[] {});\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] On Windows, the portion of a window that lies outside the "
+"region is not drawn, while on Linux (X11) and macOS it is.\n"
+"[b]Note:[/b] This method is implemented on Linux (X11), macOS and Windows."
+msgstr ""
+"设置一个接受鼠标事件的窗口的多边形区域。该区域外的鼠标事件将被传递出去。\n"
+"传递一个空数组将禁用穿透支持(所有鼠标事件将被窗口拦截,这是默认行为)。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 设置区域,使用 Path2D 节点。\n"
+"DisplayServer.window_set_mouse_passthrough($Path2D.curve."
+"get_baked_points())\n"
+"\n"
+"# 设置区域,使用 Polygon2D 节点。\n"
+"DisplayServer.window_set_mouse_passthrough($Polygon2D.polygon)\n"
+"\n"
+"# 重置区域为默认值。\n"
+"DisplayServer.window_set_mouse_passthrough([])\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 设置区域,使用 Path2D 节点。\n"
+"DisplayServer.WindowSetMousePassthrough(GetNode<Path2D>(\"Path2D\").Curve."
+"GetBakedPoints());\n"
+"\n"
+"// 设置区域,使用 Polygon2D 节点。\n"
+"DisplayServer.WindowSetMousePassthrough(GetNode<Polygon2D>(\"Polygon2D\")."
+"Polygon);\n"
+"\n"
+"// 重置区域为默认值。\n"
+"DisplayServer.WindowSetMousePassthrough(new Vector2[] {});\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]在 Windows 上,不会绘制位于区域之外的窗口部分,而在 Linux(X11)"
+"和 macOS 上则会绘制。\n"
+"[b]注意:[/b]该方法在 Linux(X11)、macOS 和 Windows 上实现。"
+
+msgid ""
+"Sets the position of the given window to [param position]. On multi-monitor "
+"setups, the screen position is relative to the virtual desktop area. On "
+"multi-monitor setups with different screen resolutions or orientations, the "
+"origin may be located outside any display like this:\n"
+"[codeblock]\n"
+"* (0, 0) +-------+\n"
+" | |\n"
+"+-------------+ | |\n"
+"| | | |\n"
+"| | | |\n"
+"+-------------+ +-------+\n"
+"[/codeblock]\n"
+"See also [method window_get_position] and [method window_set_size].\n"
+"[b]Note:[/b] It's recommended to change this value using [member Window."
+"position] instead."
+msgstr ""
+"将给定窗口的位置设置为 [param position]。在多显示器设置中,屏幕位置是相对于虚"
+"拟桌面区域的。在具有不同屏幕分辨率或方向的多显示器设置中,原点可能位于任何显"
+"示器之外,如下所示:\n"
+"[codeblock]\n"
+"* (0, 0) +-------+\n"
+" | |\n"
+"+-------------+ | |\n"
+"| | | |\n"
+"| | | |\n"
+"+-------------+ +-------+\n"
+"[/codeblock]\n"
+"另见 [method window_get_position] 和 [method window_set_size]。\n"
+"[b]注意:[/b]建议改用 [member Window.position] 更改此值。"
+
+msgid ""
+"Sets the size of the given window to [param size] (in pixels). See also "
+"[method window_get_size] and [method window_get_position].\n"
+"[b]Note:[/b] It's recommended to change this value using [member Window."
+"size] instead."
+msgstr ""
+"将给定窗口的大小设置为 [param size](单位为像素)。另见 [method "
+"window_get_size] 和 [method window_get_position]。\n"
+"[b]注意:[/b]建议改用 [member Window.size] 更改此值。"
+
+msgid ""
+"Sets the title of the given window to [param title].\n"
+"[b]Note:[/b] It's recommended to change this value using [member Window."
+"title] instead.\n"
+"[b]Note:[/b] Avoid changing the window title every frame, as this can cause "
+"performance issues on certain window managers. Try to change the window "
+"title only a few times per second at most."
+msgstr ""
+"将给定窗口的标题设置为 [param title]。\n"
+"[b]注意:[/b]建议改用 [member Window.title] 更改此值。\n"
+"[b]注意:[/b]避免每一帧都更改窗口标题,因为这会导致某些窗口管理器出现性能问"
+"题。尝试每秒最多更改几次窗口标题。"
+
+msgid ""
+"Sets window transient parent. Transient window is will be destroyed with its "
+"transient parent and will return focus to their parent when closed. The "
+"transient window is displayed on top of a non-exclusive full-screen parent "
+"window. Transient windows can't enter full-screen mode.\n"
+"[b]Note:[/b] It's recommended to change this value using [member Window."
+"transient] instead.\n"
+"[b]Note:[/b] The behavior might be different depending on the platform."
+msgstr ""
+"设置窗口瞬态父级。瞬态窗口将与其瞬态父级一起销毁,并在关闭时将焦点返回到它们"
+"的父级。瞬态窗口显示在非排他性全屏父窗口的顶部。瞬态窗口无法进入全屏模式。\n"
+"[b]注意:[/b]建议改用 [member Window.transient] 更改此值。\n"
+"[b]注意:[/b]行为可能因平台而异。"
+
+msgid ""
+"Display server supports global menu. This allows the application to display "
+"its menu items in the operating system's top bar. [b]macOS[/b]"
+msgstr ""
+"显示服务器支持全局菜单。能够让应用程序在操作系统的顶部栏显示其菜单项。"
+"[b]macOS[/b]"
+
+msgid ""
+"Display server supports multiple windows that can be moved outside of the "
+"main window. [b]Windows, macOS, Linux (X11)[/b]"
+msgstr ""
+"显示服务器支持多窗口,可以移动到主窗口之外。[b]Windows、macOS、Linux(X11)[/"
+"b]"
+
+msgid ""
+"Display server supports touchscreen input. [b]Windows, Linux (X11), Android, "
+"iOS, Web[/b]"
+msgstr ""
+"显示服务器支持触屏输入。[b]Windows、Linux(X11)、Android、iOS、Web[/b]"
+
+msgid ""
+"Display server supports mouse input. [b]Windows, macOS, Linux (X11), "
+"Android, Web[/b]"
+msgstr ""
+"显示服务器支持鼠标输入。[b]Windows、macOS、Linux(X11)、Android、Web[/b]"
+
+msgid ""
+"Display server supports setting and getting clipboard data. See also "
+"[constant FEATURE_CLIPBOARD_PRIMARY]. [b]Windows, macOS, Linux (X11), "
+"Android, iOS, Web[/b]"
+msgstr ""
+"显示服务器支持剪贴板数据的设置和获取。另见 [constant "
+"FEATURE_CLIPBOARD_PRIMARY]。[b]Windows、macOS、Linux(X11)、Android、iOS、"
+"Web[/b]"
+
+msgid ""
+"Display server supports popping up a virtual keyboard when requested to "
+"input text without a physical keyboard. [b]Android, iOS, Web[/b]"
+msgstr ""
+"显示服务器支持在请求输入文本但没有物理键盘时弹出虚拟键盘。[b]Android、iOS、"
+"Web[/b]"
+
+msgid ""
+"Display server supports setting the mouse cursor shape to be different from "
+"the default. [b]Windows, macOS, Linux (X11), Android, Web[/b]"
+msgstr ""
+"显示服务器支持将鼠标光标形状设置为与默认不同。[b]Windows、macOS、Linux"
+"(X11)、Android、Web[/b]"
+
+msgid ""
+"Display server supports setting the mouse cursor shape to a custom image. "
+"[b]Windows, macOS, Linux (X11), Web[/b]"
+msgstr ""
+"显示服务器支持将鼠标光标形状设置为自定义图像。[b]Windows、macOS、Linux"
+"(X11)、Web[/b]"
+
+msgid ""
+"Display server supports changing the window icon (usually displayed in the "
+"top-left corner). [b]Windows, macOS, Linux (X11)[/b]"
+msgstr ""
+"显示服务器支持改变窗口图标(通常显示在左上角)。[b]Windows、macOS、Linux"
+"(X11)[/b]"
+
+msgid ""
+"Display server supports changing the window icon (usually displayed in the "
+"top-left corner). [b]Windows, macOS[/b]"
+msgstr "显示服务器支持改变窗口图标(通常显示在左上角)。[b]Windows、macOS[/b]"
+
+msgid ""
+"Display server supports changing the screen orientation. [b]Android, iOS[/b]"
+msgstr "显示服务器支持改变屏幕朝向。[b]Android、iOS[/b]"
+
msgid "Makes the mouse cursor visible if it is hidden."
msgstr "如果鼠标光标处于隐藏状态,则使其可见。"
msgid "Makes the mouse cursor hidden if it is visible."
msgstr "如果鼠标光标是可见的,则使其隐藏。"
+msgid ""
+"Captures the mouse. The mouse will be hidden and its position locked at the "
+"center of the window manager's window.\n"
+"[b]Note:[/b] If you want to process the mouse's movement in this mode, you "
+"need to use [member InputEventMouseMotion.relative]."
+msgstr ""
+"捕获鼠标。鼠标将被隐藏,其位置被锁定在窗口管理器窗口的中心。\n"
+"[b]注意:[/b]如果你想在这种模式下处理鼠标的移动,则需要使用 [member "
+"InputEventMouseMotion.relative]。"
+
+msgid "Confines the mouse cursor to the game window, and make it visible."
+msgstr "将鼠标光标限制在游戏窗口内,并使其可见。"
+
+msgid "Confines the mouse cursor to the game window, and make it hidden."
+msgstr "将鼠标光标限制在游戏窗口内,并使其隐藏。"
+
+msgid "Represents the primary screen."
+msgstr "代表主屏幕。"
+
+msgid ""
+"Represents the screen where the main window is located. This is usually the "
+"default value in functions that allow specifying one of several screens."
+msgstr "代表主窗口所在的屏幕。如果函数允许指定不同的屏幕,这个值通常是默认值。"
+
+msgid "Default landscape orientation."
+msgstr "默认横屏朝向。"
+
+msgid "Default portrait orienstation."
+msgstr "默认竖屏朝向。"
+
+msgid "Reverse landscape orientation (upside down)."
+msgstr "倒横屏朝向(上下颠倒)。"
+
+msgid "Reverse portrait orientation (upside down)."
+msgstr "倒竖屏朝向(上下颠倒)。"
+
+msgid ""
+"Automatic landscape orientation (default or reverse depending on sensor)."
+msgstr "自动横屏朝向(传感器决定默认或倒向)。"
+
+msgid ""
+"Automatic portrait orientation (default or reverse depending on sensor)."
+msgstr "自动竖屏朝向(传感器决定默认或倒向)。"
+
+msgid ""
+"Automatic landscape or portrait orientation (default or reverse depending on "
+"sensor)."
+msgstr "自动横屏或竖屏朝向(传感器决定默认或倒向)。"
+
+msgid "Default text virtual keyboard."
+msgstr "默认文本虚拟键盘。"
+
+msgid "Multiline virtual keyboard."
+msgstr "多行虚拟键盘。"
+
+msgid "Virtual number keypad, useful for PIN entry."
+msgstr "虚拟数字键盘,可用于 PIN 输入。"
+
+msgid "Virtual number keypad, useful for entering fractional numbers."
+msgstr "虚拟数字键盘,可用于输入小数。"
+
+msgid "Virtual phone number keypad."
+msgstr "虚拟手机号码键盘。"
+
+msgid ""
+"Virtual keyboard with additional keys to assist with typing email addresses."
+msgstr "带有附加键的虚拟键盘,可帮助输入电子邮件地址。"
+
+msgid ""
+"Virtual keyboard for entering a password. On most platforms, this should "
+"disable autocomplete and autocapitalization.\n"
+"[b]Note:[/b] This is not supported on Web. Instead, this behaves identically "
+"to [constant KEYBOARD_TYPE_DEFAULT]."
+msgstr ""
+"用于输入密码的虚拟键盘。在大多数平台上,这应该会禁用自动完成和自动首字母大写"
+"功能。\n"
+"[b]注意:[/b]Web 平台不支持。与 [constant KEYBOARD_TYPE_DEFAULT] 的行为相同。"
+
+msgid "Virtual keyboard with additional keys to assist with typing URLs."
+msgstr "带有附加键的虚拟键盘,可帮助输入 URL。"
+
+msgid "Represents the size of the [enum CursorShape] enum."
+msgstr "代表 [enum CursorShape] 枚举的大小。"
+
+msgid ""
+"Windowed mode, i.e. [Window] doesn't occupy the whole screen (unless set to "
+"the size of the screen)."
+msgstr "窗口模式,即 [Window] 不占据整个屏幕(除非设置为屏幕的大小)。"
+
+msgid ""
+"Minimized window mode, i.e. [Window] is not visible and available on window "
+"manager's window list. Normally happens when the minimize button is pressed."
+msgstr ""
+"最小化窗口模式,即 [Window] 在窗口管理器的窗口列表中既不可见也不可用。通常发"
+"生在按下最小化按钮时。"
+
+msgid "Max value of the [enum WindowFlags]."
+msgstr "[enum WindowFlags] 的最大值。"
+
+msgid ""
+"Sent when the mouse pointer enters the window, see [method "
+"window_set_window_event_callback]."
+msgstr ""
+"当鼠标指针进入该窗口时发送,见 [method window_set_window_event_callback]。"
+
+msgid ""
+"Sent when the mouse pointer exits the window, see [method "
+"window_set_window_event_callback]."
+msgstr ""
+"当鼠标指针退出该窗口时发送,见 [method window_set_window_event_callback]。"
+
+msgid ""
+"Sent when the window grabs focus, see [method "
+"window_set_window_event_callback]."
+msgstr "当该窗口获得焦点时发送,见 [method window_set_window_event_callback]。"
+
+msgid ""
+"Sent when the window loses focus, see [method "
+"window_set_window_event_callback]."
+msgstr "当该窗口失去焦点时发送,见 [method window_set_window_event_callback]。"
+
msgid "Helper class to implement a DTLS server."
msgstr "实现 DTLS 服务器的辅助类。"
+msgid ""
+"This class is used to store the state of a DTLS server. Upon [method setup] "
+"it converts connected [PacketPeerUDP] to [PacketPeerDTLS] accepting them via "
+"[method take_connection] as DTLS clients. Under the hood, this class is used "
+"to store the DTLS state and cookies of the server. The reason of why the "
+"state and cookies are needed is outside of the scope of this documentation.\n"
+"Below a small example of how to use it:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# server_node.gd\n"
+"extends Node\n"
+"\n"
+"var dtls := DTLSServer.new()\n"
+"var server := UDPServer.new()\n"
+"var peers = []\n"
+"\n"
+"func _ready():\n"
+" server.listen(4242)\n"
+" var key = load(\"key.key\") # Your private key.\n"
+" var cert = load(\"cert.crt\") # Your X509 certificate.\n"
+" dtls.setup(key, cert)\n"
+"\n"
+"func _process(delta):\n"
+" while server.is_connection_available():\n"
+" var peer : PacketPeerUDP = server.take_connection()\n"
+" var dtls_peer : PacketPeerDTLS = dtls.take_connection(peer)\n"
+" if dtls_peer.get_status() != PacketPeerDTLS.STATUS_HANDSHAKING:\n"
+" continue # It is normal that 50% of the connections fails due to "
+"cookie exchange.\n"
+" print(\"Peer connected!\")\n"
+" peers.append(dtls_peer)\n"
+"\n"
+" for p in peers:\n"
+" p.poll() # Must poll to update the state.\n"
+" if p.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n"
+" while p.get_available_packet_count() > 0:\n"
+" print(\"Received message from client: %s\" % p.get_packet()."
+"get_string_from_utf8())\n"
+" p.put_packet(\"Hello DTLS client\".to_utf8())\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// ServerNode.cs\n"
+"using Godot;\n"
+"\n"
+"public partial class ServerNode : Node\n"
+"{\n"
+" private DtlsServer _dtls = new DtlsServer();\n"
+" private UdpServer _server = new UdpServer();\n"
+" private Godot.Collections.Array<PacketPeerDTLS> _peers = new Godot."
+"Collections.Array<PacketPeerDTLS>();\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" _server.Listen(4242);\n"
+" var key = GD.Load<CryptoKey>(\"key.key\"); // Your private key.\n"
+" var cert = GD.Load<X509Certificate>(\"cert.crt\"); // Your X509 "
+"certificate.\n"
+" _dtls.Setup(key, cert);\n"
+" }\n"
+"\n"
+" public override void _Process(double delta)\n"
+" {\n"
+" while (Server.IsConnectionAvailable())\n"
+" {\n"
+" PacketPeerUDP peer = _server.TakeConnection();\n"
+" PacketPeerDTLS dtlsPeer = _dtls.TakeConnection(peer);\n"
+" if (dtlsPeer.GetStatus() != PacketPeerDtls.Status.Handshaking)\n"
+" {\n"
+" continue; // It is normal that 50% of the connections fails "
+"due to cookie exchange.\n"
+" }\n"
+" GD.Print(\"Peer connected!\");\n"
+" _peers.Add(dtlsPeer);\n"
+" }\n"
+"\n"
+" foreach (var p in _peers)\n"
+" {\n"
+" p.Poll(); // Must poll to update the state.\n"
+" if (p.GetStatus() == PacketPeerDtls.Status.Connected)\n"
+" {\n"
+" while (p.GetAvailablePacketCount() > 0)\n"
+" {\n"
+" GD.Print($\"Received Message From Client: {p.GetPacket()."
+"GetStringFromUtf8()}\");\n"
+" p.PutPacket(\"Hello DTLS Client\".ToUtf8());\n"
+" }\n"
+" }\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# client_node.gd\n"
+"extends Node\n"
+"\n"
+"var dtls := PacketPeerDTLS.new()\n"
+"var udp := PacketPeerUDP.new()\n"
+"var connected = false\n"
+"\n"
+"func _ready():\n"
+" udp.connect_to_host(\"127.0.0.1\", 4242)\n"
+" dtls.connect_to_peer(udp, false) # Use true in production for "
+"certificate validation!\n"
+"\n"
+"func _process(delta):\n"
+" dtls.poll()\n"
+" if dtls.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n"
+" if !connected:\n"
+" # Try to contact server\n"
+" dtls.put_packet(\"The answer is... 42!\".to_utf8())\n"
+" while dtls.get_available_packet_count() > 0:\n"
+" print(\"Connected: %s\" % dtls.get_packet()."
+"get_string_from_utf8())\n"
+" connected = true\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// ClientNode.cs\n"
+"using Godot;\n"
+"using System.Text;\n"
+"\n"
+"public partial class ClientNode : Node\n"
+"{\n"
+" private PacketPeerDtls _dtls = new PacketPeerDtls();\n"
+" private PacketPeerUdp _udp = new PacketPeerUdp();\n"
+" private bool _connected = false;\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n"
+" _dtls.ConnectToPeer(_udp, validateCerts: false); // Use true in "
+"production for certificate validation!\n"
+" }\n"
+"\n"
+" public override void _Process(double delta)\n"
+" {\n"
+" _dtls.Poll();\n"
+" if (_dtls.GetStatus() == PacketPeerDtls.Status.Connected)\n"
+" {\n"
+" if (!_connected)\n"
+" {\n"
+" // Try to contact server\n"
+" _dtls.PutPacket(\"The Answer Is..42!\".ToUtf8());\n"
+" }\n"
+" while (_dtls.GetAvailablePacketCount() > 0)\n"
+" {\n"
+" GD.Print($\"Connected: {_dtls.GetPacket()."
+"GetStringFromUtf8()}\");\n"
+" _connected = true;\n"
+" }\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"该类用于存储 DTLS 服务器的状态。在 [method setup] 之后,它将连接的 "
+"[PacketPeerUDP] 转换为 [PacketPeerDTLS],通过 [method take_connection] 接受它"
+"们作为 DTLS 客户端。在底层,这个类用于存储服务器的 DTLS 状态和 cookie。为什么"
+"需要状态和 cookie 的原因不在本文档的范围内。\n"
+"下面是一个如何使用它的小例子:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# server_node.gd\n"
+"extends Node\n"
+"\n"
+"var dtls := DTLSServer.new()\n"
+"var server := UDPServer.new()\n"
+"var peers = []\n"
+"\n"
+"func _ready():\n"
+" server.listen(4242)\n"
+" var key = load(\"key.key\") # 你的私钥。\n"
+" var cert = load(\"cert.crt\") # 你的 X509 证书。\n"
+" dtls.setup(key, cert)\n"
+"\n"
+"func _process(delta):\n"
+" while server.is_connection_available():\n"
+" var peer : PacketPeerUDP = server.take_connection()\n"
+" var dtls_peer : PacketPeerDTLS = dtls.take_connection(peer)\n"
+" if dtls_peer.get_status() != PacketPeerDTLS.STATUS_HANDSHAKING:\n"
+" continue # 由于 cookie 交换,50% 的连接会失败,这是正常现象。\n"
+" print(\"对等体已连接!\")\n"
+" peers.append(dtls_peer)\n"
+"\n"
+" for p in peers:\n"
+" p.poll() # Must poll to update the state.\n"
+" if p.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n"
+" while p.get_available_packet_count() > 0:\n"
+" print(\"从客户端收到消息:%s\" % p.get_packet()."
+"get_string_from_utf8())\n"
+" p.put_packet(\"你好 DTLS 客户端\".to_utf8())\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// ServerNode.cs\n"
+"using Godot;\n"
+"\n"
+"public partial class ServerNode : Node\n"
+"{\n"
+" private DtlsServer _dtls = new DtlsServer();\n"
+" private UdpServer _server = new UdpServer();\n"
+" private Godot.Collections.Array<PacketPeerDTLS> _peers = new Godot."
+"Collections.Array<PacketPeerDTLS>();\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" _server.Listen(4242);\n"
+" var key = GD.Load<CryptoKey>(\"key.key\"); // 你的私钥。\n"
+" var cert = GD.Load<X509Certificate>(\"cert.crt\"); // 你的 X509 证"
+"书。\n"
+" _dtls.Setup(key, cert);\n"
+" }\n"
+"\n"
+" public override void _Process(double delta)\n"
+" {\n"
+" while (Server.IsConnectionAvailable())\n"
+" {\n"
+" PacketPeerUDP peer = _server.TakeConnection();\n"
+" PacketPeerDTLS dtlsPeer = _dtls.TakeConnection(peer);\n"
+" if (dtlsPeer.GetStatus() != PacketPeerDtls.Status.Handshaking)\n"
+" {\n"
+" continue; // 由于 cookie 交换,50% 的连接会失败,这是正常现"
+"象。\n"
+" }\n"
+" GD.Print(\"对等体已连接!\");\n"
+" _peers.Add(dtlsPeer);\n"
+" }\n"
+"\n"
+" foreach (var p in _peers)\n"
+" {\n"
+" p.Poll(); // Must poll to update the state.\n"
+" if (p.GetStatus() == PacketPeerDtls.Status.Connected)\n"
+" {\n"
+" while (p.GetAvailablePacketCount() > 0)\n"
+" {\n"
+" GD.Print($\"从客户端收到消息: {p.GetPacket()."
+"GetStringFromUtf8()}\");\n"
+" p.PutPacket(\"你好 DTLS 客户端\".ToUtf8());\n"
+" }\n"
+" }\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# client_node.gd\n"
+"extends Node\n"
+"\n"
+"var dtls := PacketPeerDTLS.new()\n"
+"var udp := PacketPeerUDP.new()\n"
+"var connected = false\n"
+"\n"
+"func _ready():\n"
+" udp.connect_to_host(\"127.0.0.1\", 4242)\n"
+" dtls.connect_to_peer(udp, false) # 生产环境中请使用 true 进行证书校验!\n"
+"\n"
+"func _process(delta):\n"
+" dtls.poll()\n"
+" if dtls.get_status() == PacketPeerDTLS.STATUS_CONNECTED:\n"
+" if !connected:\n"
+" # 尝试联系服务器\n"
+" dtls.put_packet(\"回应是… 42!\".to_utf8())\n"
+" while dtls.get_available_packet_count() > 0:\n"
+" print(\"已连接:%s\" % dtls.get_packet()."
+"get_string_from_utf8())\n"
+" connected = true\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// ClientNode.cs\n"
+"using Godot;\n"
+"using System.Text;\n"
+"\n"
+"public partial class ClientNode : Node\n"
+"{\n"
+" private PacketPeerDtls _dtls = new PacketPeerDtls();\n"
+" private PacketPeerUdp _udp = new PacketPeerUdp();\n"
+" private bool _connected = false;\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n"
+" _dtls.ConnectToPeer(_udp, validateCerts: false); // 生产环境中请使用 "
+"true 进行证书校验!\n"
+" }\n"
+"\n"
+" public override void _Process(double delta)\n"
+" {\n"
+" _dtls.Poll();\n"
+" if (_dtls.GetStatus() == PacketPeerDtls.Status.Connected)\n"
+" {\n"
+" if (!_connected)\n"
+" {\n"
+" // 尝试联系服务器\n"
+" _dtls.PutPacket(\"回应是… 42!\".ToUtf8());\n"
+" }\n"
+" while (_dtls.GetAvailablePacketCount() > 0)\n"
+" {\n"
+" GD.Print($\"已连接:{_dtls.GetPacket()."
+"GetStringFromUtf8()}\");\n"
+" _connected = true;\n"
+" }\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid "Godot editor's command palette."
+msgstr "Godot 编辑器的命令面板。"
+
+msgid ""
+"Adds a custom command to EditorCommandPalette.\n"
+"- [param command_name]: [String] (Name of the [b]Command[/b]. This is "
+"displayed to the user.)\n"
+"- [param key_name]: [String] (Name of the key for a particular [b]Command[/"
+"b]. This is used to uniquely identify the [b]Command[/b].)\n"
+"- [param binded_callable]: [Callable] (Callable of the [b]Command[/b]. This "
+"will be executed when the [b]Command[/b] is selected.)\n"
+"- [param shortcut_text]: [String] (Shortcut text of the [b]Command[/b] if "
+"available.)"
+msgstr ""
+"向 EditorCommandPalette 添加自定义命令。\n"
+"- [param command_name]:[String]([b]Command[/b] 的名称。这会显示给用户。)\n"
+"- [param key_name]:[String](特定 [b]Command[/b] 的密钥名称。这用于唯一标识 "
+"[b]Command[/b]。)\n"
+"- [param binded_callable]:[Callable]([b]Command[/b] 的 Callable。这将在选"
+"择 [b]Command[/b] 时执行。)\n"
+"- [param shortcut_text]:[String]([b]Command[/b] 的快捷键文本,如果可用。)"
+
+msgid ""
+"Returns an array of [EditorDebuggerSession] currently available to this "
+"debugger plugin.\n"
+"Note: Not sessions in the array may be inactive, check their state via "
+"[method EditorDebuggerSession.is_active]"
+msgstr ""
+"返回该调试器插件当前可用的 [EditorDebuggerSession] 数组。\n"
+"注意:不是数组中的会话可能处于非活动状态,通过 [method EditorDebuggerSession."
+"is_active] 检查它们的状态"
+
+msgid "A class to interact with the editor debugger."
+msgstr "与编辑器调试器交互的类。"
+
msgid "A script that is executed when exporting the project."
msgstr "在导出项目时执行的脚本。"
@@ -9491,7 +22381,7 @@ msgstr "在 [method _export_file] 中调用。跳过当前文件,因此它不
msgid ""
"An editor feature profile which can be used to disable specific features."
-msgstr "编辑器功能配置文件,可用于禁用特定功能。"
+msgstr "编辑器功能配置,可用于禁用特定功能。"
msgid ""
"An editor feature profile can be used to disable specific features of the "
@@ -9503,28 +22393,31 @@ msgid ""
"To manage editor feature profiles visually, use [b]Editor > Manage Feature "
"Profiles...[/b] at the top of the editor window."
msgstr ""
-"编辑器功能配置文件可以用来禁用 Godot 编辑器的特定功能。当禁用时,这些功能将不"
-"会出现在编辑器中,从而使编辑器不那么混乱。这个设置使编辑器更简洁,在团队中工"
-"作时。例如,游戏美术和关卡设计师可以使用禁用脚本编辑器的功能配置文件,以避免"
-"意外地对他们不应该编辑的文件进行更改。\n"
-"要可视化地管理编辑器功能配置文件,请使用编辑器窗口顶部的[b]编辑器 >管理功能配"
-"置文件...[/b]。"
+"编辑器功能配置可以用来禁用 Godot 编辑器的特定功能。当禁用时,这些功能将不会出"
+"现在编辑器中,从而使编辑器不那么混乱。这个设置使编辑器更简洁,在团队中工作"
+"时。例如,游戏美术和关卡设计师可以使用禁用脚本编辑器的功能配置,以避免意外地"
+"对他们不应该编辑的文件进行更改。\n"
+"要可视化地管理编辑器功能配置,请使用编辑器窗口顶部的[b]编辑器 >管理功能配"
+"置...[/b]。"
+
+msgid "Returns the specified [param feature]'s human-readable name."
+msgstr "返回指定特性 [param feature] 的人类可读名称。"
msgid ""
"Loads an editor feature profile from a file. The file must follow the JSON "
"format obtained by using the feature profile manager's [b]Export[/b] button "
"or the [method save_to_file] method."
msgstr ""
-"从文件中加载一个编辑器功能配置文件。该文件必须遵循 JSON 格式,通过使用功能配"
-"置文件管理器的[b]导出[/b]按钮或 [method save_to_file] 方法获得。"
+"从文件中加载一个编辑器功能配置。该文件必须遵循 JSON 格式,通过使用功能配置管"
+"理器的[b]导出[/b]按钮或 [method save_to_file] 方法获得。"
msgid ""
"Saves the editor feature profile to a file in JSON format. It can then be "
"imported using the feature profile manager's [b]Import[/b] button or the "
"[method load_from_file] method."
msgstr ""
-"将编辑器的功能配置保存到 JSON 格式的文件中。然后可以使用功能配置文件管理器的"
-"[b]导入[/b]按钮或 [method load_from_file] 方法导入它。"
+"将编辑器的功能配置保存到 JSON 格式的文件中。然后可以使用功能配置管理器的[b]导"
+"入[/b]按钮或 [method load_from_file] 方法导入它。"
msgid ""
"The 3D editor. If this feature is disabled, the 3D editor won't display but "
@@ -9563,11 +22456,24 @@ msgstr "文件系统面板。如果禁用此功能,则文件系统面板将不
msgid ""
"The Import dock. If this feature is disabled, the Import dock won't be "
"visible."
-msgstr "导入扩展面板。如果禁用此功能,则导入扩展面板将不可见。"
+msgstr "导入面板。如果禁用此功能,则导入面板将不可见。"
+
+msgid ""
+"The History dock. If this feature is disabled, the History dock won't be "
+"visible."
+msgstr "历史面板。如果禁用此功能,则历史面板将不可见。"
msgid "A modified version of [FileDialog] used by the editor."
msgstr "编辑器使用的 [FileDialog] 的修改版。"
+msgid ""
+"[EditorFileDialog] is an enhanced version of [FileDialog] available only to "
+"editor plugins. Additional features include list of favorited/recent files "
+"and ability to see files as thumbnails grid instead of list."
+msgstr ""
+"[EditorFileDialog] 是 [FileDialog] 的增强版,只对编辑器插件可用。额外的功能包"
+"括收藏/最近文件列表和以缩略图网格而不是列表的形式查看文件的能力。"
+
msgid "Removes all filters except for \"All Files (*)\"."
msgstr "移除“All Files(*)”筛选器之外的所有筛选器。"
@@ -9705,6 +22611,18 @@ msgstr "扫描文件系统的改动。"
msgid "Check if the source of any imported resource changed."
msgstr "检查是否更改了已导入资源的来源。"
+msgid ""
+"Add a file in an existing directory, or schedule file information to be "
+"updated on editor restart. Can be used to update text files saved by an "
+"external program.\n"
+"This will not import the file. To reimport, call [method reimport_files] or "
+"[method scan] methods."
+msgstr ""
+"在现有目录中添加文件,或计划在编辑器重新启动时更新文件信息。可用于更新由外部"
+"程序保存的文本文件。\n"
+"这不会导入文件。要重新导入,请调用 [method reimport_files] 或 [method scan] "
+"方法。"
+
msgid "Emitted if the filesystem changed."
msgstr "在文件系统更改的时候触发。"
@@ -9715,6 +22633,9 @@ msgid ""
"Emitted if at least one resource is reloaded when the filesystem is scanned."
msgstr "如果在扫描文件系统的时候,至少有一个资源被重新加载,则触发该信号。"
+msgid "Emitted when the list of global script classes gets updated."
+msgstr "更新全局脚本类列表时触发。"
+
msgid "Emitted if the source of any imported file changed."
msgstr "如果导入文件的来源发生变化,则触发。"
@@ -9724,9 +22645,38 @@ msgstr "资源文件系统的目录。"
msgid "A more generalized, low-level variation of the directory concept."
msgstr "目录概念的一个更概括的、低级的概念。"
+msgid ""
+"Returns the index of the directory with name [param name] or [code]-1[/code] "
+"if not found."
+msgstr "返回名为 [param name] 的目录索引,如果未找到返回 [code]-1[/code]。"
+
+msgid ""
+"Returns the index of the file with name [param name] or [code]-1[/code] if "
+"not found."
+msgstr "返回名为 [param name] 的文件索引,如果未找到返回 [code]-1[/code]。"
+
+msgid "Returns the name of the file at index [param idx]."
+msgstr "返回索引 [param idx] 处的文件名。"
+
msgid "Returns the number of files in this directory."
msgstr "返回目录里文件的数量。"
+msgid ""
+"Returns [code]true[/code] if the file at index [param idx] imported properly."
+msgstr "如果索引 [param idx] 处的文件正确导入,则返回 [code]true[/code]。"
+
+msgid "Returns the path to the file at index [param idx]."
+msgstr "返回索引 [param idx] 处的文件所在路径。"
+
+msgid ""
+"Returns the resource type of the file at index [param idx]. This returns a "
+"string such as [code]\"Resource\"[/code] or [code]\"GDScript\"[/code], "
+"[i]not[/i] a file extension such as [code]\".gd\"[/code]."
+msgstr ""
+"返回在索引 [code]idx[/code] 处文件的资源类型。这将返回字符串,如 "
+"[code]\"Resource\"[/code] 或 [code]\"GDScript\"[/code],[i]而不是[/i] 文件扩"
+"展名,如 [code]\".gd\"[/code]。"
+
msgid "Returns the name of this directory."
msgstr "返回这个目录的名字。"
@@ -9740,16 +22690,284 @@ msgstr ""
msgid "Returns the path to this directory."
msgstr "返回这个目录的路径。"
+msgid "Returns the subdirectory at index [param idx]."
+msgstr "返回在索引 [param idx] 处的子目录。"
+
msgid "Returns the number of subdirectories in this directory."
msgstr "返回这个目录的子目录的数量。"
msgid ""
+"This class is used to query and configure a certain import format. It is "
+"used in conjunction with asset format import plugins."
+msgstr "该类用于查询和配置某种导入格式。它与资产格式导入插件配合使用。"
+
+msgid "Return the file extensions supported."
+msgstr "返回支持的文件扩展名。"
+
+msgid "Return whether this importer is active."
+msgstr "返回此导入器是否处于活动状态。"
+
+msgid ""
"Registers a custom resource importer in the editor. Use the class to parse "
"any file and import it as a new resource type."
msgstr ""
"在编辑器中注册一个自定义资源导入器。使用该类来解析任何文件,并将其作为新的资"
"源类型导入。"
+msgid ""
+"[EditorImportPlugin]s provide a way to extend the editor's resource import "
+"functionality. Use them to import resources from custom files or to provide "
+"alternatives to the editor's existing importers.\n"
+"EditorImportPlugins work by associating with specific file extensions and a "
+"resource type. See [method _get_recognized_extensions] and [method "
+"_get_resource_type]. They may optionally specify some import presets that "
+"affect the import process. EditorImportPlugins are responsible for creating "
+"the resources and saving them in the [code].godot/imported[/code] directory "
+"(see [member ProjectSettings.application/config/"
+"use_hidden_project_data_directory]).\n"
+"Below is an example EditorImportPlugin that imports a [Mesh] from a file "
+"with the extension \".special\" or \".spec\":\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@tool\n"
+"extends EditorImportPlugin\n"
+"\n"
+"func _get_importer_name():\n"
+" return \"my.special.plugin\"\n"
+"\n"
+"func _get_visible_name():\n"
+" return \"Special Mesh\"\n"
+"\n"
+"func _get_recognized_extensions():\n"
+" return [\"special\", \"spec\"]\n"
+"\n"
+"func _get_save_extension():\n"
+" return \"mesh\"\n"
+"\n"
+"func _get_resource_type():\n"
+" return \"Mesh\"\n"
+"\n"
+"func _get_preset_count():\n"
+" return 1\n"
+"\n"
+"func _get_preset_name(i):\n"
+" return \"Default\"\n"
+"\n"
+"func _get_import_options(i):\n"
+" return [{\"name\": \"my_option\", \"default_value\": false}]\n"
+"\n"
+"func _import(source_file, save_path, options, platform_variants, "
+"gen_files):\n"
+" var file = FileAccess.open(source_file, FileAccess.READ)\n"
+" if file == null:\n"
+" return FAILED\n"
+" var mesh = ArrayMesh.new()\n"
+" # Fill the Mesh with data read in \"file\", left as an exercise to the "
+"reader.\n"
+"\n"
+" var filename = save_path + \".\" + _get_save_extension()\n"
+" return ResourceSaver.save(mesh, filename)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"\n"
+"public partial class MySpecialPlugin : EditorImportPlugin\n"
+"{\n"
+" public override string _GetImporterName()\n"
+" {\n"
+" return \"my.special.plugin\";\n"
+" }\n"
+"\n"
+" public override string _GetVisibleName()\n"
+" {\n"
+" return \"Special Mesh\";\n"
+" }\n"
+"\n"
+" public override string[] _GetRecognizedExtensions()\n"
+" {\n"
+" return new string[] { \"special\", \"spec\" };\n"
+" }\n"
+"\n"
+" public override string _GetSaveExtension()\n"
+" {\n"
+" return \"mesh\";\n"
+" }\n"
+"\n"
+" public override string _GetResourceType()\n"
+" {\n"
+" return \"Mesh\";\n"
+" }\n"
+"\n"
+" public override int _GetPresetCount()\n"
+" {\n"
+" return 1;\n"
+" }\n"
+"\n"
+" public override string _GetPresetName(int presetIndex)\n"
+" {\n"
+" return \"Default\";\n"
+" }\n"
+"\n"
+" public override Godot.Collections.Array<Godot.Collections.Dictionary> "
+"_GetImportOptions(string path, int presetIndex)\n"
+" {\n"
+" return new Godot.Collections.Array<Godot.Collections.Dictionary>\n"
+" {\n"
+" new Godot.Collections.Dictionary\n"
+" {\n"
+" { \"name\", \"myOption\" },\n"
+" { \"defaultValue\", false },\n"
+" }\n"
+" };\n"
+" }\n"
+"\n"
+" public override int _Import(string sourceFile, string savePath, Godot."
+"Collections.Dictionary options, Godot.Collections.Array<string> "
+"platformVariants, Godot.Collections.Array<string> genFiles)\n"
+" {\n"
+" using var file = FileAccess.Open(sourceFile, FileAccess.ModeFlags."
+"Read);\n"
+" if (file.GetError() != Error.Ok)\n"
+" {\n"
+" return (int)Error.Failed;\n"
+" }\n"
+"\n"
+" var mesh = new ArrayMesh();\n"
+" // Fill the Mesh with data read in \"file\", left as an exercise to "
+"the reader.\n"
+" string filename = $\"{savePath}.{_GetSaveExtension()}\";\n"
+" return (int)ResourceSaver.Save(mesh, filename);\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"To use [EditorImportPlugin], register it using the [method EditorPlugin."
+"add_import_plugin] method first."
+msgstr ""
+"[EditorImportPlugin] 提供了一种方法来扩展编辑器的资源导入功能。使用它们从自定"
+"义文件中导入资源,或为编辑器的现有导入器提供替代方案。\n"
+"EditorImportPlugin 通过与特定的文件扩展名和资源类型相关联来工作。请参见 "
+"[method _get_recognized_extensions] 和 [method _get_resource_type]。它们可以"
+"选择性地指定一些影响导入过程的导入预设。EditorImportPlugin 负责创建资源并将它"
+"们保存在 [code].godot/imported[/code] 目录中(参见 [member ProjectSettings."
+"application/config/use_hidden_project_data_directory])。\n"
+"下面是一个 EditorImportPlugin 的示例,它从扩展名为“.special”或“.spec”的文件中"
+"导入 [Mesh]:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@tool\n"
+"extends EditorImportPlugin\n"
+"\n"
+"func _get_importer_name():\n"
+" return \"my.special.plugin\"\n"
+"\n"
+"func _get_visible_name():\n"
+" return \"Special Mesh\"\n"
+"\n"
+"func _get_recognized_extensions():\n"
+" return [\"special\", \"spec\"]\n"
+"\n"
+"func _get_save_extension():\n"
+" return \"mesh\"\n"
+"\n"
+"func _get_resource_type():\n"
+" return \"Mesh\"\n"
+"\n"
+"func _get_preset_count():\n"
+" return 1\n"
+"\n"
+"func _get_preset_name(i):\n"
+" return \"Default\"\n"
+"\n"
+"func _get_import_options(i):\n"
+" return [{\"name\": \"my_option\", \"default_value\": false}]\n"
+"\n"
+"func _import(source_file, save_path, options, platform_variants, "
+"gen_files):\n"
+" var file = FileAccess.open(source_file, FileAccess.READ)\n"
+" if file == null:\n"
+" return FAILED\n"
+" var mesh = ArrayMesh.new()\n"
+" # 使用从“file”中读取的数据填充 Mesh,留作读者的练习。\n"
+"\n"
+" var filename = save_path + \".\" + _get_save_extension()\n"
+" return ResourceSaver.save(mesh, filename)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"\n"
+"public partial class MySpecialPlugin : EditorImportPlugin\n"
+"{\n"
+" public override string _GetImporterName()\n"
+" {\n"
+" return \"my.special.plugin\";\n"
+" }\n"
+"\n"
+" public override string _GetVisibleName()\n"
+" {\n"
+" return \"Special Mesh\";\n"
+" }\n"
+"\n"
+" public override string[] _GetRecognizedExtensions()\n"
+" {\n"
+" return new string[] { \"special\", \"spec\" };\n"
+" }\n"
+"\n"
+" public override string _GetSaveExtension()\n"
+" {\n"
+" return \"mesh\";\n"
+" }\n"
+"\n"
+" public override string _GetResourceType()\n"
+" {\n"
+" return \"Mesh\";\n"
+" }\n"
+"\n"
+" public override int _GetPresetCount()\n"
+" {\n"
+" return 1;\n"
+" }\n"
+"\n"
+" public override string _GetPresetName(int presetIndex)\n"
+" {\n"
+" return \"Default\";\n"
+" }\n"
+"\n"
+" public override Godot.Collections.Array<Godot.Collections.Dictionary> "
+"_GetImportOptions(string path, int presetIndex)\n"
+" {\n"
+" return new Godot.Collections.Array<Godot.Collections.Dictionary>\n"
+" {\n"
+" new Godot.Collections.Dictionary\n"
+" {\n"
+" { \"name\", \"myOption\" },\n"
+" { \"defaultValue\", false },\n"
+" }\n"
+" };\n"
+" }\n"
+"\n"
+" public override int _Import(string sourceFile, string savePath, Godot."
+"Collections.Dictionary options, Godot.Collections.Array<string> "
+"platformVariants, Godot.Collections.Array<string> genFiles)\n"
+" {\n"
+" using var file = FileAccess.Open(sourceFile, FileAccess.ModeFlags."
+"Read);\n"
+" if (file.GetError() != Error.Ok)\n"
+" {\n"
+" return (int)Error.Failed;\n"
+" }\n"
+"\n"
+" var mesh = new ArrayMesh();\n"
+" // 使用从“file”中读取的数据填充 Mesh,留作读者的练习\n"
+" string filename = $\"{savePath}.{_GetSaveExtension()}\";\n"
+" return (int)ResourceSaver.Save(mesh, filename);\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"要使用 [EditorImportPlugin],请先使用 [method EditorPlugin."
+"add_import_plugin] 方法注册它。"
+
msgid "Import plugins"
msgstr "导入插件"
@@ -9779,6 +22997,14 @@ msgstr ""
msgid "Gets the unique name of the importer."
msgstr "获取导入者的唯一名称。"
+msgid ""
+"Gets the number of initial presets defined by the plugin. Use [method "
+"_get_import_options] to get the default options for the preset and [method "
+"_get_preset_name] to get the name of the preset."
+msgstr ""
+"获取插件定义的初始预设的数量。使用 [method _get_import_options] 获取预设的默"
+"认选项,使用 [method _get_preset_name] 获取预设的名称。"
+
msgid "Gets the name of the options preset at this index."
msgstr "获取该索引处预设的选项名称。"
@@ -9804,15 +23030,107 @@ msgstr ""
"[code]\"Animation\"[/code]。"
msgid ""
+"Gets the extension used to save this resource in the [code].godot/imported[/"
+"code] directory (see [member ProjectSettings.application/config/"
+"use_hidden_project_data_directory])."
+msgstr ""
+"获取用于在 [code].godot/imported[/code] 目录中保存此资源的扩展名(请参阅 "
+"[member ProjectSettings.application/config/"
+"use_hidden_project_data_directory])。"
+
+msgid ""
"Gets the name to display in the import window. You should choose this name "
"as a continuation to \"Import as\", e.g. \"Import as Special Mesh\"."
msgstr ""
"获取在导入窗口中显示的名称。你应该选择这个名字作为“导入为”的延续,例如“导入"
"为 Special Mesh”。"
+msgid ""
+"Imports [param source_file] into [param save_path] with the import [param "
+"options] specified. The [param platform_variants] and [param gen_files] "
+"arrays will be modified by this function.\n"
+"This method must be overridden to do the actual importing work. See this "
+"class' description for an example of overriding this method."
+msgstr ""
+"使用指定的导入选项 [code]options[/code] 将 [code]source_file[/code] 导入到 "
+"[code]save_path[/code] 中。此函数将修改[code]platform_variants[/code] 和 "
+"[code]gen_files[/code] 数组。\n"
+"必须重写这个方法才能完成实际的导入工作。参阅本类的描述以了解如何重写该方法。"
+
msgid "A control used to edit properties of an object."
msgstr "用于编辑对象属性的控件。"
+msgid ""
+"This is the control that implements property editing in the editor's "
+"Settings dialogs, the Inspector dock, etc. To get the [EditorInspector] used "
+"in the editor's Inspector dock, use [method EditorInterface.get_inspector].\n"
+"[EditorInspector] will show properties in the same order as the array "
+"returned by [method Object.get_property_list].\n"
+"If a property's name is path-like (i.e. if it contains forward slashes), "
+"[EditorInspector] will create nested sections for \"directories\" along the "
+"path. For example, if a property is named [code]highlighting/gdscript/"
+"node_path_color[/code], it will be shown as \"Node Path Color\" inside the "
+"\"GDScript\" section nested inside the \"Highlighting\" section.\n"
+"If a property has [constant PROPERTY_USAGE_GROUP] usage, it will group "
+"subsequent properties whose name starts with the property's hint string. The "
+"group ends when a property does not start with that hint string or when a "
+"new group starts. An empty group name effectively ends the current group. "
+"[EditorInspector] will create a top-level section for each group. For "
+"example, if a property with group usage is named [code]Collide With[/code] "
+"and its hint string is [code]collide_with_[/code], a subsequent "
+"[code]collide_with_area[/code] property will be shown as \"Area\" inside the "
+"\"Collide With\" section. There is also a special case: when the hint string "
+"contains the name of a property, that property is grouped too. This is "
+"mainly to help grouping properties like [code]font[/code], [code]font_color[/"
+"code] and [code]font_size[/code] (using the hint string [code]font_[/"
+"code]).\n"
+"If a property has [constant PROPERTY_USAGE_SUBGROUP] usage, a subgroup will "
+"be created in the same way as a group, and a second-level section will be "
+"created for each subgroup.\n"
+"[b]Note:[/b] Unlike sections created from path-like property names, "
+"[EditorInspector] won't capitalize the name for sections created from "
+"groups. So properties with group usage usually use capitalized names instead "
+"of snake_cased names."
+msgstr ""
+"这是在编辑器的设置对话框、检查器停靠面板等中实现属性编辑的控件。要获取在编辑"
+"器的检查器停靠面板中使用的 [EditorInspector],请使用 [method EditorInterface."
+"get_inspector]。\n"
+"[EditorInspector] 将按照与 [method Object.get_property_list] 返回的数组相同的"
+"顺序显示属性。\n"
+"如果属性的名称类似于路径(即如果它包含正斜杠),[EditorInspector] 将沿路径为"
+"各个“目录”创建嵌套的部分。例如,如果属性名为 [code]highlighting/gdscript/"
+"node_path_color[/code],则它将在嵌套在“Highlighting”部分内的“GDScript”部分中"
+"显示为“Node Path Color”。\n"
+"如果某个属性具有 [constant PROPERTY_USAGE_GROUP] 用法,它将对名称以该属性的提"
+"示字符串开头的后续属性进行分组。当属性不以该提示字符串开头或新组开始时,该组"
+"结束。空组名有效地结束了当前组。[EditorInspector] 将为每个组创建一个顶级部"
+"分。例如,如果具有组用法的属性名为 [code]Collide With[/code],其提示字符串为 "
+"[code]collide_with_[/code],则后续的 [code]collide_with_area[/code] 属性将显"
+"示为 “Collide With” 部分内的 “Area”。还有一种特殊情况:当提示字符串包含属性名"
+"称时,该属性也被分组。这主要是为了帮助分组属性,如 [code]font[/code]、"
+"[code]font_color[/code] 和 [code]font_size[/code](使用提示字符串 "
+"[code]font_[/code])。\n"
+"如果属性具有 [constant PROPERTY_USAGE_SUBGROUP] 用法,则将以与组相同的方式创"
+"建子组,并为每个子组创建一个二级部分。\n"
+"[b]注意:[/b]与从类似路径的属性名称创建的部分不同,[EditorInspector] 不会将从"
+"组创建的部分的名称的首字母大写。因此,具有组用法的属性通常使用首字母大写的名"
+"称而不是蛇形名称。"
+
+msgid "Gets the path of the currently selected property."
+msgstr "获取当前选定属性的路径。"
+
+msgid "Emitted when the object being edited by the inspector has changed."
+msgstr "当检查器正在编辑的对象发生更改时触发。"
+
+msgid ""
+"Emitted when the Edit button of an [Object] has been pressed in the "
+"inspector. This is mainly used in the remote scene tree Inspector."
+msgstr ""
+"在检查器中按下 [Object] 的“编辑”按钮时发出。这主要用于远程场景树检查器。"
+
+msgid "Emitted when a property is removed from the inspector."
+msgstr "当从检查器中移除属性时触发。"
+
msgid "Emitted when a property is edited in the inspector."
msgstr "在检查器中编辑属性时触发。"
@@ -9847,6 +23165,36 @@ msgid ""
msgstr ""
"在检查器中编辑需要重启应用的属性时触发。仅在项目设置和编辑器设置中使用。"
+msgid "Plugin for adding custom property editors on the inspector."
+msgstr "插件,用于在检查器上添加自定义属性编辑器。"
+
+msgid ""
+"[EditorInspectorPlugin] allows adding custom property editors to "
+"[EditorInspector].\n"
+"When an object is edited, the [method _can_handle] function is called and "
+"must return [code]true[/code] if the object type is supported.\n"
+"If supported, the function [method _parse_begin] will be called, allowing to "
+"place custom controls at the beginning of the class.\n"
+"Subsequently, the [method _parse_category] and [method _parse_property] are "
+"called for every category and property. They offer the ability to add custom "
+"controls to the inspector too.\n"
+"Finally, [method _parse_end] will be called.\n"
+"On each of these calls, the \"add\" functions can be called.\n"
+"To use [EditorInspectorPlugin], register it using the [method EditorPlugin."
+"add_inspector_plugin] method first."
+msgstr ""
+"[EditorInspectorPlugin] 允许将自定义属性编辑器添加到 [EditorInspector]。\n"
+"当编辑对象时,会调用 [method _can_handle] 函数,如果支持该对象类型,则必须返"
+"回 [code]true[/code]。\n"
+"如果支持,函数 [method _parse_begin] 将被调用,允许在类的开头放置自定义控"
+"件。\n"
+"随后,为每个类别和属性调用 [method _parse_category] 和 [method "
+"_parse_property]。它们也提供了向检查器添加自定义控件的能力。\n"
+"最后,将调用 [method _parse_end]。\n"
+"在这些调用中的每一个,都可以调用“add”函数。\n"
+"要使用 [EditorInspectorPlugin],首先使用 [method EditorPlugin."
+"add_inspector_plugin] 方法注册它。"
+
msgid "Inspector plugins"
msgstr "检查器插件"
@@ -9913,6 +23261,9 @@ msgstr "返回在 [FileSystemDock] 中查看的当前路径。"
msgid "Returns the edited (current) scene's root [Node]."
msgstr "返回正在编辑的(当前)场景的根 [Node]。"
+msgid "Returns the [EditorPaths] singleton."
+msgstr "返回 [EditorPaths] 单例。"
+
msgid ""
"Returns the actual scale of the editor UI ([code]1.0[/code] being 100% "
"scale). This can be used to adjust position and dimensions of the UI added "
@@ -9994,6 +23345,21 @@ msgid "Reloads the scene at the given path."
msgstr "重新加载给定路径的场景。"
msgid ""
+"Restarts the editor. This closes the editor and then opens the same project. "
+"If [param save] is [code]true[/code], the project will be saved before "
+"restarting."
+msgstr ""
+"重启编辑器。编辑器会关闭,然后再打开相同项目。如果 [param save] 为 "
+"[code]true[/code],则重启前会保存项目。"
+
+msgid ""
+"Saves the scene. Returns either [constant OK] or [constant ERR_CANT_CREATE]."
+msgstr "保存场景。返回 [constant OK] 或 [constant ERR_CANT_CREATE]。"
+
+msgid "Saves the scene as a file at [param path]."
+msgstr "将场景保存为 [param path] 处的文件。"
+
+msgid ""
"Sets the enabled status of a plugin. The plugin name is the same as its "
"directory name."
msgstr "设置插件的启用状态。插件名称与其目录名称相同。"
@@ -10008,10 +23374,26 @@ msgstr ""
"如果为 [code]true[/code],将启用专注模式,该模式会隐藏侧边面板,增加主视图的"
"可用空间。"
+msgid "Gizmo for editing Node3D objects."
+msgstr "用于编辑 Node3D 对象的小工具。"
+
+msgid ""
+"Gizmo that is used for providing custom visualization and editing (handles "
+"and subgizmos) for Node3D objects. Can be overridden to create custom "
+"gizmos, but for simple gizmos creating a [EditorNode3DGizmoPlugin] is "
+"usually recommended."
+msgstr ""
+"小工具可用于为 Node3D 对象提供自定义可视化和编辑功能(手柄和子工具)。覆盖后"
+"可以创建自定义小工具,但对于简单的小工具而言,通常建议创建 "
+"[EditorNode3DGizmoPlugin]。"
+
msgid ""
"Removes everything in the gizmo including meshes, collisions and handles."
msgstr "移除小工具中的一切,包括网格、碰撞和手柄。"
+msgid "Returns the [Node3D] node associated with this gizmo."
+msgstr "返回与这个小工具关联的 [Node3D] 节点。"
+
msgid ""
"Sets the gizmo's hidden state. If [code]true[/code], the gizmo will be "
"hidden. If [code]false[/code], it will be shown."
@@ -10019,6 +23401,12 @@ msgstr ""
"设置该小工具的隐藏状态。如果为 [code]true[/code],则该小工具将被隐藏。如果为 "
"[code]false[/code] 则会显示。"
+msgid "Used by the editor to define Node3D gizmo types."
+msgstr "被编辑器用来定义 Node3D 小工具类型。"
+
+msgid "Node3D gizmo plugins"
+msgstr "Node3D 小工具插件"
+
msgid ""
"Override this method to provide the name that will appear in the gizmo "
"visibility menu."
@@ -10031,6 +23419,11 @@ msgstr ""
"将新材质添加到插件的内部插件列表中。然后可以使用[method get_material]访问它。"
"不会该被覆盖。"
+msgid ""
+"Editor-only singleton that returns paths to various OS-specific data folders "
+"and files."
+msgstr "编辑器专用单例,返回特定于操作系统的各种数据文件夹和文件的路径。"
+
msgid "Used by the editor to extend its functionality."
msgstr "由编辑器使用,用于扩展其功能。"
@@ -10043,6 +23436,9 @@ msgstr ""
"编辑器使用插件来扩展功能。最常见的插件类型是编辑给定的节点或资源类型、导入插"
"件和导出插件。另请参阅 [EditorScript] 向编辑器添加函数。"
+msgid "Editor plugins documentation index"
+msgstr "编辑器插件文档索引"
+
msgid ""
"This method is called when the editor is about to save the project, switch "
"to another tab, etc. It asks the plugin to apply any pending state changes "
@@ -10073,6 +23469,329 @@ msgid ""
msgstr "当用户在项目设置窗口的插件选项卡中启用[EditorPlugin]时,由引擎调用。"
msgid ""
+"Called by the engine when the 3D editor's viewport is updated. Use the "
+"[code]overlay[/code] [Control] for drawing. You can update the viewport "
+"manually by calling [method update_overlays].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _forward_3d_draw_over_viewport(overlay):\n"
+" # Draw a circle at cursor position.\n"
+" overlay.draw_circle(overlay.get_local_mouse_position(), 64)\n"
+"\n"
+"func _forward_3d_gui_input(camera, event):\n"
+" if event is InputEventMouseMotion:\n"
+" # Redraw viewport when cursor is moved.\n"
+" update_overlays()\n"
+" return EditorPlugin.AFTER_GUI_INPUT_STOP\n"
+" return EditorPlugin.AFTER_GUI_INPUT_PASS\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Forward3DDrawOverViewport(Control viewportControl)\n"
+"{\n"
+" // Draw a circle at cursor position.\n"
+" viewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, "
+"Colors.White);\n"
+"}\n"
+"\n"
+"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D "
+"viewportCamera, InputEvent @event)\n"
+"{\n"
+" if (@event is InputEventMouseMotion)\n"
+" {\n"
+" // Redraw viewport when cursor is moved.\n"
+" UpdateOverlays();\n"
+" return EditorPlugin.AfterGuiInput.Stop;\n"
+" }\n"
+" return EditorPlugin.AfterGuiInput.Pass;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"当 3D 编辑器的视口更新时由引擎调用。使用 [code]overlay[/code] [Control] 进行"
+"绘制。您可以通过调用 [method update_overlays] 手动更新视口。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _forward_3d_draw_over_viewport(overlay):\n"
+" # 在光标位置画一个圆。\n"
+" overlay.draw_circle(overlay.get_local_mouse_position(), 64)\n"
+"\n"
+"func _forward_3d_gui_input(camera, event):\n"
+" if event is InputEventMouseMotion:\n"
+" # 当光标被移动时,重绘视口。\n"
+" update_overlays()\n"
+" return EditorPlugin.AFTER_GUI_INPUT_STOP\n"
+" return EditorPlugin.AFTER_GUI_INPUT_PASS\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Forward3DDrawOverViewport(Control viewportControl)\n"
+"{\n"
+" // 在光标位置画一个圆。\n"
+" viewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, "
+"Colors.White);\n"
+"}\n"
+"\n"
+"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D "
+"viewportCamera, InputEvent @event)\n"
+"{\n"
+" if (@event is InputEventMouseMotion)\n"
+" {\n"
+" // 当光标被移动时,重绘视口。\n"
+" UpdateOverlays();\n"
+" return EditorPlugin.AfterGuiInput.Stop;\n"
+" }\n"
+" return EditorPlugin.AfterGuiInput.Pass;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Called when there is a root node in the current edited scene, [method "
+"_handles] is implemented, and an [InputEvent] happens in the 3D viewport. "
+"The return value decides whether the [InputEvent] is consumed or forwarded "
+"to other [EditorPlugin]s. See [enum AfterGUIInput] for options.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Prevents the InputEvent from reaching other Editor classes.\n"
+"func _forward_3d_gui_input(camera, event):\n"
+" return EditorPlugin.AFTER_GUI_INPUT_STOP\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Prevents the InputEvent from reaching other Editor classes.\n"
+"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D "
+"camera, InputEvent @event)\n"
+"{\n"
+" return EditorPlugin.AfterGuiInput.Stop;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Must [code]return EditorPlugin.AFTER_GUI_INPUT_PASS[/code] in order to "
+"forward the [InputEvent] to other Editor classes.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Consumes InputEventMouseMotion and forwards other InputEvent types.\n"
+"func _forward_3d_gui_input(camera, event):\n"
+" return EditorPlugin.AFTER_GUI_INPUT_STOP if event is "
+"InputEventMouseMotion else EditorPlugin.AFTER_GUI_INPUT_PASS\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Consumes InputEventMouseMotion and forwards other InputEvent types.\n"
+"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D "
+"camera, InputEvent @event)\n"
+"{\n"
+" return @event is InputEventMouseMotion ? EditorPlugin.AfterGuiInput."
+"Stop : EditorPlugin.AfterGuiInput.Pass;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"在当前编辑的场景中有根节点时调用,实现 [method _handles] 并在3D视口中产生 "
+"[InputEvent]。返回值决定 [InputEvent] 是被消费还是转发给其他 [EditorPlugin]。"
+"有关选项,请参阅 [enum AfterGUIInput]。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 阻止 InputEvent 到达其他编辑类。\n"
+"func _forward_3d_gui_input(camera, event):\n"
+" return EditorPlugin.AFTER_GUI_INPUT_STOP\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 阻止 InputEvent 到达其他编辑类。\n"
+"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D "
+"camera, InputEvent @event)\n"
+"{\n"
+" return EditorPlugin.AfterGuiInput.Stop;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"必须为 [code]return EditorPlugin.AFTER_GUI_INPUT_PASS[/code] 以便将 "
+"[InputEvent] 转发给其他编辑器类。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 消耗 InputEventMouseMotion 并转发其他 InputEvent 类型。\n"
+"func _forward_3d_gui_input(camera, event):\n"
+" return EditorPlugin.AFTER_GUI_INPUT_STOP if event is "
+"InputEventMouseMotion else EditorPlugin.AFTER_GUI_INPUT_PASS\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 消耗 InputEventMouseMotion 并转发其他 InputEvent 类型。\n"
+"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D "
+"camera, InputEvent @event)\n"
+"{\n"
+" return @event is InputEventMouseMotion ? EditorPlugin.AfterGuiInput."
+"Stop : EditorPlugin.AfterGuiInput.Pass;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Called by the engine when the 2D editor's viewport is updated. Use the "
+"[code]overlay[/code] [Control] for drawing. You can update the viewport "
+"manually by calling [method update_overlays].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _forward_canvas_draw_over_viewport(overlay):\n"
+" # Draw a circle at cursor position.\n"
+" overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color."
+"WHITE)\n"
+"\n"
+"func _forward_canvas_gui_input(event):\n"
+" if event is InputEventMouseMotion:\n"
+" # Redraw viewport when cursor is moved.\n"
+" update_overlays()\n"
+" return true\n"
+" return false\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _ForwardCanvasDrawOverViewport(Control "
+"viewportControl)\n"
+"{\n"
+" // Draw a circle at cursor position.\n"
+" viewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, "
+"Colors.White);\n"
+"}\n"
+"\n"
+"public override bool _ForwardCanvasGuiInput(InputEvent @event)\n"
+"{\n"
+" if (@event is InputEventMouseMotion)\n"
+" {\n"
+" // Redraw viewport when cursor is moved.\n"
+" UpdateOverlays();\n"
+" return true;\n"
+" }\n"
+" return false;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"当 2D 编辑器的视口更新时由引擎调用。使用 [code]overlay[/code] [Control] 进行"
+"绘制。您可以通过调用 [method update_overlays] 手动更新视口。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _forward_canvas_draw_over_viewport(overlay):\n"
+" # 在光标位置画一个圆。\n"
+" overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color."
+"WHITE)\n"
+"\n"
+"func _forward_canvas_gui_input(event):\n"
+" if event is InputEventMouseMotion:\n"
+" # 当光标被移动时,重绘视口。\n"
+" update_overlays()\n"
+" return true\n"
+" return false\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _ForwardCanvasDrawOverViewport(Control "
+"viewportControl)\n"
+"{\n"
+" // 在光标位置画一个圆。\n"
+" viewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, "
+"Colors.White);\n"
+"}\n"
+"\n"
+"public override bool _ForwardCanvasGuiInput(InputEvent @event)\n"
+"{\n"
+" if (@event is InputEventMouseMotion)\n"
+" {\n"
+" // 当光标被移动时,重绘视口。\n"
+" UpdateOverlays();\n"
+" return true;\n"
+" }\n"
+" return false;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Called when there is a root node in the current edited scene, [method "
+"_handles] is implemented and an [InputEvent] happens in the 2D viewport. "
+"Intercepts the [InputEvent], if [code]return true[/code] [EditorPlugin] "
+"consumes the [param event], otherwise forwards [param event] to other Editor "
+"classes.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Prevents the InputEvent from reaching other Editor classes.\n"
+"func _forward_canvas_gui_input(event):\n"
+" return true\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Prevents the InputEvent from reaching other Editor classes.\n"
+"public override bool ForwardCanvasGuiInput(InputEvent @event)\n"
+"{\n"
+" return true;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Must [code]return false[/code] in order to forward the [InputEvent] to other "
+"Editor classes.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Consumes InputEventMouseMotion and forwards other InputEvent types.\n"
+"func _forward_canvas_gui_input(event):\n"
+" if (event is InputEventMouseMotion):\n"
+" return true\n"
+" return false\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Consumes InputEventMouseMotion and forwards other InputEvent types.\n"
+"public override bool _ForwardCanvasGuiInput(InputEvent @event)\n"
+"{\n"
+" if (@event is InputEventMouseMotion)\n"
+" {\n"
+" return true;\n"
+" }\n"
+" return false;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"在当前编辑的场景中有根节点时调用,实现 [method _handles] 并在2D视口中产生 "
+"[InputEvent]。拦截 [InputEvent],如果 [code]return true[/code] "
+"[EditorPlugin] 消耗 [param event],否则将 [param event] 转发给其他编辑器"
+"类。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 阻止 InputEvent 到达其他编辑类。\n"
+"func _forward_canvas_gui_input(event):\n"
+" return true\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 阻止 InputEvent 到达其他编辑类。\n"
+"public override bool ForwardCanvasGuiInput(InputEvent @event)\n"
+"{\n"
+" return true;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"必须 [code]return false[/code] 才能将 [InputEvent] 转发到其他编辑器类。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 消耗 InputEventMouseMotion 并转发其他 InputEvent 类型。\n"
+"func _forward_canvas_gui_input(event):\n"
+" if (event is InputEventMouseMotion):\n"
+" return true\n"
+" return false\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 消耗 InputEventMouseMotion 并转发其他 InputEvent 类型。\n"
+"public override bool _ForwardCanvasGuiInput(InputEvent @event)\n"
+"{\n"
+" if (@event is InputEventMouseMotion)\n"
+" {\n"
+" return true;\n"
+" }\n"
+" return false;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"This is for editors that edit script-based objects. You can return a list of "
"breakpoints in the format ([code]script:line[/code]), for example: "
"[code]res://path_to_script.gd:25[/code]."
@@ -10081,6 +23800,61 @@ msgstr ""
"line[/code]),例如:[code]res://path_to_script.gd:25[/code]。"
msgid ""
+"Override this method in your plugin to return a [Texture2D] in order to give "
+"it an icon.\n"
+"For main screen plugins, this appears at the top of the screen, to the right "
+"of the \"2D\", \"3D\", \"Script\", and \"AssetLib\" buttons.\n"
+"Ideally, the plugin icon should be white with a transparent background and "
+"16x16 pixels in size.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _get_plugin_icon():\n"
+" # You can use a custom icon:\n"
+" return preload(\"res://addons/my_plugin/my_plugin_icon.svg\")\n"
+" # Or use a built-in icon:\n"
+" return get_editor_interface().get_base_control()."
+"get_theme_icon(\"Node\", \"EditorIcons\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override Texture2D _GetPluginIcon()\n"
+"{\n"
+" // You can use a custom icon:\n"
+" return ResourceLoader.Load<Texture2D>(\"res://addons/my_plugin/"
+"my_plugin_icon.svg\");\n"
+" // Or use a built-in icon:\n"
+" return GetEditorInterface().GetBaseControl().GetThemeIcon(\"Node\", "
+"\"EditorIcons\");\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"在您的插件中覆盖该方法以返回一个 [Texture2D] 以便为插件提供一个图标。\n"
+"对于主界面插件,它出现在屏幕顶部,“2D”、“3D”、“脚本”和 “AssetLib” 按钮的右"
+"侧。\n"
+"理想情况下,插件图标应为透明背景的白色,大小为 16x16 像素。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _get_plugin_icon():\n"
+" # 你可以使用一个自定义的图标:\n"
+" return preload(\"res://addons/my_plugin/my_plugin_icon.svg\")\n"
+" # 或者使用一个内置的图标:\n"
+" return get_editor_interface().get_base_control()."
+"get_theme_icon(\"Node\", \"EditorIcons\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override Texture2D _GetPluginIcon()\n"
+"{\n"
+" // 你可以使用一个自定义的图标:\n"
+" return ResourceLoader.Load<Texture2D>(\"res://addons/my_plugin/"
+"my_plugin_icon.svg\");\n"
+" // 或者使用一个内置的图标:\n"
+" return GetEditorInterface().GetBaseControl().GetThemeIcon(\"Node\", "
+"\"EditorIcons\");\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Override this method in your plugin to provide the name of the plugin when "
"displayed in the Godot editor.\n"
"For main screen plugins, this appears at the top of the screen, to the right "
@@ -10148,6 +23922,33 @@ msgstr ""
"用[method Node.queue_free]释放它。"
msgid ""
+"Adds a custom type, which will appear in the list of nodes or resources. An "
+"icon can be optionally passed.\n"
+"When a given node or resource is selected, the base type will be "
+"instantiated (e.g. \"Node3D\", \"Control\", \"Resource\"), then the script "
+"will be loaded and set to this object.\n"
+"[b]Note:[/b] The base type is the base engine class which this type's class "
+"hierarchy inherits, not any custom type parent classes.\n"
+"You can use the virtual method [method _handles] to check if your custom "
+"object is being edited by checking the script or using the [code]is[/code] "
+"keyword.\n"
+"During run-time, this will be a simple object with a script so this function "
+"does not need to be called then.\n"
+"[b]Note:[/b] Custom types added this way are not true classes. They are just "
+"a helper to create a node with specific script."
+msgstr ""
+"添加一个自定义类型,它将出现在节点或资源的列表中。可以选择传递一个图标。\n"
+"选择给定的节点或资源时,将实例化基本类型(例"
+"如“Node3D”、“Control”、“Resource”),然后脚本将被加载并将其设置为该对象。\n"
+"[b]注意:[/b]基本类型是该类型的类层次继承的基本引擎类,而不是任何自定义类型的"
+"父类。\n"
+"您可以使用虚拟方法 [method _handles] 通过检查脚本或使用 [code]is[/code] 关键"
+"字来检查您的自定义对象是否正在被编辑。\n"
+"在运行时,这将是一个带有脚本的简单对象,因此不需要调用该函数。\n"
+"[b]注意:[/b]以这种方式添加的自定义类型不是真正的类。它们只是使用特定脚本创建"
+"节点的助手。"
+
+msgid ""
"Registers a new [EditorExportPlugin]. Export plugins are used to perform "
"tasks when the project is being exported.\n"
"See [method add_inspector_plugin] for an example of how to register a plugin."
@@ -10157,11 +23958,31 @@ msgstr ""
"参见 [method add_inspector_plugin],了解如何注册一个插件的例子。"
msgid ""
+"Registers a new [EditorImportPlugin]. Import plugins are used to import "
+"custom and unsupported assets as a custom [Resource] type.\n"
+"If [param first_priority] is [code]true[/code], the new import plugin is "
+"inserted first in the list and takes precedence over pre-existing plugins.\n"
+"[b]Note:[/b] If you want to import custom 3D asset formats use [method "
+"add_scene_format_importer_plugin] instead.\n"
+"See [method add_inspector_plugin] for an example of how to register a plugin."
+msgstr ""
+"注册一个新的 [EditorImportPlugin]。导入插件用于将自定义的和不受支持的资产,作"
+"为一种自定义 [Resource] 类型导入。\n"
+"如果 [param first_priority] 是 [code]true[/code],则该新的导入插件被首先插入"
+"列表中,并优先于预先存在的插件。\n"
+"[b]注意:[/b]如果要导入自定义 3D 资产格式,请改用 [method "
+"add_scene_format_importer_plugin]。\n"
+"有关如何注册插件的示例,请参见 [method add_inspector_plugin]。"
+
+msgid ""
"Returns the [EditorInterface] object that gives you control over Godot "
"editor's window and its functionalities."
msgstr ""
"返回 [EditorInterface] 对象,该对象使您可以控制 Godot 编辑器的窗口及其功能。"
+msgid "Returns the [PopupMenu] under [b]Scene > Export As...[/b]."
+msgstr "返回[b]场景 > 另存为...[/b] 下的 [PopupMenu]。"
+
msgid ""
"Gets the Editor's dialog used for making scripts.\n"
"[b]Note:[/b] Users can configure it before use.\n"
@@ -10188,6 +24009,9 @@ msgstr "使底部面板中的一个特定项目可见。"
msgid "Queue save the project's editor layout."
msgstr "排队保存项目的编辑器布局。"
+msgid "Removes an Autoload [param name] from the list."
+msgstr "从列表中删除自动加载 [param name]。"
+
msgid ""
"Removes the control from the bottom panel. You have to manually [method Node."
"queue_free] the control."
@@ -10215,6 +24039,12 @@ msgstr "删除由 [method add_import_plugin] 注册的导入插件。"
msgid "Removes an inspector plugin registered by [method add_import_plugin]"
msgstr "删除由 [method add_import_plugin] 注册的检查器插件"
+msgid "Removes a gizmo plugin registered by [method add_node_3d_gizmo_plugin]."
+msgstr "删除由 [method add_node_3d_gizmo_plugin] 注册的小工具插件。"
+
+msgid "Removes a menu [param name] from [b]Project > Tools[/b]."
+msgstr "从[b]项目 > 工具[/b]中移除菜单 [param name]。"
+
msgid ""
"Emitted when user changes the workspace ([b]2D[/b], [b]3D[/b], [b]Script[/"
"b], [b]AssetLib[/b]). Also works with custom screens defined by plugins."
@@ -10235,8 +24065,74 @@ msgid ""
"scene."
msgstr "当用户关闭场景时触发。参数是关闭场景的文件路径。"
+msgid "Main editor toolbar, next to play buttons."
+msgstr "主编辑器的工具栏,旁边是运行按钮。"
+
+msgid "The toolbar that appears when 3D editor is active."
+msgstr "3D 编辑器处于活动状态时出现的工具栏。"
+
+msgid "Left sidebar of the 3D editor."
+msgstr "3D 编辑器的左侧边栏。"
+
+msgid "Right sidebar of the 3D editor."
+msgstr "3D 编辑器的右侧边栏。"
+
+msgid "Bottom panel of the 3D editor."
+msgstr "3D 编辑器的底部面板。"
+
+msgid "The toolbar that appears when 2D editor is active."
+msgstr "2D 编辑器处于活动状态时出现的工具条。"
+
+msgid "Left sidebar of the 2D editor."
+msgstr "2D 编辑器的左侧边栏。"
+
+msgid "Right sidebar of the 2D editor."
+msgstr "2D 编辑器的右侧边栏。"
+
+msgid "Bottom panel of the 2D editor."
+msgstr "2D 编辑器的底部面板。"
+
+msgid "Bottom section of the inspector."
+msgstr "检查器的底部。"
+
+msgid "Tab of Project Settings dialog, to the left of other tabs."
+msgstr "项目设置对话框中的选项卡,在其他选项卡的左侧。"
+
+msgid "Tab of Project Settings dialog, to the right of other tabs."
+msgstr "项目设置对话框中的选项卡,在其他选项卡的右侧。"
+
+msgid "Dock slot, left side, upper-left (empty in default layout)."
+msgstr "左侧停靠槽的左上(默认布局中为空)。"
+
+msgid "Dock slot, left side, bottom-left (empty in default layout)."
+msgstr "左侧停靠槽的左下(默认布局中为空)。"
+
+msgid ""
+"Dock slot, left side, upper-right (in default layout includes Scene and "
+"Import docks)."
+msgstr "左侧停靠槽的右上(默认布局中为“场景”和“导入”面板)。"
+
+msgid ""
+"Dock slot, left side, bottom-right (in default layout includes FileSystem "
+"dock)."
+msgstr "左侧停靠槽的右下(默认布局中为“文件系统”面板)。"
+
+msgid "Dock slot, right side, upper-left (empty in default layout)."
+msgstr "右侧停靠槽的左上(默认布局中为空)。"
+
+msgid "Dock slot, right side, bottom-left (empty in default layout)."
+msgstr "右侧停靠槽的左下(默认布局中为空)。"
+
+msgid ""
+"Dock slot, right side, upper-right (in default layout includes Inspector, "
+"Node and History docks)."
+msgstr "右侧停靠槽的右上(默认布局中为“检查器”“节点”以及“历史”面板)。"
+
+msgid "Dock slot, right side, bottom-right (empty in default layout)."
+msgstr "右侧停靠槽的右下(默认布局中为空)。"
+
msgid "Represents the size of the [enum DockSlot] enum."
-msgstr "表示 [enum DockSlot] 枚举的大小。"
+msgstr "代表 [enum DockSlot] 枚举的大小。"
msgid "Custom control to edit properties for adding into the inspector."
msgstr "自定义控件属性添加到检查器中。"
@@ -10423,6 +24319,115 @@ msgid "Post-processes scenes after import."
msgstr "导入后对场景进行后处理。"
msgid ""
+"Imported scenes can be automatically modified right after import by setting "
+"their [b]Custom Script[/b] Import property to a [code]tool[/code] script "
+"that inherits from this class.\n"
+"The [method _post_import] callback receives the imported scene's root node "
+"and returns the modified version of the scene. Usage example:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@tool # Needed so it runs in editor.\n"
+"extends EditorScenePostImport\n"
+"\n"
+"# This sample changes all node names.\n"
+"# Called right after the scene is imported and gets the root node.\n"
+"func _post_import(scene):\n"
+" # Change all node names to \"modified_[oldnodename]\"\n"
+" iterate(scene)\n"
+" return scene # Remember to return the imported scene\n"
+"\n"
+"func iterate(node):\n"
+" if node != null:\n"
+" node.name = \"modified_\" + node.name\n"
+" for child in node.get_children():\n"
+" iterate(child)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"\n"
+"// This sample changes all node names.\n"
+"// Called right after the scene is imported and gets the root node.\n"
+"[Tool]\n"
+"public partial class NodeRenamer : EditorScenePostImport\n"
+"{\n"
+" public override GodotObject _PostImport(Node scene)\n"
+" {\n"
+" // Change all node names to \"modified_[oldnodename]\"\n"
+" Iterate(scene);\n"
+" return scene; // Remember to return the imported scene\n"
+" }\n"
+"\n"
+" public void Iterate(Node node)\n"
+" {\n"
+" if (node != null)\n"
+" {\n"
+" node.Name = $\"modified_{node.Name}\";\n"
+" foreach (Node child in node.GetChildren())\n"
+" {\n"
+" Iterate(child);\n"
+" }\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"通过将[b]自定义脚本[/b]导入属性设置为从此类继承的 [code]tool[/code] 脚本,可"
+"以在导入后立即自动修改导入的场景。\n"
+"[method _post_import] 回调接收导入场景的根节点,并返回场景的修改版本。使用示"
+"例:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@tool # 需要它才能在编辑器中运行。\n"
+"extends EditorScenePostImport\n"
+"\n"
+"# 该示例更改所有节点名称。\n"
+"# 在导入场景并获取根节点后立即调用。\n"
+"func _post_import(scene):\n"
+" # 将所有节点名称更改为 “modified_[oldnodename]”\n"
+" iterate(scene)\n"
+" return scene # 记得返回导入的场景\n"
+"\n"
+"func iterate(node):\n"
+" if node != null:\n"
+" node.name = \"modified_\" + node.name\n"
+" for child in node.get_children():\n"
+" iterate(child)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"\n"
+"// 该示例更改所有节点名称。\n"
+"// 在导入场景并获取根节点后立即调用。\n"
+"[Tool]\n"
+"public partial class NodeRenamer : EditorScenePostImport\n"
+"{\n"
+" public override GodotObject _PostImport(Node scene)\n"
+" {\n"
+" // 将所有节点名称更改为 “modified_[oldnodename]”\n"
+" Iterate(scene);\n"
+" return scene; // 记得返回导入的场景\n"
+" }\n"
+"\n"
+" public void Iterate(Node node)\n"
+" {\n"
+" if (node != null)\n"
+" {\n"
+" node.Name = $\"modified_{node.Name}\";\n"
+" foreach (Node child in node.GetChildren())\n"
+" {\n"
+" Iterate(child);\n"
+" }\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid "Importing 3D scenes: Custom script"
+msgstr "导入 3D 场景:自定义脚本"
+
+msgid ""
"Called after the scene was imported. This method must return the modified "
"version of the scene."
msgstr "在场景被导入后触发。本方法必须返回场景的修改版本。"
@@ -10435,6 +24440,74 @@ msgstr "返回导入的源文件路径(如[code]res://scene.dae[/code])。"
msgid "Base script that can be used to add extension functions to the editor."
msgstr "可用于为编辑器添加扩展功能的基础脚本。"
+msgid ""
+"Scripts extending this class and implementing its [method _run] method can "
+"be executed from the Script Editor's [b]File > Run[/b] menu option (or by "
+"pressing [kbd]Ctrl + Shift + X[/kbd]) while the editor is running. This is "
+"useful for adding custom in-editor functionality to Godot. For more complex "
+"additions, consider using [EditorPlugin]s instead.\n"
+"[b]Note:[/b] Extending scripts need to have [code]tool[/code] mode enabled.\n"
+"[b]Example script:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@tool\n"
+"extends EditorScript\n"
+"\n"
+"func _run():\n"
+" print(\"Hello from the Godot Editor!\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"\n"
+"[Tool]\n"
+"public partial class HelloEditor : EditorScript\n"
+"{\n"
+" public override void _Run()\n"
+" {\n"
+" GD.Print(\"Hello from the Godot Editor!\");\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] The script is run in the Editor context, which means the output "
+"is visible in the console window started with the Editor (stdout) instead of "
+"the usual Godot [b]Output[/b] dock.\n"
+"[b]Note:[/b] EditorScript is [RefCounted], meaning it is destroyed when "
+"nothing references it. This can cause errors during asynchronous operations "
+"if there are no references to the script."
+msgstr ""
+"扩展该类并实现其 [method _run] 方法的脚本可以在编辑器运行时通过脚本编辑器的"
+"[b]文件 > 运行[/b]菜单选项(或按 [kbd]Ctrl + Shift + X[/kbd])执行。这对于向 "
+"Godot 添加自定义的编辑内功能很有用。对于更复杂的添加,请考虑改用 "
+"[EditorPlugin]。\n"
+"[b]注意:[/b]扩展脚本需要启用 [code]tool[/code] 工具模式。\n"
+"[b]示例脚本:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"@tool\n"
+"extends EditorScript\n"
+"\n"
+"func _run():\n"
+" print(\"Hello from the Godot Editor!\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"\n"
+"[Tool]\n"
+"public partial class HelloEditor : EditorScript\n"
+"{\n"
+" public override void _Run()\n"
+" {\n"
+" GD.Print(\"Hello from the Godot Editor!\");\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]脚本在编辑器上下文中运行,这意味着输出在使用编辑器(stdout)启动"
+"的控制台窗口中可见,而不是通常的 Godot [b]输出[/b]停靠面板。\n"
+"[b]注意:[/b]EditorScript 是 [RefCounted],这意味着它不再被引用时会被销毁。如"
+"果没有对脚本的引用,这可能会在异步操作期间导致错误。"
+
msgid "This method is executed by the Editor when [b]File > Run[/b] is used."
msgstr "当使用[b]文件 > 运行[/b]时,此方法由编辑器执行。"
@@ -10562,6 +24635,141 @@ msgstr ""
"2D 骨架编辑器中,用于未选中骨骼的轮廓颜色。另见 [member editors/2d/"
"bone_selected_color]。"
+msgid ""
+"The font to use for the script editor. Must be a resource of a [Font] type "
+"such as a [code].ttf[/code] or [code].otf[/code] font file."
+msgstr ""
+"脚本编辑器所使用的字体。必须是 [Font] 类型的资源,例如 [code].ttf[/code] 或 "
+"[code].otf[/code] 字体文件。"
+
+msgid ""
+"The font ligatures to enable for the currently configured code font. Not all "
+"fonts include support for ligatures.\n"
+"[b]Note:[/b] The default editor code font ([url=https://www.jetbrains.com/lp/"
+"mono/]JetBrains Mono[/url]) has contextual ligatures in its font file."
+msgstr ""
+"要启用的字体连字,用于当前配置的代码字体。不是所有字体都支持连字。\n"
+"[b]注意:[/b]默认的编辑器代码字体([url=https://www.jetbrains.com/lp/"
+"mono/]JetBrains Mono[/url])的字体文件中有上下文连字。"
+
+msgid ""
+"List of custom OpenType features to use, if supported by the currently "
+"configured code font. Not all fonts include support for custom OpenType "
+"features. The string should follow the OpenType specification.\n"
+"[b]Note:[/b] The default editor code font ([url=https://www.jetbrains.com/lp/"
+"mono/]JetBrains Mono[/url]) has custom OpenType features in its font file, "
+"but there is no documented list yet."
+msgstr ""
+"要使用的自定义 OpenType 特性列表,需要当前配置的代码字体支持。不是所有字体都"
+"支持自定义 OpenType 特定。该字符串应遵循 OpenType 规范。\n"
+"[b]注意:[/b]默认的编辑器代码字体([url=https://www.jetbrains.com/lp/"
+"mono/]JetBrains Mono[/url])的字体文件中有自定义 OpenType 特性,但还没有文档"
+"进行列举。"
+
+msgid ""
+"List of alternative characters to use, if supported by the currently "
+"configured code font. Not all fonts include support for custom variations. "
+"The string should follow the OpenType specification.\n"
+"[b]Note:[/b] The default editor code font ([url=https://www.jetbrains.com/lp/"
+"mono/]JetBrains Mono[/url]) has alternate characters in its font file, but "
+"there is no documented list yet."
+msgstr ""
+"要使用的备选字符列表,需要当前配置的代码字体支持。不是所有字体都支持自定义变"
+"体。该字符串应遵循 OpenType 规范。\n"
+"[b]注意:[/b]默认的编辑器代码字体([url=https://www.jetbrains.com/lp/"
+"mono/]JetBrains Mono[/url])的字体文件中有备选字符,但还没有文档进行列举。"
+
+msgid ""
+"The language to use for the editor interface.\n"
+"Translations are provided by the community. If you spot a mistake, "
+"[url=$DOCS_URL/contributing/documentation/editor_and_docs_localization."
+"html]contribute to editor translations on Weblate![/url]"
+msgstr ""
+"用于编辑器界面的语言。\n"
+"翻译由社区提供。如果您发现错误,[url=$DOCS_URL/contributing/documentation/"
+"editor_and_docs_localization.html]请在 Weblate 上为编辑器翻译作出贡献![/url]"
+
+msgid ""
+"Expanding main editor window content to the title, if supported by "
+"[DisplayServer]. See [constant DisplayServer.WINDOW_FLAG_EXTEND_TO_TITLE].\n"
+"Specific to the macOS platform."
+msgstr ""
+"将主编辑窗口内容扩展到标题区域,需要 [DisplayServer] 支持。见 [constant "
+"DisplayServer.WINDOW_FLAG_EXTEND_TO_TITLE]。\n"
+"专用于 macOS 平台。"
+
+msgid ""
+"FreeType's font anti-aliasing mode used to render the editor fonts. Most "
+"fonts are not designed to look good with anti-aliasing disabled, so it's "
+"recommended to leave this enabled unless you're using a pixel art font."
+msgstr ""
+"FreeType 的字体抗锯齿模式,用于渲染编辑器字体。大多数字体在禁用抗锯齿的情况下"
+"并不好看,所以建议保持启用,除非你使用的是像素风字体。"
+
+msgid ""
+"If [code]true[/code], editor main menu is using embedded [MenuBar] instead "
+"of system global menu.\n"
+"Specific to the macOS platform."
+msgstr ""
+"如果为 [code]true[/code],则编辑器的主菜单使用嵌入式 [MenuBar],不使用系统全"
+"局菜单。\n"
+"专用于 macOS 平台。"
+
+msgid ""
+"The TLS certificate bundle to use for HTTP requests made within the editor "
+"(e.g. from the AssetLib tab). If left empty, the [url=https://github.com/"
+"godotengine/godot/blob/master/thirdparty/certs/ca-certificates.crt]included "
+"Mozilla certificate bundle[/url] will be used."
+msgstr ""
+"用于在编辑器中发出的 HTTP 请求的 TLS 证书包(例如来自 AssetLib 选项卡)。如果"
+"留空,将使用 [url=https://github.com/godotengine/godot/blob/master/"
+"thirdparty/certs/ca-certificates.crt]包含的 Mozilla 证书包[/url]。"
+
+msgid ""
+"If [code]true[/code], displays line length guidelines to help you keep line "
+"lengths in check. See also [member text_editor/appearance/guidelines/"
+"line_length_guideline_soft_column] and [member text_editor/appearance/"
+"guidelines/line_length_guideline_hard_column]."
+msgstr ""
+"如果为 [code]true[/code],则显示行长度参考线,帮助你控制行长度。另请参阅 "
+"[member text_editor/appearance/guidelines/line_length_guideline_soft_column] "
+"和 [member text_editor/appearance/guidelines/"
+"line_length_guideline_hard_column]。"
+
+msgid "The width of the minimap in the script editor (in pixels)."
+msgstr "脚本编辑器中小地图的宽度(单位为像素)。"
+
+msgid "If [code]true[/code], allows scrolling past the end of the file."
+msgstr "如果为 [code]true[/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."
+msgstr ""
+"如果为 [code]true[/code],可防止在场景树面板中选择节点时,自动在脚本和 2D/3D "
+"屏幕之间切换。"
+
+msgid "The script editor's bookmark icon color (displayed in the gutter)."
+msgstr "脚本编辑器的书签图标颜色(在边栏中显示)。"
+
+msgid "The script editor's breakpoint icon color (displayed in the gutter)."
+msgstr "脚本编辑器的断点图标颜色(在边栏中显示)。"
+
+msgid ""
+"The script editor's caret background color.\n"
+"[b]Note:[/b] This setting has no effect as it's currently unused."
+msgstr ""
+"脚本编辑器的光标背景色。\n"
+"[b]注意:[/b]此设置无效,因为当前未使用。"
+
+msgid "The script editor's caret color."
+msgstr "脚本编辑器的光标颜色。"
+
+msgid ""
+"The script editor's color for the code folding icon (displayed in the "
+"gutter)."
+msgstr "脚本编辑器的代码折叠图标颜色(在边栏中显示)。"
+
msgid "Emitted after any editor setting has changed."
msgstr "在编辑器设置改变后触发。"
@@ -10818,6 +25026,15 @@ msgstr "在未暂存区域遇到了文件。"
msgid "Holds a reference to an [Object]'s instance ID."
msgstr "保存对 [Object] 实例 ID 的引用。"
+msgid "API documentation on the ENet website"
+msgstr "ENet 网站上的 API 文档"
+
+msgid "Adjusts the bandwidth limits of a host."
+msgstr "调整主机的带宽限制。"
+
+msgid "Destroys the host and all resources associated with it."
+msgstr "销毁主机和与其关联的所有资源。"
+
msgid ""
"No compression. This uses the most bandwidth, but has the upside of "
"requiring the fewest CPU resources. This option may also be used to make "
@@ -10833,6 +25050,27 @@ msgstr ""
"ENet 的内置范围编码。适用于小数据包,但对于大于 4 KB 的数据包不是最有效的算"
"法。"
+msgid ""
+"[url=https://facebook.github.io/zstd/]Zstandard[/url] compression. Note that "
+"this algorithm is not very efficient on packets smaller than 4 KB. "
+"Therefore, it's recommended to use other compression algorithms in most "
+"cases."
+msgstr ""
+"[url=https://facebook.github.io/zstd/]Zstandard[/url]压缩。请注意,此算法对小"
+"于 4 KB 的数据包效率不高。因此,建议在大多数情况下使用其他压缩算法。"
+
+msgid "Total data sent."
+msgstr "发送数据的总数。"
+
+msgid "Total UDP packets sent."
+msgstr "发送 UDP 数据包的总数。"
+
+msgid "Total data received."
+msgstr "接收数据的总数。"
+
+msgid "Total UDP packets received."
+msgstr "接收 UDP 数据包的总数。"
+
msgid "High-level multiplayer"
msgstr "高级多人游戏"
@@ -10919,6 +25157,24 @@ msgid ""
msgstr "如果游戏在游戏循环的固定过程和物理阶段内,返回 [code]true[/code]。"
msgid ""
+"Controls the maximum number of physics steps that can be simulated each "
+"rendered frame. The default value is tuned to avoid \"spiral of death\" "
+"situations where expensive physics simulations trigger more expensive "
+"simulations indefinitely. However, the game will appear to slow down if the "
+"rendering FPS is less than [code]1 / max_physics_steps_per_frame[/code] of "
+"[member physics_ticks_per_second]. This occurs even if [code]delta[/code] is "
+"consistently used in physics calculations. To avoid this, increase [member "
+"max_physics_steps_per_frame] if you have increased [member "
+"physics_ticks_per_second] significantly above its default value."
+msgstr ""
+"控制每个渲染帧所能模拟的最大物理步骤数。默认值经过调试,可以避免“死亡螺旋”,"
+"防止开销较大的物理仿真无限触发开销更大的仿真。不过如果渲染 FPS 小于 [member "
+"physics_ticks_per_second] 的 [code]1 / max_physics_steps_per_frame[/code],游"
+"戏看上去会是降速的。即便在物理计算中始终使用 [code]delta[/code] 也一样会发"
+"生。要避免这种情况,如果增大了 [member physics_ticks_per_second],而且远大于"
+"默认值,那么建议将 [member max_physics_steps_per_frame] 也调大。"
+
+msgid ""
"Controls how much physics ticks are synchronized with real time. For 0 or "
"less, the ticks are synchronized. Such values are recommended for network "
"games, where clock synchronization matters. Higher values cause higher "
@@ -10938,6 +25194,35 @@ msgstr ""
"[member physics_jitter_fix] 设置为 [code]0[/code] 来禁用物理抖动修复。"
msgid ""
+"The number of fixed iterations per second. This controls how often physics "
+"simulation and [method Node._physics_process] methods are run. This value "
+"should generally always be set to [code]60[/code] or above, as Godot doesn't "
+"interpolate the physics step. As a result, values lower than [code]60[/code] "
+"will look stuttery. This value can be increased to make input more reactive "
+"or work around collision tunneling issues, but keep in mind doing so will "
+"increase CPU usage. See also [member max_fps] and [member ProjectSettings."
+"physics/common/physics_ticks_per_second].\n"
+"[b]Note:[/b] Only [member max_physics_steps_per_frame] physics ticks may be "
+"simulated per rendered frame at most. If more physics ticks have to be "
+"simulated per rendered frame to keep up with rendering, the project will "
+"appear to slow down (even if [code]delta[/code] is used consistently in "
+"physics calculations). Therefore, it is recommended to also increase [member "
+"max_physics_steps_per_frame] if increasing [member physics_ticks_per_second] "
+"significantly above its default value."
+msgstr ""
+"每秒执行的固定迭代次数。用于控制物理仿真和 [method Node._physics_process] 的"
+"执行频率。因为 Godot 不会进行物理步骤的插值,所以通常应该总是将其设成大于等"
+"于 [code]60[/code] 的值。因此,如果值小于 [code]60[/code] 就会看起来卡顿。提"
+"高该值可以让输入变得更加灵敏、也可以绕过碰撞隧道问题,但请记得这么做也会提升 "
+"CPU 的占用率。另请参阅 [member max_fps] 和 [member ProjectSettings.physics/"
+"common/physics_ticks_per_second]。\n"
+"[b]注意:[/b]每个渲染帧最多只能模拟 [member max_physics_steps_per_frame] 个物"
+"理周期。如果为了追赶渲染,需要在每个渲染帧中模拟更多物理周期,游戏看上去会是"
+"降速的(即便在物理计算中始终使用 [code]delta[/code])。因此,如果增大了 "
+"[member physics_ticks_per_second],而且远大于默认值,那么建议将 [member "
+"max_physics_steps_per_frame] 也调大。"
+
+msgid ""
"Controls how fast or slow the in-game clock ticks versus the real life one. "
"It defaults to 1.0. A value of 2.0 means the game moves twice as fast as "
"real life, whilst a value of 0.5 means the game moves at half the regular "
@@ -10975,16 +25260,6 @@ msgstr ""
"[code]true[/code] 时才有效。"
msgid ""
-"If [code]true[/code], enables the [code]adjustment_*[/code] properties "
-"provided by this resource. If [code]false[/code], modifications to the "
-"[code]adjustment_*[/code] properties will have no effect on the rendered "
-"scene."
-msgstr ""
-"如果为 [code]true[/code],则启用此资源提供的 [code]adjusting_*[/code] 属性。"
-"如果为 [code]false[/code],对[code]adjustment_*[/code]属性的修改将不会对渲染"
-"的场景产生影响。"
-
-msgid ""
"The global color saturation value of the rendered scene (default value is "
"1). Effective only if [code]adjustment_enabled[/code] is [code]true[/code]."
msgstr ""
@@ -11066,9 +25341,6 @@ msgstr ""
"泛光的强度。如果设置为大于 [code]0[/code] 的值,则将在比 [member "
"glow_hdr_threshold] 成员更暗的区域中显示辉光。"
-msgid "If [code]true[/code], the glow effect is enabled."
-msgstr "如果为 [code]true[/code],则启用辉光效果。"
-
msgid ""
"The higher threshold of the HDR glow. Areas brighter than this threshold "
"will be clamped for the purposes of the glow effect."
@@ -11112,6 +25384,15 @@ msgstr ""
"在AO纹理变暗的区域可见。"
msgid ""
+"The threshold for considering whether a given point on a surface is occluded "
+"or not represented as an angle from the horizon mapped into the "
+"[code]0.0-1.0[/code] range. A value of [code]1.0[/code] results in no "
+"occlusion."
+msgstr ""
+"用于考虑表面上给定点是否被遮挡的阈值,表示为与地平线的角度,映射到 "
+"[code]0.0-1.0[/code] 范围。[code]1.0[/code] 的值不会导致遮蔽。"
+
+msgid ""
"The screen-space ambient occlusion intensity in direct light. In real life, "
"ambient occlusion only applies to indirect light, which means its effects "
"can't be seen in direct light. Values higher than [code]0[/code] will make "
@@ -11142,7 +25423,7 @@ msgid "Displays a camera feed in the background."
msgstr "在背景中显示相机源。"
msgid "Represents the size of the [enum BGMode] enum."
-msgstr "表示 [enum BGMode] 枚举的大小。"
+msgstr "代表 [enum BGMode] 枚举的大小。"
msgid ""
"Linear tonemapper operator. Reads the linear data and passes it on "
@@ -11357,6 +25638,9 @@ msgstr ""
"打开文件进行读写操作。如果文件不存在,则创建该文件,如果存在则截断。光标位于"
"文件的开头。"
+msgid "Uses the [url=https://fastlz.org/]FastLZ[/url] compression method."
+msgstr "使用 [url=https://fastlz.org/]FastLZ[/url] 压缩方法。"
+
msgid ""
"Uses the [url=https://en.wikipedia.org/wiki/DEFLATE]DEFLATE[/url] "
"compression method."
@@ -11377,6 +25661,9 @@ msgstr "用于选择文件系统中的文件或目录的对话框。"
msgid "Clear all the added filters in the dialog."
msgstr "清除对话框中所有添加的过滤器。"
+msgid "Clear all currently selected items in the dialog."
+msgstr "清除对话框中所有当前选定的项目。"
+
msgid ""
"Returns the LineEdit for the selected file.\n"
"[b]Warning:[/b] This is a required internal node, removing and freeing it "
@@ -11551,6 +25838,186 @@ msgid ""
msgstr ""
"将 [int] 值转换为浮点值,[code]float(1)[/code] 将等于 [code]1.0[/code]。"
+msgid "Returns [code]true[/code] if two floats are different from each other."
+msgstr "如果两个浮点数彼此不同,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the integer has different value than the float."
+msgstr "如果整数的值与浮点数不同,则返回 [code]true[/code]。"
+
+msgid ""
+"Multiplies each component of the [Color] by the given [float].\n"
+"[codeblock]\n"
+"print(1.5 * Color(0.5, 0.5, 0.5)) # Color(0.75, 0.75, 0.75)\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Color] 的每个分量乘以给定的 [float]。\n"
+"[codeblock]\n"
+"print(1.5 * Color(0.5, 0.5, 0.5)) # Color(0.75, 0.75, 0.75)\n"
+"[/codeblock]"
+
+msgid ""
+"Multiplies each component of the [Quaternion] by the given [float]. This "
+"operation is not meaningful on its own, but it can be used as a part of a "
+"larger expression."
+msgstr ""
+"将该 [Quaternion] 的每个分量乘以给定的 [float]。此操作本身没有意义,但可以用"
+"作更大表达式的一部分。"
+
+msgid ""
+"Multiplies each component of the [Vector2] by the given [float].\n"
+"[codeblock]\n"
+"print(2.5 * Vector2(1, 3)) # Prints \"(2.5, 7.5)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2] 的每个分量乘以给定的 [float]。\n"
+"[codeblock]\n"
+"print(2.5 * Vector2(1, 3)) # 输出 \"(2.5, 7.5)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Multiplies each component of the [Vector2i] by the given [float]. Returns a "
+"[Vector2].\n"
+"[codeblock]\n"
+"print(0.9 * Vector2i(10, 15)) # Prints \"(9, 13.5)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2i] 的每个分量乘以给定的 [float]。返回的是 [Vector2]。\n"
+"[codeblock]\n"
+"print(0.9 * Vector2i(10, 15)) # 输出 \"(9, 13.5)\"\n"
+"[/codeblock]"
+
+msgid "Multiplies each component of the [Vector3] by the given [float]."
+msgstr "将该 [Vector3] 的每个分量乘以给定的 [float]。"
+
+msgid ""
+"Multiplies each component of the [Vector3i] by the given [float]. Returns a "
+"[Vector3].\n"
+"[codeblock]\n"
+"print(0.9 * Vector3i(10, 15, 20)) # Prints \"(9, 13.5, 18)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3i] 的每个分量乘以给定的 [float]。返回的是 [Vector3]。\n"
+"[codeblock]\n"
+"print(0.9 * Vector3i(10, 15, 20)) # 输出 \"(9, 13.5, 18)\"\n"
+"[/codeblock]"
+
+msgid "Multiplies each component of the [Vector4] by the given [float]."
+msgstr "将该 [Vector4] 的每个分量乘以给定的 [float]。"
+
+msgid ""
+"Multiplies each component of the [Vector4i] by the given [float]. Returns a "
+"[Vector4].\n"
+"[codeblock]\n"
+"print(0.9 * Vector4i(10, 15, 20, -10)) # Prints \"(9, 13.5, 18, -9)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4i] 的每个分量乘以给定的 [float]。返回的是 [Vector4]。\n"
+"[codeblock]\n"
+"print(0.9 * Vector4i(10, 15, 20, -10))# 输出 \"(9, 13.5, 18, -9)\"\n"
+"[/codeblock]"
+
+msgid "Multiplies two [float]s."
+msgstr "将两个 [float] 相乘。"
+
+msgid "Multiplies a [float] and an [int]. The result is a [float]."
+msgstr "将 [float] 和 [int] 相乘。结果是 [float]。"
+
+msgid ""
+"Raises a [float] to a power of a [float].\n"
+"[codeblock]\n"
+"print(39.0625**0.25) # 2.5\n"
+"[/codeblock]"
+msgstr ""
+"将 [float] 提升到 [float] 次幂。\n"
+"[codeblock]\n"
+"print(39.0625**0.25) # 2.5\n"
+"[/codeblock]"
+
+msgid ""
+"Raises a [float] to a power of an [int]. The result is a [float].\n"
+"[codeblock]\n"
+"print(0.9**3) # 0.729\n"
+"[/codeblock]"
+msgstr ""
+"将 [float] 提升到 [int] 次幂。结果为 [float]。\n"
+"[codeblock]\n"
+"print(0.9**3) # 0.729\n"
+"[/codeblock]"
+
+msgid "Adds two floats."
+msgstr "将两个浮点数相加。"
+
+msgid "Adds a [float] and an [int]. The result is a [float]."
+msgstr "将 [float] 加上 [int]。结果为 [float]。"
+
+msgid "Subtracts a float from a float."
+msgstr "将一个浮点数减去另一个浮点数。"
+
+msgid "Subtracts an [int] from a [float]. The result is a [float]."
+msgstr "将 [float] 减去 [int]。结果为 [float]。"
+
+msgid "Divides two floats."
+msgstr "将两个浮点数相除。"
+
+msgid "Divides a [float] by an [int]. The result is a [float]."
+msgstr "将 [float] 除以 [int]。结果是 [float]。"
+
+msgid "Returns [code]true[/code] if the left float is less than the right one."
+msgstr "如果左侧的浮点数小于右侧,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if this [float] is less than the given [int]."
+msgstr "如果该 [float] 小于给定的 [int],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the left float is less than or equal to the "
+"right one."
+msgstr "如果左侧的浮点数小于等于右侧,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if this [float] is less than or equal to the given "
+"[int]."
+msgstr "如果该 [float] 小于等于给定的 [int],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if both floats are exactly equal.\n"
+"[b]Note:[/b] Due to floating-point precision errors, consider using [method "
+"@GlobalScope.is_equal_approx] or [method @GlobalScope.is_zero_approx] "
+"instead, which are more reliable."
+msgstr ""
+"如果两个浮点数完全相等,则返回 [code]true[/code]。\n"
+"[b]注意:[/b]由于浮点精度误差,考虑改用更可靠的 [method @GlobalScope."
+"is_equal_approx] 或 [method @GlobalScope.is_zero_approx]。"
+
+msgid "Returns [code]true[/code] if the [float] and the given [int] are equal."
+msgstr "如果该 [float] 等于给定的 [int],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the left float is greater than the right one."
+msgstr "如果左侧的浮点数大于右侧,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if this [float] is greater than the given [int]."
+msgstr "如果该 [float] 大于给定的 [int],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the left float is greater than or equal to the "
+"right one."
+msgstr "如果左侧的浮点数大于等于右侧,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if this [float] is greater than or equal to the "
+"given [int]."
+msgstr "如果该 [float] 大于等于给定的 [int],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns the negative value of the [float]. If positive, turns the number "
+"negative. If negative, turns the number positive. With floats, the number "
+"zero can be either positive or negative."
+msgstr ""
+"返回该 [float] 的相反数。如果为正数,则将该数变为负数。如果为负数,则将该数变"
+"为正数。对于浮点数,数字零既可以是正数,也可以是负数。"
+
msgid "Base class for flow containers."
msgstr "流式容器的基类。"
@@ -11567,6 +26034,15 @@ msgstr ""
msgid "Returns the current line count."
msgstr "返回当前的行数。"
+msgid ""
+"If [code]true[/code], the [FlowContainer] will arrange its children "
+"vertically, rather than horizontally.\n"
+"Can't be changed when using [HFlowContainer] and [VFlowContainer]."
+msgstr ""
+"如果为 [code]true[/code],则 [FlowContainer] 将垂直排列子节点,而不是水平排"
+"列。\n"
+"使用 [HFlowContainer] 和 [VFlowContainer] 时不能改变。"
+
msgid "The horizontal separation of children nodes."
msgstr "子节点的水平分隔量。"
@@ -11579,9 +26055,39 @@ msgstr "返回字体的上升幅度(超出基线的像素数)。"
msgid "Returns the font descent (number of pixels below the baseline)."
msgstr "返回字体的减少量(低于基线的像素数)。"
+msgid "Returns glyph size."
+msgstr "返回字形大小。"
+
+msgid "Sets glyph offset from the baseline."
+msgstr "设置字形相对于基线的偏移量。"
+
+msgid "Sets glyph size."
+msgstr "设置字形大小。"
+
+msgid "Sets index of the cache texture containing the glyph."
+msgstr "设置包含该字形的缓存纹理的索引。"
+
+msgid "Sets rectangle in the cache texture containing the glyph."
+msgstr "设置包含该字形的缓存纹理中,该字形的矩形区域。"
+
+msgid "Font OpenType feature set override."
+msgstr "字体 OpenType 特性集覆盖。"
+
+msgid "Extra spacing at the bottom of the line in pixels."
+msgstr "行底部的额外间距,单位为像素。"
+
+msgid "Extra width of the space glyphs."
+msgstr "空格字形的额外宽度。"
+
+msgid "Extra spacing at the top of the line in pixels."
+msgstr "行顶部的额外间距,单位为像素。"
+
msgid "A script implemented in the GDScript programming language."
msgstr "用 GDScript 编程语言实现的脚本。"
+msgid "GDScript documentation index"
+msgstr "GDScript 文档索引"
+
msgid ""
"Returns a new instance of the script.\n"
"For example:\n"
@@ -11931,7 +26437,7 @@ msgid "If enabled, there is a linear motor across these axes."
msgstr "如果启用,则存在跨这些轴的线性马达。"
msgid "Represents the size of the [enum Flag] enum."
-msgstr "表示 [enum Flag] 枚举的大小。"
+msgstr "代表 [enum Flag] 枚举的大小。"
msgid ""
"Given an array of [Vector2]s, returns the convex hull as a list of points in "
@@ -12036,6 +26542,21 @@ msgstr ""
"只显示从这个物体投射出来的阴影。\n"
"换句话说,实际的网格将不可见,只有网格投影可见。"
+msgid "Represents the size of the [enum LightmapScale] enum."
+msgstr "代表 [enum LightmapScale] 枚举的大小。"
+
+msgid "Represents a GLTF camera."
+msgstr "代表 GLTF 相机。"
+
+msgid "[GLTFDocument] extension class."
+msgstr "[GLTFDocument] 扩展类。"
+
+msgid "Represents a GLTF light."
+msgstr "代表 GLTF 灯。"
+
+msgid "KHR_lights_punctual GLTF extension spec"
+msgstr "KHR_lights_punctual GLTF 扩展规格"
+
msgid ""
"The [Color] of the light. Defaults to white. A black color causes the light "
"to have no effect."
@@ -12058,6 +26579,12 @@ msgstr ""
"灯光的范围,超过这个范围灯光无效。没有定义范围的 GLTF 灯光的行为与无限范围的"
"物理灯光一样。当创建 Godot 灯光时,范围限制在 4096。"
+msgid "GLTF node class."
+msgstr "GLTF 节点类。"
+
+msgid "Represents a GLTF texture sampler"
+msgstr "代表 GLTF 纹理采样器"
+
msgid "Bridge between Godot and the Mono runtime (Mono-enabled builds only)."
msgstr "Godot 和 Mono 运行时之间的桥梁(仅支持 Mono 的构建)。"
@@ -12071,6 +26598,9 @@ msgstr ""
"Mono 的 Godot 构建中可用。\n"
"参阅 [CSharpScript] 。"
+msgid "2D particle emitter."
+msgstr "2D 粒子发射器。"
+
msgid "2D Particles Demo"
msgstr "2D 粒子演示"
@@ -12096,6 +26626,9 @@ msgstr ""
"如果当节点进入/退出屏幕时粒子突然出现/消失,则增长矩形。[Rect2] 可以通过代码"
"或使用 [b]Particles → Generate Visibility Rect[/b] 编辑器工具生成。"
+msgid "3D particle emitter."
+msgstr "3D 粒子发射器。"
+
msgid "Controlling thousands of fish with Particles"
msgstr "用粒子控制数千条鱼"
@@ -12107,6 +26640,9 @@ msgstr "返回包含当前帧中所有活动粒子的轴对齐包围盒。"
msgid "Restarts the particle emission, clearing existing particles."
msgstr "重新发射粒子,清除现有的粒子。"
+msgid "Number of particles to emit."
+msgstr "要发射的粒子数。"
+
msgid "[Mesh] that is drawn for the first draw pass."
msgstr "第一绘制阶段所绘制的 [Mesh]。"
@@ -12145,12 +26681,71 @@ msgstr "发出随机率。"
msgid ""
"Speed scaling ratio. A value of [code]0[/code] can be used to pause the "
"particles."
-msgstr "速度缩放比。值为 [code]0[/code] 时可暂停粒子。"
+msgstr "速度缩放比例。[code]0[/code] 的值可被用于暂停粒子。"
msgid "Maximum number of draw passes supported."
msgstr "支持的最大绘制阶段数。"
msgid ""
+"Generate a 256×256 heightmap. Intended for small-scale scenes, or larger "
+"scenes with no distant particles."
+msgstr "生成 256×256 的高度图。适用于小规模场景,或没有远景粒子的较大场景。"
+
+msgid ""
+"Generate a 512×512 heightmap. Intended for medium-scale scenes, or larger "
+"scenes with no distant particles."
+msgstr ""
+"生成 512×512 的高度图。适用于中等规模的场景,或没有远景粒子的较大场景。"
+
+msgid ""
+"Generate a 1024×1024 heightmap. Intended for large scenes with distant "
+"particles."
+msgstr "生成 1024×1024 的高度图。适用于具有远景粒子的大型场景。"
+
+msgid ""
+"Generate a 2048×2048 heightmap. Intended for very large scenes with distant "
+"particles."
+msgstr "生成 2048×2048 的高度图。适用于具有远景粒子的非常大的场景。"
+
+msgid ""
+"Generate a 4096×4096 heightmap. Intended for huge scenes with distant "
+"particles."
+msgstr "生成 4096×4096 的高度图。适用于具有远景粒子的巨大场景。"
+
+msgid ""
+"Generate a 8192×8192 heightmap. Intended for gigantic scenes with distant "
+"particles."
+msgstr "生成 8192×8192 的高度图。适用于具有远景粒子的巨大场景。"
+
+msgid "Represents the size of the [enum Resolution] enum."
+msgstr "代表 [enum Resolution] 枚举的大小。"
+
+msgid ""
+"Bake a 16×16×16 signed distance field. This is the fastest option, but also "
+"the least precise."
+msgstr "烘焙 16×16×16 的有符号距离场。这是最快的选项,但也是最不精确的。"
+
+msgid "Bake a 32×32×32 signed distance field."
+msgstr "烘焙 32×32×32 的有符号距离场。"
+
+msgid "Bake a 64×64×64 signed distance field."
+msgstr "烘焙 64×64×64 的有符号距离场。"
+
+msgid "Bake a 128×128×128 signed distance field."
+msgstr "烘焙 128×128×128 的有符号距离场。"
+
+msgid "Bake a 256×256×256 signed distance field."
+msgstr "烘焙 256×256×256 的有符号距离场。"
+
+msgid ""
+"Bake a 512×512×512 signed distance field. This is the slowest option, but "
+"also the most precise."
+msgstr "烘焙 512×512×512 的有符号距离场。这是最慢的选项,但也是最精确的。"
+
+msgid "The collision sphere's radius in 3D units."
+msgstr "碰撞球的半径,以 3D 单位表示。"
+
+msgid ""
"A color interpolator resource which can be used to generate colors between "
"user-defined color points."
msgstr "颜色插值器资源,可用于在用户定义的颜色点之间生成颜色。"
@@ -12696,6 +27291,9 @@ msgstr "水平盒式容器。见 [BoxContainer]。"
msgid "The horizontal space between the [HBoxContainer]'s elements."
msgstr "[HBoxContainer] 的元素之间的水平间隙。"
+msgid "Height map shape resource for 3D physics."
+msgstr "高度图形状资源,用于 3D 物理。"
+
msgid ""
"Height map data, pool array must be of [member map_width] * [member "
"map_depth] size."
@@ -12770,6 +27368,102 @@ msgid "Used to create an HMAC for a message using a key."
msgstr "用来为一个使用密钥的信息创建 HMAC。"
msgid ""
+"The HMACContext class is useful for advanced HMAC use cases, such as "
+"streaming the message as it supports creating the message over time rather "
+"than providing it all at once.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"extends Node\n"
+"var ctx = HMACContext.new()\n"
+"\n"
+"func _ready():\n"
+" var key = \"supersecret\".to_utf8()\n"
+" var err = ctx.start(HashingContext.HASH_SHA256, key)\n"
+" assert(err == OK)\n"
+" var msg1 = \"this is \".to_utf8()\n"
+" var msg2 = \"super duper secret\".to_utf8()\n"
+" err = ctx.update(msg1)\n"
+" assert(err == OK)\n"
+" err = ctx.update(msg2)\n"
+" assert(err == OK)\n"
+" var hmac = ctx.finish()\n"
+" print(hmac.hex_encode())\n"
+"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"using System.Diagnostics;\n"
+"\n"
+"public partial class MyNode : Node\n"
+"{\n"
+" private HmacContext _ctx = new HmacContext();\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" byte[] key = \"supersecret\".ToUtf8();\n"
+" Error err = _ctx.Start(HashingContext.HashType.Sha256, key);\n"
+" Debug.Assert(err == Error.Ok);\n"
+" byte[] msg1 = \"this is \".ToUtf8();\n"
+" byte[] msg2 = \"super duper secret\".ToUtf8();\n"
+" err = _ctx.Update(msg1);\n"
+" Debug.Assert(err == Error.Ok);\n"
+" err = _ctx.Update(msg2);\n"
+" Debug.Assert(err == Error.Ok);\n"
+" byte[] hmac = _ctx.Finish();\n"
+" GD.Print(hmac.HexEncode());\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"HMACContext 类对于高级的 HMAC 用例非常有用,例如流式消息,因为它支持在一段时"
+"间内创建消息,而非一次性提供。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"extends Node\n"
+"var ctx = HMACContext.new()\n"
+"\n"
+"func _ready():\n"
+" var key = \"supersecret\".to_utf8()\n"
+" var err = ctx.start(HashingContext.HASH_SHA256, key)\n"
+" assert(err == OK)\n"
+" var msg1 = \"this is \".to_utf8()\n"
+" var msg2 = \"super duper secret\".to_utf8()\n"
+" err = ctx.update(msg1)\n"
+" assert(err == OK)\n"
+" err = ctx.update(msg2)\n"
+" assert(err == OK)\n"
+" var hmac = ctx.finish()\n"
+" print(hmac.hex_encode())\n"
+"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"using Godot;\n"
+"using System.Diagnostics;\n"
+"\n"
+"public partial class MyNode : Node\n"
+"{\n"
+" private HmacContext _ctx = new HmacContext();\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" byte[] key = \"supersecret\".ToUtf8();\n"
+" Error err = _ctx.Start(HashingContext.HashType.Sha256, key);\n"
+" Debug.Assert(err == Error.Ok);\n"
+" byte[] msg1 = \"this is \".ToUtf8();\n"
+" byte[] msg2 = \"super duper secret\".ToUtf8();\n"
+" err = _ctx.Update(msg1);\n"
+" Debug.Assert(err == Error.Ok);\n"
+" err = _ctx.Update(msg2);\n"
+" Debug.Assert(err == Error.Ok);\n"
+" byte[] hmac = _ctx.Finish();\n"
+" GD.Print(hmac.HexEncode());\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Initializes the HMACContext. This method cannot be called again on the same "
"HMACContext until [method finish] has been called."
msgstr ""
@@ -12827,21 +27521,20 @@ msgid "Used as background when the [ScrollBar] has the GUI focus."
msgstr "当 [ScrollBar] 具有 GUI 焦点时用作背景。"
msgid "Horizontal separator."
-msgstr "水平分隔符。"
+msgstr "水平分隔器。"
msgid ""
"Horizontal separator. See [Separator]. Even though it looks horizontal, it "
"is used to separate objects vertically."
-msgstr ""
-"水平分离器。见 [Separator]。尽管它看起来是水平的,但被用于垂直分隔对象。"
+msgstr "水平分隔器。见 [Separator]。尽管外观是水平的,但作用是垂直分隔对象。"
msgid ""
"The height of the area covered by the separator. Effectively works like a "
"minimum height."
-msgstr "分隔符覆盖区域的高度。如同最小高度一样有效地工作。"
+msgstr "分隔器覆盖区域的高度。效果上和最小高度一致。"
msgid "The style for the separator line. Works best with [StyleBoxLine]."
-msgstr "分隔符的样式。与 [StyleBoxLine] 配合使用效果更佳。"
+msgstr "分隔器的线条样式。与 [StyleBoxLine] 配合使用效果更佳。"
msgid "Horizontal slider."
msgstr "水平滑动条。"
@@ -12903,6 +27596,12 @@ msgstr "在中间区域绘制的抓取图标。"
msgid "Low-level hyper-text transfer protocol client."
msgstr "低级别的超文本传输协议客户端。"
+msgid "HTTP client class"
+msgstr "HTTP 客户端类"
+
+msgid "TLS certificates"
+msgstr "TLS 证书"
+
msgid "Closes the current connection, allowing reuse of this [HTTPClient]."
msgstr "关闭当前连接,允许重用此[HTTPClient]。"
@@ -13044,7 +27743,7 @@ msgid ""
msgstr "HTTP PATCH 方法。PATCH 方法用于对资源进行部分修改。"
msgid "Represents the size of the [enum Method] enum."
-msgstr "表示 [enum Method] 枚举的大小。"
+msgstr "代表 [enum Method] 枚举的大小。"
msgid "Status: Disconnected from the server."
msgstr "状态:与服务器断开连接。"
@@ -13073,6 +27772,9 @@ msgstr "状态:已获取 HTTP 响应体。"
msgid "Status: Error in HTTP connection."
msgstr "状态:HTTP 连接出错。"
+msgid "Status: Error in TLS handshake."
+msgstr "状态:TLS 握手出错。"
+
msgid ""
"HTTP status code [code]100 Continue[/code]. Interim response that indicates "
"everything so far is OK and that the client should continue with the request "
@@ -13594,6 +28296,9 @@ msgstr ""
msgid "A node with the ability to send HTTP(S) requests."
msgstr "具有发送 HTTP(S) 请求能力的节点。"
+msgid "Making HTTP requests"
+msgstr "发出 HTTP 请求"
+
msgid "Cancels the current request."
msgstr "取消当前请求。"
@@ -13644,6 +28349,9 @@ msgstr ""
"下载小文件时将其设置为较低的值,以降低内存使用量,但会降低下载速度,例如 "
"4096 表示 4 KiB。"
+msgid "Maximum number of allowed redirects."
+msgstr "允许的最大重定向数。"
+
msgid ""
"If set to a value greater than [code]0.0[/code] before the request starts, "
"the HTTP request will time out after [code]timeout[/code] seconds have "
@@ -13678,6 +28386,9 @@ msgstr "解析时请求失败。"
msgid "Request failed due to connection (read/write) error."
msgstr "因连接(读写)错误而失败。"
+msgid "Request failed on TLS handshake."
+msgstr "TLS 握手时请求失败。"
+
msgid "Request does not have a response (yet)."
msgstr "请求(目前还)没有获得相应。"
@@ -13724,6 +28435,12 @@ msgstr ""
"都存储在一个位上,则返回 [constant ALPHA_BIT]。如果没有找到 Alpha 值的数据,"
"则返回 [constant ALPHA_NONE]。"
+msgid "Fills the image with [param color]."
+msgstr "使用颜色 [param color] 填充图像。"
+
+msgid "Fills [param rect] with [param color]."
+msgstr "使用颜色 [param color] 填充矩形 [param rect]。"
+
msgid "Blends low-alpha pixels with nearby pixels."
msgstr "将 Alpha 较低的像素与附近像素混合。"
@@ -13822,6 +28539,11 @@ msgid ""
msgstr "OpenGL 纹理格式,具有两个值,亮度和 Alpha,都以 8 位存储。"
msgid ""
+"OpenGL texture format [code]RED[/code] with a single component and a "
+"bitdepth of 8."
+msgstr "OpenGL 纹理格式 [code]RED[/code],具有单个分量和 8 位深度。"
+
+msgid ""
"OpenGL texture format [code]RG[/code] with two components and a bitdepth of "
"8 for each."
msgstr "OpenGL 纹理格式 [code]RG[/code],具有两个部分,每个部分的位深度为 8。"
@@ -14098,7 +28820,7 @@ msgstr ""
"[b]注意:[/b]创建 [ImageTexture] 时,会执行 sRGB 到线性色彩空间的转换。"
msgid "Represents the size of the [enum Format] enum."
-msgstr "表示 [enum Format] 枚举的大小。"
+msgstr "代表 [enum Format] 枚举的大小。"
msgid ""
"Performs nearest-neighbor interpolation. If the image is resized, it will be "
@@ -14183,6 +28905,9 @@ msgid ""
"compressed into two channels)."
msgstr "原始纹理(在压缩前)是法线纹理(例如可以压缩为两个通道)。"
+msgid "A [Texture2D] based on an [Image]."
+msgstr "基于 [Image] 的 [Texture2D]。"
+
msgid "Returns the format of the texture, one of [enum Image.Format]."
msgstr "返回纹理的格式,[enum Image.Format] 之一。"
@@ -14192,6 +28917,9 @@ msgstr "将纹理的大小调整为指定的尺寸。"
msgid "Texture with 3 dimensions."
msgstr "具有 3 个维度的纹理。"
+msgid "Clear all surfaces."
+msgstr "清除所有表面。"
+
msgid ""
"Returns a [Material] in a given surface. Surface is rendered using this "
"material."
@@ -14215,6 +28943,9 @@ msgstr ""
"目 > 项目设置[/b]的[b]输入映射[/b]选项卡中或使用 [InputMap] 类设置操作及其事"
"件。"
+msgid "Inputs documentation index"
+msgstr "输入文档索引"
+
msgid ""
"This will simulate pressing the specified action.\n"
"The strength can be used for non-boolean actions, it's ranged between 0 and "
@@ -14523,13 +29254,6 @@ msgstr ""
"如果这个输入事件的类型是可以分配给输入动作的类型,则返回 [code]true[/code]。"
msgid ""
-"Returns [code]true[/code] if this input event is an echo event (only for "
-"events of type [InputEventKey])."
-msgstr ""
-"如果这个输入事件是回显事件(仅适用于 [InputEventKey] 类型的事件),则返回 "
-"[code]true[/code]。"
-
-msgid ""
"The event's device ID.\n"
"[b]Note:[/b] This device ID will always be [code]-1[/code] for emulated "
"mouse input from a touchscreen. This can be used to distinguish emulated "
@@ -14613,6 +29337,9 @@ msgid ""
msgstr ""
"存储关于操纵杆运动的信息。一个 [InputEventJoypadMotion] 一次代表一个轴。"
+msgid "Axis identifier. Use one of the [enum JoyAxis] axis constants."
+msgstr "轴标识符。使用 [enum JoyAxis] 轴常量。"
+
msgid ""
"Current position of the joystick on the given axis. The value ranges from "
"[code]-1.0[/code] to [code]1.0[/code]. A value of [code]0[/code] means the "
@@ -14625,6 +29352,21 @@ msgid "Input event type for keyboard events."
msgstr "键盘事件的输入事件类型。"
msgid ""
+"Returns a [String] representation of the event's [member key_label] and "
+"modifiers."
+msgstr "返回该事件 [member key_label] 及修饰键的 [String] 字符串表示。"
+
+msgid ""
+"Returns a [String] representation of the event's [member keycode] and "
+"modifiers."
+msgstr "返回该事件 [member key_keycode] 及修饰键的 [String] 字符串表示。"
+
+msgid ""
+"Returns a [String] representation of the event's [member physical_keycode] "
+"and modifiers."
+msgstr "返回该事件 [member physical_keycode] 及修饰键的 [String] 字符串表示。"
+
+msgid ""
"If [code]true[/code], the key was already pressed before this event. It "
"means the user is holding the key down."
msgstr ""
@@ -14632,6 +29374,30 @@ msgstr ""
"键。"
msgid ""
+"Latin label printed on the key in the current keyboard layout, which "
+"corresponds to one of the [enum Key] constants.\n"
+"To get a human-readable representation of the [InputEventKey], use [code]OS."
+"get_keycode_string(event.keycode)[/code] where [code]event[/code] is the "
+"[InputEventKey].\n"
+"[codeblock]\n"
+" +-----+ +-----+\n"
+" | Q | | Q | - \"Q\" - keycode\n"
+" | Й | | ض | - \"Й\" and \"ض\" - key_label\n"
+" +-----+ +-----+\n"
+"[/codeblock]"
+msgstr ""
+"当前键盘布局中键上打印的拉丁标签,对应于 [enum Key] 常量之一。\n"
+"要获得 [InputEventKey] 的人类可读表示,请使用 [code]OS."
+"get_keycode_string(event.keycode)[/code],其中 [code]event[/code] 是 "
+"[InputEventKey]。\n"
+"[codeblock]\n"
+" +-----+ +-----+\n"
+" | Q | | Q | - \"Q\" - 键码\n"
+" | Й | | ض | - \"Й\" 和 \"ض\" - key_label\n"
+" +-----+ +-----+\n"
+"[/codeblock]"
+
+msgid ""
"If [code]true[/code], the key's state is pressed. If [code]false[/code], the "
"key's state is released."
msgstr ""
@@ -14777,6 +29543,9 @@ msgstr ""
"代表笔的倾斜角度。正的 X 坐标值表示向右倾斜。正的Y坐标值表示向用户自身倾斜。"
"两个轴的范围是 [code]-1.0[/code] 到 [code]1.0[/code]。"
+msgid "The mouse velocity in pixels per second."
+msgstr "鼠标速度,以像素每秒为单位。"
+
msgid ""
"Input event type for screen drag events. Only available on mobile devices."
msgstr "屏幕拖动事件的输入事件类型。仅适用于移动设备。"
@@ -14795,6 +29564,9 @@ msgid ""
"frame)."
msgstr "相对于之前位置(上一帧时的位置)的拖拽位置。"
+msgid "The drag velocity."
+msgstr "拖拽的速度。"
+
msgid ""
"Input event type for screen touch events.\n"
"(only available on mobile devices)"
@@ -14809,10 +29581,16 @@ msgstr ""
"存储多点触摸的按压/释放信息。支持触摸按压、触摸释放和 [member index] 的多点触"
"摸计数和顺序。"
+msgid "If [code]true[/code], the touch's state is a double tap."
+msgstr "如果为 [code]true[/code],则触摸状态为双击。"
+
msgid ""
"The touch index in the case of a multi-touch event. One index = one finger."
msgstr "在多点触摸事件中的触摸指数。一个索引 = 一个手指。"
+msgid "The touch position, in screen (global) coordinates."
+msgstr "触摸位置,使用屏幕(全局)坐标。"
+
msgid ""
"If [code]true[/code], the touch's state is pressed. If [code]false[/code], "
"the touch's state is released."
@@ -14823,6 +29601,51 @@ msgstr ""
msgid "Base class for keys events with modifiers."
msgstr "带有修饰符的键事件的基类。"
+msgid ""
+"Contains keys events information with modifiers support like [kbd]Shift[/"
+"kbd] or [kbd]Alt[/kbd]. See [method Node._input]."
+msgstr ""
+"包含带有修饰键支持的按键事件信息,如 [kbd]Shift[/kbd] 或 [kbd]Alt[/kbd]。见 "
+"[method Node._input]。"
+
+msgid "Returns the keycode combination of modifier keys."
+msgstr "返回修饰键的键码组合。"
+
+msgid ""
+"On macOS, returns [code]true[/code] if [kbd]Meta[/kbd] ([kbd]Command[/kbd]) "
+"is pressed.\n"
+"On other platforms, returns [code]true[/code] if [kbd]Ctrl[/kbd] is pressed."
+msgstr ""
+"在 macOS 上,如果 [kbd]Meta[/kbd]([kbd]Command[/kbd])是按下状态,则返回 "
+"[code]true[/code] 。\n"
+"在其他平台上,如果 [kbd]Ctrl[/kbd] 是按下状态,则返回 [code]true[/code] 。"
+
+msgid "State of the [kbd]Alt[/kbd] modifier."
+msgstr "[kbd]Alt[/kbd] 修饰键的状态。"
+
+msgid ""
+"Automatically use [kbd]Meta[/kbd] ([kbd]Command[/kbd]) on macOS and "
+"[kbd]Ctrl[/kbd] on other platforms. If [code]true[/code], [member "
+"ctrl_pressed] and [member meta_pressed] cannot be set."
+msgstr ""
+"自动在 macOS 上使用 [kbd]Meta[/kbd]([kbd]Command[/kbd]),在其他平台上使用 "
+"[kbd]Ctrl[/kbd]。如果为 [code]true[/code],则无法设置 [member ctrl_pressed] "
+"和 [member meta_pressed]。"
+
+msgid "State of the [kbd]Ctrl[/kbd] modifier."
+msgstr "[kbd]Ctrl[/kbd] 修饰键的状态。"
+
+msgid ""
+"State of the [kbd]Meta[/kbd] modifier. On Windows and Linux, this represents "
+"the Windows key (sometimes called \"meta\" or \"super\" on Linux). On macOS, "
+"this represents the Command key."
+msgstr ""
+"[kbd]Meta[/kbd] 修饰键的状态。在 Windows 和 Linux 上代表 Windows 键(有时在 "
+"Linux 上称为“meta”或“super”键)。在 macOS 上代表 Command 键。"
+
+msgid "State of the [kbd]Shift[/kbd] modifier."
+msgstr "[kbd]Shift[/kbd] 修饰键的状态。"
+
msgid "Singleton that manages [InputEventAction]."
msgstr "管理 [InputEventAction] 的单例。"
@@ -14836,6 +29659,9 @@ msgstr ""
"映射[/b]或在代码中用 [method add_action] 和 [method action_add_event] 创建/修"
"改。请参阅 [method Node._input]。"
+msgid "InputEvent: InputMap"
+msgstr "InputEvent:InputMap"
+
msgid ""
"Adds an [InputEvent] to an action. This [InputEvent] will trigger the action."
msgstr "给某个动作添加一个 [InputEvent]。这个 [InputEvent] 将触发这个动作。"
@@ -14906,16 +29732,399 @@ msgstr ""
msgid "Integer built-in type."
msgstr "整数内置类型。"
+msgid ""
+"Signed 64-bit integer type.\n"
+"It can take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. "
+"[code][-9223372036854775808, 9223372036854775807][/code]. Exceeding those "
+"bounds will wrap around.\n"
+"[int] is a [Variant] type, and will thus be used when assigning an integer "
+"value to a [Variant]. It can also be enforced with the [code]: int[/code] "
+"type hint.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var my_variant = 0 # int, value 0.\n"
+"my_variant += 4.2 # float, value 4.2.\n"
+"var my_int: int = 1 # int, value 1.\n"
+"my_int = 4.2 # int, value 4, the right value is implicitly cast to int.\n"
+"my_int = int(\"6.7\") # int, value 6, the String is explicitly cast with "
+"int.\n"
+"var max_int = 9223372036854775807\n"
+"print(max_int) # 9223372036854775807, OK.\n"
+"max_int += 1\n"
+"print(max_int) # -9223372036854775808, we overflowed and wrapped around.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"int myInt = (int)\"6.7\".ToFloat(); // int, value 6, the String is "
+"explicitly cast with int.\n"
+"// We have to use `long` here, because GDSript's `int`\n"
+"// is 64 bits long while C#'s `int` is only 32 bits.\n"
+"long maxInt = 9223372036854775807;\n"
+"GD.Print(maxInt); // 9223372036854775807, OK.\n"
+"maxInt++;\n"
+"GD.Print(maxInt); // -9223372036854775808, we overflowed and wrapped "
+"around.\n"
+"\n"
+"// Alternatively, if we used C#'s 32-bit `int` type, the maximum value is "
+"much smaller:\n"
+"int halfInt = 2147483647;\n"
+"GD.Print(halfInt); // 2147483647, OK.\n"
+"halfInt++;\n"
+"GD.Print(halfInt); // -2147483648, we overflowed and wrapped around.\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"有符号 64 位整数类型。\n"
+"可以接受 [code][-2^63, 2^63 - 1][/code] 范围内的值,即 [code]"
+"[-9223372036854775808, 9223372036854775807][/code]。超出这个界限后会环绕至另"
+"一端。\n"
+"[int] 是 [Variant] 类型,因此会在将整数值赋给 [Variant] 时使用。也可以用类型"
+"提示 [code]: int[/code] 强制。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var my_variant = 0 # int,值为 0。\n"
+"my_variant += 4.2 # float,值为 4.2。\n"
+"var my_int: int = 1 # int,值为 1。\n"
+"my_int = 4.2 # int,值为 4,右侧的值隐式转换为了 int。\n"
+"my_int = int(\"6.7\") # int,值为 6,该 String 显式转换为了 int。\n"
+"var max_int = 9223372036854775807\n"
+"print(max_int) # 9223372036854775807,正确。\n"
+"max_int += 1\n"
+"print(max_int) # -9223372036854775808,溢出,环绕至另一端。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"int myInt = (int)\"6.7\".ToFloat(); // int,值为 6,该 String 显式转换为了 "
+"int。\n"
+"// 这里我们需要用 `long`,因为 GDSript 的 `int`\n"
+"// 为 64 位,而 C# 的 `int` 只有 32 位。\n"
+"long maxInt = 9223372036854775807;\n"
+"GD.Print(maxInt); // 9223372036854775807,正确。\n"
+"maxInt++;\n"
+"GD.Print(maxInt); // -9223372036854775808,溢出,环绕至另一端。\n"
+"\n"
+"// 或者,如果我们使用 C# 的 32 位 `int` 类型,则最大值相对要小很多:\n"
+"int halfInt = 2147483647;\n"
+"GD.Print(halfInt); // 2147483647,正确。\n"
+"halfInt++;\n"
+"GD.Print(halfInt); // -2147483648,溢出,环绕至另一端。\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid "Constructs a default-initialized [int] set to [code]0[/code]."
+msgstr "构造默认初始化为 [code]0[/code] 的 [int]。"
+
msgid "Constructs an [int] as a copy of the given [int]."
msgstr "构造给定 [int] 的副本。"
msgid ""
+"Converts a [String] to an [int], following the same rules as [method String."
+"to_int]."
+msgstr "将 [String] 转换为 [int],遵循与 [method String.to_int] 相同的规则。"
+
+msgid ""
"Cast a [bool] value to an integer value, [code]int(true)[/code] will be "
"equals to 1 and [code]int(false)[/code] will be equals to 0."
msgstr ""
-"将 [bool] 值转换成整数值,[code]int(true)[/code] 将等于 1,[code]int(false)[/"
+"将 [bool] 值转换为整数值,[code]int(true)[/code] 将等于 1,[code]int(false)[/"
"code] 将等于 0。"
+msgid ""
+"Cast a float value to an integer value, this method simply removes the "
+"number fractions (i.e. rounds [param from] towards zero), so for example "
+"[code]int(2.7)[/code] will be equals to 2, [code]int(0.1)[/code] will be "
+"equals to 0 and [code]int(-2.7)[/code] will be equals to -2. This operation "
+"is also called truncation."
+msgstr ""
+"将浮点值转换为整数值,该方法只是删除数字的小数部分(即,将 [param from] 向零"
+"舍入),因此例如 [code]int(2.7)[/code] 将等于 2,[code]int(0.1)[/code] 将等"
+"于 0,而 [code]int(-2.7)[/code] 将等于 -2。这个操作也称为截断。"
+
+msgid ""
+"Returns [code]true[/code] if this [int] is not equivalent to the given "
+"[float]."
+msgstr "如果该 [int] 与给定的 [float] 不等价,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if the integers are not equal."
+msgstr "如果两个整数不相等,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns the remainder after dividing two integers. This operation uses "
+"truncated division, which is often not desired as it does not work well with "
+"negative numbers. Consider using [method @GlobalScope.posmod] instead if you "
+"want to handle negative numbers.\n"
+"[codeblock]\n"
+"print(5 % 2) # 1\n"
+"print(12 % 4) # 0\n"
+"print(-5 % 3) # -2\n"
+"[/codeblock]"
+msgstr ""
+"返回两个整数相除后的余数。该操作使用截断除法,通常并不希望如此,因为它不适用"
+"于负数。如果要处理负数,请考虑改用 [method @GlobalScope.posmod]。\n"
+"[codeblock]\n"
+"print(5 % 2) # 1\n"
+"print(12 % 4) # 0\n"
+"print(-5 % 3) # -2\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the result of bitwise [code]AND[/code] operation for two integers.\n"
+"[codeblock]\n"
+"print(3 & 1) # 1\n"
+"print(11 & 3) # 3\n"
+"[/codeblock]\n"
+"It's useful to retrieve binary flags from a variable.\n"
+"[codeblock]\n"
+"var flags = 5\n"
+"# Do something if the first bit is enabled.\n"
+"if flags & 1:\n"
+" do_stuff()\n"
+"[/codeblock]"
+msgstr ""
+"返回两个整数按位 [code]AND[/code] 运算的结果。\n"
+"[codeblock]\n"
+"print(3 & 1) # 1\n"
+"print(11 & 3) # 3\n"
+"[/codeblock]\n"
+"从变量中检索二进制标志很有用。\n"
+"[codeblock]\n"
+"var flags = 5\n"
+"# 如果启用了第一位,请执行某些操作。\n"
+"if flags & 1:\n"
+" do_stuff()\n"
+"[/codeblock]"
+
+msgid ""
+"Multiplies each component of the [Quaternion] by the given [int]. This "
+"operation is not meaningful on its own, but it can be used as a part of a "
+"larger expression."
+msgstr ""
+"将该 [Quaternion] 的每个分量乘以给定的 [float]。此操作本身没有意义,但可以用"
+"作更大表达式的一部分。"
+
+msgid ""
+"Multiplies each component of the [Vector2] by the given [int].\n"
+"[codeblock]\n"
+"print(2 * Vector2(1, 1)) # Vector2(2, 2)\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2] 的每个分量乘以给定的 [int]。\n"
+"[codeblock]\n"
+"print(2 * Vector2(1, 1)) # Vector2(2, 2)\n"
+"[/codeblock]"
+
+msgid "Multiplies each component of the [Vector2i] by the given [int]."
+msgstr "将该 [Vector2i] 的每个分量乘以给定的 [int]。"
+
+msgid "Multiplies each component of the [Vector3] by the given [int]."
+msgstr "将该 [Vector3] 的每个分量乘以给定的 [int]。"
+
+msgid "Multiplies each component of the [Vector3i] by the given [int]."
+msgstr "将该 [Vector3i] 的每个分量乘以给定的 [int]。"
+
+msgid "Multiplies each component of the [Vector4] by the given [int]."
+msgstr "将该 [Vector4] 的每个分量乘以给定的 [int]。"
+
+msgid "Multiplies each component of the [Vector4i] by the given [int]."
+msgstr "将该 [Vector4i] 的每个分量乘以给定的 [int]。"
+
+msgid "Multiplies an [int] and a [float]. The result is a [float]."
+msgstr "将 [int] 乘以 [float]。结果为 [float]。"
+
+msgid "Multiplies two [int]s."
+msgstr "将两个 [int] 相乘。"
+
+msgid ""
+"Raises an [int] to a power of a [float]. The result is a [float].\n"
+"[codeblock]\n"
+"print(8**0.25) # 1.68179283050743\n"
+"[/codeblock]"
+msgstr ""
+"将 [int] 提升到 [float] 次幂。结果为 [float]。\n"
+"[codeblock]\n"
+"print(8**0.25) # 1.68179283050743\n"
+"[/codeblock]"
+
+msgid ""
+"Raises an [int] to a power of a [int].\n"
+"[codeblock]\n"
+"print(5**5) # 3125\n"
+"[/codeblock]"
+msgstr ""
+"将 [int] 提升到 [int] 次幂。\n"
+"[codeblock]\n"
+"print(5**5) # 3125\n"
+"[/codeblock]"
+
+msgid "Adds an [int] and a [float]. The result is a [float]."
+msgstr "将 [int] 加上 [float]。结果为 [float]。"
+
+msgid "Adds two integers."
+msgstr "将两个整数相加。"
+
+msgid "Subtracts a [float] from an [int]. The result is a [float]."
+msgstr "将 [int] 减去 [float]。结果为 [float]。"
+
+msgid "Subtracts two integers."
+msgstr "将两个整数相减。"
+
+msgid ""
+"Divides an [int] by a [float]. The result is a [float].\n"
+"[codeblock]\n"
+"print(10 / 3.0) # 3.333...\n"
+"[/codeblock]"
+msgstr ""
+"将 [int] 除以 [float]。结果为 [float]。\n"
+"[codeblock]\n"
+"print(10 / 3.0) # 3.333...\n"
+"[/codeblock]"
+
+msgid ""
+"Divides two integers. The decimal part of the result is discarded "
+"(truncated).\n"
+"[codeblock]\n"
+"print(10 / 2) # 5\n"
+"print(10 / 3) # 3\n"
+"[/codeblock]"
+msgstr ""
+"将两个整数相除。结果的小数部分被(截断)。\n"
+"[codeblock]\n"
+"print(10 / 2) # 5\n"
+"print(10 / 3) # 3\n"
+"[/codeblock]"
+
+msgid "Returns [code]true[/code] if this [int] is less than the given [float]."
+msgstr "如果该 [int] 小于给定的 [float],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the left integer is less than the right one."
+msgstr "如果左侧的整数小于右侧,则返回 [code]true[/code]。"
+
+msgid ""
+"Performs bitwise shift left operation on the integer. Effectively the same "
+"as multiplying by a power of 2.\n"
+"[codeblock]\n"
+"print(10 << 1) # 20\n"
+"print(10 << 4) # 160\n"
+"[/codeblock]"
+msgstr ""
+"对该整数执行按位左移操作。效果上与乘以 2 的幂相同。\n"
+"[codeblock]\n"
+"print(10 << 1) # 20\n"
+"print(10 << 4) # 160\n"
+"[/codeblock]"
+
+msgid ""
+"Returns [code]true[/code] if this [int] is less than or equal to the given "
+"[float]."
+msgstr "如果该 [int] 小于等于给定的 [float],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the left integer is less than or equal to the "
+"right one."
+msgstr "如果左侧的整数小于等于右侧,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if the integer is equal to the given [float]."
+msgstr "如果该整数等于给定的 [float],则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if both integers are equal."
+msgstr "如果两个整数相等,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if this [int] is greater than the given [float]."
+msgstr "如果该 [int] 大于给定的 [float],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the left integer is greater than the right one."
+msgstr "如果左侧的整数大于右侧,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if this [int] is greater than or equal to the "
+"given [float]."
+msgstr "如果该 [int] 大于等于给定的 [float],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the left integer is greater than or equal to "
+"the right one."
+msgstr "如果左侧的整数大于等于右侧,则返回 [code]true[/code]。"
+
+msgid ""
+"Performs bitwise shift right operation on the integer. Effectively the same "
+"as dividing by a power of 2.\n"
+"[codeblock]\n"
+"print(10 >> 1) # 5\n"
+"print(10 >> 2) # 2\n"
+"[/codeblock]"
+msgstr ""
+"对该整数执行按位右移操作。效果上与除以 2 的幂相同。\n"
+"[codeblock]\n"
+"print(10 >> 1) # 5\n"
+"print(10 >> 2) # 2\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the result of bitwise [code]XOR[/code] operation for two integers.\n"
+"[codeblock]\n"
+"print(5 ^ 1) # 4\n"
+"print(4 ^ 7) # 3\n"
+"[/codeblock]"
+msgstr ""
+"返回两个整数按位 [code]XOR[/code](异或)运算的结果。\n"
+"[codeblock]\n"
+"print(5 ^ 1) # 4\n"
+"print(4 ^ 7) # 3\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the negated value of the [int]. If positive, turns the number "
+"negative. If negative, turns the number positive. If zero, does nothing."
+msgstr ""
+"返回该 [int] 的相反值。如果为正数,则该将数变为负数。如果为负数,则将该数变为"
+"正数。如果为零,则不执行任何操作。"
+
+msgid ""
+"Returns the result of bitwise [code]OR[/code] operation for two integers.\n"
+"[codeblock]\n"
+"print(2 | 4) # 6\n"
+"print(1 | 3) # 3\n"
+"[/codeblock]\n"
+"It's useful to store binary flags in a variable.\n"
+"[codeblock]\n"
+"var flags = 0\n"
+"# Turn first and third bit on.\n"
+"flags |= 1\n"
+"flags |= 4\n"
+"[/codeblock]"
+msgstr ""
+"返回两个整数按位 [code]OR[/code](或)运算的结果。\n"
+"[codeblock]\n"
+"print(2 | 4) # 6\n"
+"print(1 | 3) # 3\n"
+"[/codeblock]\n"
+"可用于在变量中存储二进制标记。\n"
+"[codeblock]\n"
+"var flags = 0\n"
+"# 置第一和第三位。\n"
+"flags |= 1\n"
+"flags |= 4\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the result of bitwise [code]NOT[/code] operation for the integer. "
+"It's effectively equal to [code]-int + 1[/code].\n"
+"[codeblock]\n"
+"print(~4) # -3\n"
+"print(~7) # -6\n"
+"[/codeblock]"
+msgstr ""
+"返回两个整数按位 [code]NOT[/code](反)运算的结果。效果上与 [code]-int + 1[/"
+"code] 相同。\n"
+"[codeblock]\n"
+"print(~4) # -3\n"
+"print(~7) # -6\n"
+"[/codeblock]"
+
+msgid "Creates an idle interval in a [Tween] animation."
+msgstr "在 [Tween] 动画中创建空闲间隔。"
+
msgid "Internet protocol (IP) support functions such as DNS resolution."
msgstr "网际协议(IP)支持函数,如 DNS 解析。"
@@ -15007,6 +30216,16 @@ msgid ""
"necessary."
msgstr "确保当前选择可见,根据需要调整滚动位置。"
+msgid ""
+"Returns the custom background color of the item specified by [param idx] "
+"index."
+msgstr "返回项目的自定义背景色,项目由索引 [param idx] 指定。"
+
+msgid ""
+"Returns the custom foreground color of the item specified by [param idx] "
+"index."
+msgstr "返回项目的自定义前景色,项目由索引 [param idx] 指定。"
+
msgid "Returns the icon associated with the specified index."
msgstr "返回与指定索引相关的图标。"
@@ -15018,12 +30237,18 @@ msgid ""
"region has no area."
msgstr "返回项目图标的使用区域。如果该区域大小为 0,整个图标将被使用。"
+msgid "Returns item's text language code."
+msgstr "返回项目文本的语言代码。"
+
msgid "Returns the metadata value of the specified index."
msgstr "返回指定索引的元数据值。"
msgid "Returns the text associated with the specified index."
msgstr "返回与指定索引关联的文本。"
+msgid "Returns item's text base writing direction."
+msgstr "返回项目文本的基础书写方向。"
+
msgid "Returns the tooltip hint associated with the specified index."
msgstr "返回与指定索引关联的工具提示。"
@@ -15065,6 +30290,12 @@ msgid ""
"selected."
msgstr "索引所对应的项目被选中时,返回 [code]true[/code]。"
+msgid "Moves item from index [param from_idx] to [param to_idx]."
+msgstr "将项目从索引 [param from_idx] 移到 [param to_idx]。"
+
+msgid "Removes the item specified by [param idx] index from the list."
+msgstr "从列表中删除索引 [param idx] 指定的项目。"
+
msgid ""
"Select the item at the specified index.\n"
"[b]Note:[/b] This method does not trigger the item selection signal."
@@ -15073,6 +30304,16 @@ msgstr ""
"[b]注意:[/b]此方法不触发项目选择信号。"
msgid ""
+"Sets the background color of the item specified by [param idx] index to the "
+"specified [Color]."
+msgstr "将索引 [param idx] 指定的项目的背景色设置为指定的 [Color]。"
+
+msgid ""
+"Sets the foreground color of the item specified by [param idx] index to the "
+"specified [Color]."
+msgstr "将索引 [param idx] 指定的项目的前景色设置为指定的 [Color]。"
+
+msgid ""
"Sets a modulating [Color] of the item associated with the specified index."
msgstr "设置与指定索引相关的项目的调制颜色 [Color]。"
@@ -15085,6 +30326,12 @@ msgid "Sets whether the item icon will be drawn transposed."
msgstr "设置项目图标是否将被转置绘制。"
msgid ""
+"Sets language code of item's text used for line-breaking and text shaping "
+"algorithms, if left empty current locale is used instead."
+msgstr ""
+"设置项目文本的语言代码,用于断行和文本塑形算法,如果留空则使用当前区域设置。"
+
+msgid ""
"Sets a value (of any type) to be stored with the item associated with the "
"specified index."
msgstr "设置与指定索引相关的项目存储的值(任何类型的值)。"
@@ -15097,6 +30344,9 @@ msgstr "允许或禁止选择与指定索引关联的项目。"
msgid "Sets text of the item associated with the specified index."
msgstr "设置与指定索引相关的项目的文本。"
+msgid "Sets item's text base writing direction."
+msgstr "设置项目文本的基础书写方向。"
+
msgid "Sets the tooltip hint for the item associated with the specified index."
msgstr "设置与指定索引相关的项目的工具提示。"
@@ -15145,6 +30395,9 @@ msgid ""
"takes effect."
msgstr "在 [member fixed_icon_size] 和转置生效后应用的图标比例。"
+msgid "The number of items currently in the list."
+msgstr "当前列表中的项目数。"
+
msgid ""
"Maximum columns the list will have.\n"
"If greater than zero, the content will be split among the specified "
@@ -15227,6 +30480,9 @@ msgstr "项目菜单之间的垂直间距。"
msgid "[Font] of the item's text."
msgstr "项目文本的字体 [Font] 。"
+msgid "Font size of the item's text."
+msgstr "项目文本的字体大小。"
+
msgid "[StyleBox] used for the cursor, when the [ItemList] is being focused."
msgstr "当该 [ItemList] 获得焦点时,用作光标的样式盒 [StyleBox]。"
@@ -15235,6 +30491,14 @@ msgid ""
msgstr "当该 [ItemList] 未获得焦点时,用作光标的样式盒 [StyleBox]。"
msgid ""
+"The focused style for the [ItemList], drawn on top of the background, but "
+"below everything else."
+msgstr "该 [ItemList]的焦点样式,绘制在背景之上,但低于其他东西。"
+
+msgid "The background style for the [ItemList]."
+msgstr "该 [ItemList] 的默认背景。"
+
+msgid ""
"[StyleBox] for the selected items, used when the [ItemList] is not being "
"focused."
msgstr "所选项的样式盒 [StyleBox],当该 [ItemList] 未获得焦点时使用。"
@@ -15243,6 +30507,9 @@ msgid ""
"[StyleBox] for the selected items, used when the [ItemList] is being focused."
msgstr "所选项的样式盒 [StyleBox],当该 [ItemList] 获得焦点时使用。"
+msgid "Exporting for the Web: Calling JavaScript from script"
+msgstr "为 Web 导出:从脚本调用 JavaScript"
+
msgid ""
"Returns [code]true[/code] if a new version of the progressive web app is "
"waiting to be activated.\n"
@@ -15271,6 +30538,9 @@ msgstr ""
"在检测到该渐进式网络应用程序的更新,但因为存在活动的较早版本而等待激活时触"
"发。要强制立即执行更新,请参阅 [method pwa_update]。"
+msgid "A wrapper class for web native JavaScript objects."
+msgstr "Web 原生 JavaScript 对象的封装类。"
+
msgid ""
"Singleton that connects the engine with Android plugins to interface with "
"native Android code."
@@ -15336,6 +30606,111 @@ msgid ""
msgstr ""
"用于定义哪个解算器在多个关节中被首先执行的优先级。数值越低,优先级越高。"
+msgid "Helper class for creating and parsing JSON data."
+msgstr "用于创建和解析 JSON 数据的辅助类。"
+
+msgid ""
+"The [JSON] enables all data types to be converted to and from a JSON string. "
+"This useful for serializing data to save to a file or send over the "
+"network.\n"
+"[method stringify] is used to convert any data type into a JSON string.\n"
+"[method parse] is used to convert any existing JSON data into a [Variant] "
+"that can be used within Godot. If successfully parsed, use [member data] to "
+"retrieve the [Variant], and use [code]typeof[/code] to check if the "
+"Variant's type is what you expect. JSON Objects are converted into a "
+"[Dictionary], but JSON data can be used to store [Array]s, numbers, "
+"[String]s and even just a boolean.\n"
+"[b]Example[/b]\n"
+"[codeblock]\n"
+"var data_to_send = [\"a\", \"b\", \"c\"]\n"
+"var json_string = JSON.stringify(data_to_send)\n"
+"# Save data\n"
+"# ...\n"
+"# Retrieve data\n"
+"var error = json.parse(json_string)\n"
+"if error == OK:\n"
+" var data_received = json.data\n"
+" if typeof(data_received) == TYPE_ARRAY:\n"
+" print(data_received) # Prints array\n"
+" else:\n"
+" print(\"Unexpected data\")\n"
+"else:\n"
+" print(\"JSON Parse Error: \", json.get_error_message(), \" in \", "
+"json_string, \" at line \", json.get_error_line())\n"
+"[/codeblock]\n"
+"Alternatively, you can parse string using the static [method parse_string] "
+"method, but it doesn't allow to handle errors.\n"
+"[codeblock]\n"
+"var data = JSON.parse_string(json_string) # Returns null if parsing failed.\n"
+"[/codeblock]\n"
+"[b]Note:[/b] Both parse methods do not fully comply with the JSON "
+"specification:\n"
+"- Trailing commas in arrays or objects are ignored, instead of causing a "
+"parser error.\n"
+"- New line and tab characters are accepted in string literals, and are "
+"treated like their corresponding escape sequences [code]\\n[/code] and "
+"[code]\\t[/code].\n"
+"- Numbers are parsed using [method String.to_float] which is generally more "
+"lax than the JSON specification.\n"
+"- Certain errors, such as invalid Unicode sequences, do not cause a parser "
+"error. Instead, the string is cleansed and an error is logged to the console."
+msgstr ""
+"[JSON] 允许所有数据类型与 JSON 字符串相互转换。 这对于序列化数据以保存到文件"
+"或通过网络发送很有用。\n"
+"[method stringify] 用于将任何数据类型转换为 JSON 字符串。\n"
+"[method parse] 用于将任何现有的 JSON 数据转换为可以在 Godot 中使用的 "
+"[Variant]。如果解析成功,使用 [member data] 检索 [Variant],并使用 "
+"[code]typeof[/code] 检查 Variant 的类型是否符合您的预期。JSON 对象被转换为 "
+"[Dictionary],但 JSON 数据可用于存储 [Array]、数字、[String],甚至只是一个布"
+"尔值。\n"
+"[b]示例[/b]\n"
+"[codeblock]\n"
+"var data_to_send = [\"a\", \"b\", \"c\"]\n"
+"var json_string = JSON.stringify(data_to_send)\n"
+"# 保存数据\n"
+"# ...\n"
+"# 检索数据\n"
+"var error = json.parse(json_string)\n"
+"if error == OK:\n"
+" var data_received = json.data\n"
+" if typeof(data_received) == TYPE_ARRAY:\n"
+" print(data_received) # 输出 array\n"
+" else:\n"
+" print(\"Unexpected data\")\n"
+"else:\n"
+" print(\"JSON Parse Error: \", json.get_error_message(), \" in \", "
+"json_string, \" at line \", json.get_error_line())\n"
+"[/codeblock]\n"
+"或者,您可以使用静态 [method parse_string] 方法解析字符串,但它不允许处理错"
+"误。\n"
+"[codeblock]\n"
+"var data = JSON.parse_string(json_string) # 如果解析失败则返回 null。\n"
+"[/codeblock]\n"
+"[b]注意:[/b]两种解析方式都不完全符合 JSON 规范:\n"
+"- 数组或对象中的尾随逗号将被忽略,而不是引起解析器错误。\n"
+"- 换行符和制表符在字符串文字中被接受,并被视为它们相应的转义序列 [code]\\n[/"
+"code] 和 [code]\\t[/code]。\n"
+"- 使用 [method String.to_float] 解析数字,这通常比 JSON 规范更宽松。\n"
+"- 某些错误,例如无效的 Unicode 序列,不会导致解析器错误。相反,该字符串会被清"
+"理并将错误记录到控制台。"
+
+msgid ""
+"Returns [code]0[/code] if the last call to [method parse] was successful, or "
+"the line number where the parse failed."
+msgstr ""
+"如果上一次调用 [method parse] 成功,则返回 [code]0[/code],否则返回解析失败的"
+"行号。"
+
+msgid ""
+"Returns an empty string if the last call to [method parse] was successful, "
+"or the error message if it failed."
+msgstr ""
+"如果上一次调用 [method parse] 成功,则返回空字符串,否则返回失败时的错误消"
+"息。"
+
+msgid "Contains the parsed JSON data in [Variant] form."
+msgstr "包含解析到的 JSON 数据,类型为 [Variant]。"
+
msgid "A helper to handle dictionaries which look like JSONRPC documents."
msgstr "用于处理看起来像 JSONRPC 文档的字典的辅助类。"
@@ -15357,6 +30732,24 @@ msgid ""
"JSONRPC subclass."
msgstr "请求了方法调用,但 JSONRPC 子类中不存在该名称的函数。"
+msgid "Collision data for [method PhysicsBody2D.move_and_collide] collisions."
+msgstr "[method PhysicsBody2D.move_and_collide] 碰撞的碰撞数据。"
+
+msgid "Returns the colliding body's attached [Object]."
+msgstr "返回该碰撞物体所附加的 [Object]。"
+
+msgid "Returns the colliding body's shape."
+msgstr "返回该碰撞物体的形状。"
+
+msgid "Returns the colliding body's shape index. See [CollisionObject2D]."
+msgstr "返回该碰撞物体形状的索引。见 [CollisionObject2D]。"
+
+msgid "Returns the colliding body's velocity."
+msgstr "返回该碰撞物体的速度。"
+
+msgid "Returns the point of collision in global coordinates."
+msgstr "返回碰撞点,使用全局坐标。"
+
msgid ""
"Displays plain text in a line or wrapped inside a rectangle. For formatted "
"text, use [RichTextLabel]."
@@ -15364,6 +30757,9 @@ msgstr ""
"在一行中显示纯文本,或在一个矩形内包裹。对于格式化的文本,使用 "
"[RichTextLabel]。"
+msgid "Returns the number of lines of text the Label has."
+msgstr "返回该 Label 的文本行数。"
+
msgid ""
"Returns the total number of printable characters in the text (excluding "
"spaces and newlines)."
@@ -15389,6 +30785,12 @@ msgstr "该节点在开始显示文本之前会忽略前 [code]lines_skipped[/co
msgid "Limits the lines of text the node shows on screen."
msgstr "限制节点在屏幕上显示的文本行数。"
+msgid "Set BiDi algorithm override for the structured text."
+msgstr "为结构化文本设置 BiDi 算法覆盖。"
+
+msgid "Set additional options for BiDi override."
+msgstr "设置 BiDi 覆盖的附加选项。"
+
msgid "The text to display on screen."
msgstr "要在屏幕上显示的文本。"
@@ -15398,11 +30800,14 @@ msgstr "如果为 [code]true[/code],所有文本都将显示为大写。"
msgid "Default text [Color] of the [Label]."
msgstr "[Label] 标签的默认文本颜色 [Color]。"
+msgid "The color of text outline."
+msgstr "文本轮廓的颜色。"
+
msgid "[Color] of the text's shadow effect."
msgstr "文本阴影效果的颜色 [Color]。"
msgid "Vertical space between lines in multiline [Label]."
-msgstr "多行 [Label] 中各行之间的垂直空间。"
+msgstr "多行 [Label] 中,行与行之间的垂直间距。"
msgid "The horizontal offset of the text's shadow."
msgstr "文本阴影的水平偏移。"
@@ -15410,9 +30815,15 @@ msgstr "文本阴影的水平偏移。"
msgid "The vertical offset of the text's shadow."
msgstr "文本阴影的垂直偏移。"
+msgid "The size of the shadow outline."
+msgstr "阴影轮廓的大小。"
+
msgid "[Font] used for the [Label]'s text."
msgstr "用于标签 [Label] 文本的字体 [Font]。"
+msgid "Font size of the [Label]'s text."
+msgstr "该 [Label] 文本的字体大小。"
+
msgid "Background [StyleBox] for the [Label]."
msgstr "为 [Label] 设置背景样式盒 [StyleBox]。"
@@ -15439,6 +30850,12 @@ msgstr ""
"DrawFlags]。"
msgid ""
+"The type of alpha antialiasing to apply. See [enum BaseMaterial3D."
+"AlphaAntiAliasing]."
+msgstr ""
+"要应用的 Alpha 抗锯齿类型。见 [enum BaseMaterial3D.AlphaAntiAliasing]。"
+
+msgid ""
"The alpha cutting mode to use for the sprite. See [enum AlphaCutMode] for "
"possible values."
msgstr "该精灵的 Alpha 裁剪模式。可能的取值见 [enum AlphaCutMode]。"
@@ -15458,8 +30875,11 @@ msgid ""
"distance."
msgstr "如果为 [code]true[/code],则无论距离远近,标签都以相同的尺寸呈现。"
+msgid "Font configuration used to display text."
+msgstr "用于显示文本的字体配置。"
+
msgid "Vertical space between lines in multiline [Label3D]."
-msgstr "多行 [Label3D] 中各行之间的垂直空间。"
+msgstr "多行 [Label3D] 中,行与行之间的垂直间距。"
msgid "Text [Color] of the [Label3D]."
msgstr "该 [Label3D] 的文本颜色 [Color]。"
@@ -15483,6 +30903,9 @@ msgstr ""
"[b]注意:[/b]仅适用于透明物体的排序。这不会影响透明物体相对于不透明物体的排序"
"方式。这是因为不透明对象不被排序,而透明对象则从后往前排序(取决于优先级)。"
+msgid "Text outline size."
+msgstr "文本轮廓大小。"
+
msgid ""
"Sets the render priority for the text. Higher priority objects will be "
"sorted in front of lower priority objects.\n"
@@ -15522,7 +30945,7 @@ msgid ""
msgstr "标签会根据深度进行缩放,从而在屏幕上始终以相同的大小显示。"
msgid "Represents the size of the [enum DrawFlags] enum."
-msgstr "代表[enum DrawFlags]枚举的大小。"
+msgstr "代表 [enum DrawFlags] 枚举的大小。"
msgid ""
"This mode draws fully opaque pixels in the depth prepass. This is slower "
@@ -15539,8 +30962,48 @@ msgstr ""
"[b]注意:[/b]文本中存在重叠的字形时(例如手写体),这个模式可能会造成主文本和"
"轮廓的透明度排序问题。"
+msgid "Collection of common settings to customize label text."
+msgstr "用于自定义标签文本的常见设置合集。"
+
+msgid "[Font] used for the text."
+msgstr "文本使用的字体。"
+
+msgid "Color of the text."
+msgstr "文本的颜色。"
+
+msgid "Size of the text."
+msgstr "文本的大小。"
+
+msgid "Vertical space between lines when the text is multiline."
+msgstr "文本为多行时,行与行之间的垂直间距。"
+
+msgid "The color of the outline."
+msgstr "轮廓的颜色。"
+
+msgid ""
+"Color of the shadow effect. If alpha is [code]0[/code], no shadow will be "
+"drawn."
+msgstr "阴影效果的颜色。如果 Alpha 为 [code]0[/code] ,则不会绘制阴影。"
+
+msgid "Offset of the shadow effect, in pixels."
+msgstr "阴影效果的偏移,单位为像素。"
+
+msgid "Size of the shadow effect."
+msgstr "阴影效果的大小。"
+
msgid "Casts light in a 2D environment."
-msgstr "在2D环境中投射光线。"
+msgstr "在 2D 环境中投射光线。"
+
+msgid ""
+"Casts light in a 2D environment. A light is defined as a color, an energy "
+"value, a mode (see constants), and various other parameters (range and "
+"shadows-related)."
+msgstr ""
+"在 2D 环境中投射光线。光线由颜色、能量值、模式(见常量)以及其他各种参数(与"
+"范围和阴影有关)来定义。"
+
+msgid "The Light2D's blend mode. See [enum BlendMode] constants for values."
+msgstr "该 Light2D 的混合模式。取值见 [enum BlendMode] 常量。"
msgid "The Light2D's [Color]."
msgstr "该 Light2D 的颜色 [Color]。"
@@ -15555,11 +31018,6 @@ msgid ""
"The Light2D's energy value. The larger the value, the stronger the light."
msgstr "Light2D 的能量值。该值越大,光线就越强。"
-msgid ""
-"The layer mask. Only objects with a matching mask will be affected by the "
-"Light2D."
-msgstr "图层遮罩。只有具有匹配遮罩的对象才会受到Light2D的影响。"
-
msgid "Maximum layer value of objects that are affected by the Light2D."
msgstr "受 Light2D 影响的对象的最大层数值。"
@@ -15584,11 +31042,18 @@ msgid "Shadow filter type. See [enum ShadowFilter] for possible values."
msgstr "阴影过滤器类型。可能的取值见 [enum ShadowFilter]。"
msgid ""
-"The shadow mask. Used with [LightOccluder2D] to cast shadows. Only occluders "
-"with a matching light mask will cast shadows."
+"No filter applies to the shadow map. This provides hard shadow edges and is "
+"the fastest to render. See [member shadow_filter]."
+msgstr ""
+"不对阴影贴图应用过滤。提供较硬的阴影边缘,渲染速度最快。见 [member "
+"shadow_filter]。"
+
+msgid ""
+"Percentage closer filtering (5 samples) applies to the shadow map. This is "
+"slower compared to hard shadow rendering. See [member shadow_filter]."
msgstr ""
-"阴影遮罩。与 [LightOccluder2D] 一起使用来投射阴影。只有具有匹配的光线遮罩的遮"
-"挡物才会投射阴影。"
+"对阴影贴图使用百分比接近过滤(5 个样本)。与硬阴影渲染相比较慢。见 [member "
+"shadow_filter]。"
msgid ""
"Adds the value of pixels corresponding to the Light2D to the values of "
@@ -15608,8 +31073,23 @@ msgstr "通过线性插值将 Light2D 对应的像素值与其下方的像素值
msgid "Provides a base class for different kinds of light nodes."
msgstr "为不同类型的光节点提供基类。"
+msgid ""
+"Light3D is the [i]abstract[/i] base class for light nodes. As it can't be "
+"instantiated, it shouldn't be used directly. Other types of light nodes "
+"inherit from it. Light3D contains the common variables and parameters used "
+"for lighting."
+msgstr ""
+"Light3D 是灯光节点的[i]抽象[/i]基类。由于无法实例化,所以不应直接使用。其他类"
+"型的灯光节点继承自它。Light3D 包含用于照明的常见变量和参数。"
+
msgid "3D lights and shadows"
-msgstr "3D 灯光和阴影"
+msgstr "3D 灯光与阴影"
+
+msgid "Returns the value of the specified [enum Light3D.Param] parameter."
+msgstr "返回指定的 [enum Light3D.Param] 参数的值。"
+
+msgid "Sets the value of the specified [enum Light3D.Param] parameter."
+msgstr "设置指定的 [enum Light3D.Param] 参数的值。"
msgid ""
"If [code]true[/code], the light only appears in the editor and will not be "
@@ -15655,15 +31135,181 @@ msgstr "用于访问 [member light_energy] 的常量。"
msgid "Constant for accessing [member light_indirect_energy]."
msgstr "用于访问 [member light_indirect_energy] 的常量。"
+msgid "Constant for accessing [member light_volumetric_fog_energy]."
+msgstr "用于访问 [member light_volumetric_fog_energy] 的常量。"
+
msgid "Constant for accessing [member light_specular]."
msgstr "用于访问 [member light_specular] 的常量。"
+msgid ""
+"Constant for accessing [member OmniLight3D.omni_range] or [member "
+"SpotLight3D.spot_range]."
+msgstr ""
+"用于访问 [member OmniLight3D.omni_range] 或 [member SpotLight3D.spot_range] "
+"的常量。"
+
msgid "Constant for accessing [member light_size]."
msgstr "用于访问 [member light_size] 的常量。"
+msgid ""
+"Constant for accessing [member OmniLight3D.omni_attenuation] or [member "
+"SpotLight3D.spot_attenuation]."
+msgstr ""
+"用于访问 [member OmniLight3D.omni_attenuation] 或 [member SpotLight3D."
+"spot_attenuation] 的常量。"
+
+msgid "Constant for accessing [member SpotLight3D.spot_angle]."
+msgstr "用于访问 [member SpotLight3D.spot_angle] 的常量。"
+
+msgid "Constant for accessing [member SpotLight3D.spot_angle_attenuation]."
+msgstr "用于访问 [member SpotLight3D.spot_angle_attenuation] 的常量。"
+
+msgid ""
+"Constant for accessing [member DirectionalLight3D."
+"directional_shadow_max_distance]."
+msgstr ""
+"用于访问 [member DirectionalLight3D.directional_shadow_max_distance] 的常量。"
+
+msgid ""
+"Constant for accessing [member DirectionalLight3D."
+"directional_shadow_split_1]."
+msgstr ""
+"用于访问 [member DirectionalLight3D.directional_shadow_split_1] 的常量。"
+
+msgid ""
+"Constant for accessing [member DirectionalLight3D."
+"directional_shadow_split_2]."
+msgstr ""
+"用于访问 [member DirectionalLight3D.directional_shadow_split_2] 的常量。"
+
+msgid ""
+"Constant for accessing [member DirectionalLight3D."
+"directional_shadow_split_3]."
+msgstr ""
+"用于访问 [member DirectionalLight3D.directional_shadow_split_3] 的常量。"
+
+msgid ""
+"Constant for accessing [member DirectionalLight3D."
+"directional_shadow_fade_start]."
+msgstr ""
+"用于访问 [member DirectionalLight3D.directional_shadow_fade_start] 的常量。"
+
+msgid "Constant for accessing [member shadow_normal_bias]."
+msgstr "用于访问 [member shadow_normal_bias] 的常量。"
+
msgid "Constant for accessing [member shadow_bias]."
msgstr "用于访问 [member shadow_bias] 的常量。"
+msgid ""
+"Constant for accessing [member DirectionalLight3D."
+"directional_shadow_pancake_size]."
+msgstr ""
+"用于访问 [member DirectionalLight3D.directional_shadow_pancake_size] 的常量。"
+
+msgid "Constant for accessing [member shadow_opacity]."
+msgstr "用于访问 [member shadow_opacity] 的常量。"
+
+msgid "Constant for accessing [member shadow_blur]."
+msgstr "用于访问 [member shadow_blur] 的常量。"
+
+msgid "Constant for accessing [member shadow_transmittance_bias]."
+msgstr "用于访问 [member shadow_transmittance_bias] 的常量。"
+
+msgid ""
+"Constant for accessing [member light_intensity_lumens] and [member "
+"light_intensity_lux]. Only used when [member ProjectSettings.rendering/"
+"lights_and_shadows/use_physical_light_units] is [code]true[/code]."
+msgstr ""
+"用于访问 [member light_intensity_lumens] 和 [member light_intensity_lux] 的常"
+"量。只在 [member ProjectSettings.rendering/lights_and_shadows/"
+"use_physical_light_units] 为 [code]true[/code] 时使用。"
+
+msgid ""
+"The color to use for environment lighting. Only effective if [member "
+"environment_mode] is [constant ENVIRONMENT_MODE_CUSTOM_COLOR]."
+msgstr ""
+"用于环境照明的颜色。仅在 [member environment_mode] 为 [constant "
+"ENVIRONMENT_MODE_CUSTOM_COLOR] 时有效。"
+
+msgid ""
+"The color multiplier to use for environment lighting. Only effective if "
+"[member environment_mode] is [constant ENVIRONMENT_MODE_CUSTOM_COLOR]."
+msgstr ""
+"用于环境照明的颜色倍数。仅在 [member environment_mode] 为 [constant "
+"ENVIRONMENT_MODE_CUSTOM_COLOR] 时有效。"
+
+msgid ""
+"The sky to use as a source of environment lighting. Only effective if "
+"[member environment_mode] is [constant ENVIRONMENT_MODE_CUSTOM_SKY]."
+msgstr ""
+"用作环境照明光源的天空。仅在 [member environment_mode] 为 [constant "
+"ENVIRONMENT_MODE_CUSTOM_SKY] 时有效。"
+
+msgid "The environment mode to use when baking lightmaps."
+msgstr "烘焙光照贴图时使用的环境模式。"
+
+msgid ""
+"If [code]true[/code], ignore environment lighting when baking lightmaps."
+msgstr "如果为 [code]true[/code],则会在烘焙光照贴图时忽略环境光照。"
+
+msgid "Lowest level of subdivision (fastest bake times, smallest file sizes)."
+msgstr "最低级别的细分(烘焙时间最快,文件大小最小)。"
+
+msgid "Low level of subdivision (fast bake times, small file sizes)."
+msgstr "较低级别的细分(烘焙时间较快,文件大小较小)。"
+
+msgid "High level of subdivision (slow bake times, large file sizes)."
+msgstr "较高级别的细分(烘焙时间较慢,文件大小较大)。"
+
+msgid "Highest level of subdivision (slowest bake times, largest file sizes)."
+msgstr "最高级别的细分(烘焙时间最慢,文件大小最大)。"
+
+msgid "Lightmap baking was successful."
+msgstr "光照贴图烘焙成功。"
+
+msgid ""
+"Lightmap baking failed because the root node for the edited scene could not "
+"be accessed."
+msgstr "光照贴图烘焙失败,原因是无法访问所编辑场景的根节点。"
+
+msgid ""
+"Lightmap baking failed as the lightmap data resource is embedded in a "
+"foreign resource."
+msgstr "光照贴图烘焙失败,原因是光照贴图数据嵌入在外部资源之中。"
+
+msgid ""
+"Lightmap baking failed as there is no lightmapper available in this Godot "
+"build."
+msgstr "光照贴图烘焙失败,原因是这个 Godot 构建中没有可用的光照贴图器。"
+
+msgid ""
+"Lightmap baking failed as the [LightmapGIData] save path isn't configured in "
+"the resource."
+msgstr "光照贴图烘焙失败,原因是资源中没有配置 [LightmapGIData] 保存路径。"
+
+msgid ""
+"Lightmap baking failed as the resulting image couldn't be saved or imported "
+"by Godot after it was saved."
+msgstr ""
+"光照贴图烘焙失败,原因是最终的图像无法保存,或保存后无法被 Godot 导入。"
+
+msgid "Ignore environment lighting when baking lightmaps."
+msgstr "烘焙光照贴图时忽略环境光照。"
+
+msgid ""
+"Use [member environment_custom_sky] as a source of environment lighting when "
+"baking lightmaps."
+msgstr ""
+"烘焙光照贴图时,使用 [member environment_custom_sky] 作为环境光照来源。"
+
+msgid ""
+"Use [member environment_custom_color] multiplied by [member "
+"environment_custom_energy] as a constant source of environment lighting when "
+"baking lightmaps."
+msgstr ""
+"烘焙光照贴图时,使用 [member environment_custom_color] 和 [member "
+"environment_custom_energy] 相乘的结果作为环境光照的恒定来源。"
+
msgid "Occludes light cast by a Light2D, casting shadows."
msgstr "遮挡由 Light2D 投射的光线,投射阴影。"
@@ -15799,6 +31445,9 @@ msgstr "执行 [enum MenuItems] 枚举中定义的给定操作。"
msgid "Selects the whole [String]."
msgstr "选中整个 [String]。"
+msgid "If [code]true[/code], the caret (text cursor) blinks."
+msgstr "如果为 [code]true[/code],则插入符号(文本光标)会闪烁。"
+
msgid "Duration (in seconds) of a caret's blinking cycle."
msgstr "插入符号闪烁周期的持续时间(秒)。"
@@ -15817,6 +31466,9 @@ msgid ""
"lost."
msgstr "如果为 [code]true[/code],则在丢失焦点时会取消选中文本。"
+msgid "If [code]true[/code], control characters are displayed."
+msgstr "如果为 [code]true[/code],则会显示控制字符。"
+
msgid ""
"If [code]false[/code], existing text cannot be modified and new text cannot "
"be added."
@@ -15830,6 +31482,9 @@ msgstr ""
"如果为 [code]true[/code],则 [LineEdit] 宽度将增加到比 [member text] 长。如"
"果 [member text] 被缩短,它将[b]不[/b]压缩。"
+msgid "If [code]true[/code], the [LineEdit] don't display decoration."
+msgstr "如果为 [code]true[/code],则 [LineEdit] 不显示装饰。"
+
msgid ""
"If [code]false[/code], using middle mouse button to paste clipboard will be "
"disabled.\n"
@@ -15882,6 +31537,9 @@ msgid ""
msgstr ""
"如果为 [code]true[/code],则在获得焦点时会在支持的平台上显示原生虚拟键盘。"
+msgid "Specifies the type of virtual keyboard to show."
+msgstr "指定要显示的虚拟键盘的类型。"
+
msgid ""
"Emitted when appending text that overflows the [member max_length]. The "
"appended text is truncated to fit [member max_length], and the part that "
@@ -15915,8 +31573,77 @@ msgstr "撤销之前的操作。"
msgid "Reverse the last undo action."
msgstr "反转最后一个撤销动作。"
+msgid "ID of \"Text Writing Direction\" submenu."
+msgstr "“文本书写方向”子菜单的 ID。"
+
+msgid "Sets text direction to inherited."
+msgstr "将文本方向设置为继承。"
+
+msgid "Sets text direction to automatic."
+msgstr "将文本方向设置为自动。"
+
+msgid "Sets text direction to left-to-right."
+msgstr "将文本方向设置为从左至右。"
+
+msgid "Sets text direction to right-to-left."
+msgstr "将文本方向设置为从右至左。"
+
+msgid "Toggles control character display."
+msgstr "切换控制字符的显示。"
+
+msgid "ID of \"Insert Control Character\" submenu."
+msgstr "“插入控制字符”子菜单的 ID。"
+
+msgid "Inserts left-to-right mark (LRM) character."
+msgstr "插入从左至右标志(LRM)字符。"
+
+msgid "Inserts right-to-left mark (RLM) character."
+msgstr "插入从右至左标志(LRM)字符。"
+
+msgid "Inserts start of left-to-right embedding (LRE) character."
+msgstr "插入开始从左至右嵌入(LRE)字符。"
+
+msgid "Inserts start of right-to-left embedding (RLE) character."
+msgstr "插入开始从右至左嵌入(RLE)字符。"
+
+msgid "Inserts start of left-to-right override (LRO) character."
+msgstr "插入开始从左至右强制(LRO)字符。"
+
+msgid "Inserts start of right-to-left override (RLO) character."
+msgstr "插入开始从右至左嵌入(RLE)字符。"
+
+msgid "Inserts pop direction formatting (PDF) character."
+msgstr "插入退出方向格式化(PDF)字符。"
+
+msgid "Inserts Arabic letter mark (ALM) character."
+msgstr "插入阿拉伯字母标记(ALM)字符。"
+
+msgid "Inserts left-to-right isolate (LRI) character."
+msgstr "插入从左至右隔离(LRI)字符。"
+
+msgid "Inserts right-to-left isolate (RLI) character."
+msgstr "插入从右至左隔离(RLI)字符。"
+
+msgid "Inserts first strong isolate (FSI) character."
+msgstr "插入第一个强隔离(FSI)字符。"
+
+msgid "Inserts pop direction isolate (PDI) character."
+msgstr "插入退出方向隔离(PDI)字符。"
+
+msgid "Inserts zero width joiner (ZWJ) character."
+msgstr "插入零宽连接符(ZWJ)字符。"
+
+msgid "Inserts zero width non-joiner (ZWNJ) character."
+msgstr "插入零宽非连接符(ZWNJ)字符。"
+
+msgid "Inserts word joiner (WJ) character."
+msgstr "插入文字连接符(WJ)字符。"
+
+msgid "Inserts soft hyphen (SHY) character."
+msgstr "插入软连字符(SHY)字符。"
+
msgid "Represents the size of the [enum MenuItems] enum."
-msgstr "表示 [enum MenuItems] 枚举的大小。"
+msgstr "代表 [enum MenuItems] 枚举的大小。"
msgid "Color used as default tint for the clear button."
msgstr "用作清除按钮默认色调的颜色。"
@@ -15927,6 +31654,9 @@ msgstr "按下清除按钮时使用的颜色。"
msgid "Default font color."
msgstr "默认字体颜色。"
+msgid "Font color for [member placeholder_text]."
+msgstr "[member placeholder_text] 的字体颜色。"
+
msgid "Font color for selected text (inside the selection rectangle)."
msgstr "选定文本的字体颜色(在选择矩形内)。"
@@ -15939,17 +31669,36 @@ msgstr "选择矩形的颜色。"
msgid "Font used for the text."
msgstr "文本使用的字体。"
+msgid "Font size of the [LineEdit]'s text."
+msgstr "该 [LineEdit] 文本的字体大小。"
+
msgid "Texture for the clear button. See [member clear_button_enabled]."
msgstr "“清除”按钮的纹理。见 [member clear_button_enabled]。"
+msgid ""
+"Background used when [LineEdit] has GUI focus. The [code]focus[/code] "
+"[StyleBox] is displayed [i]over[/i] the base [StyleBox], so a partially "
+"transparent [StyleBox] should be used to ensure the base [StyleBox] remains "
+"visible. A [StyleBox] that represents an outline or an underline works well "
+"for this purpose. To disable the focus visual effect, assign a "
+"[StyleBoxEmpty] resource. Note that disabling the focus visual effect will "
+"harm keyboard/controller navigation usability, so this is not recommended "
+"for accessibility reasons."
+msgstr ""
+"该 [LineEdit] 处于聚焦状态时使用的背景。[code]focus[/code] [StyleBox] 显示在"
+"基础 [StyleBox] [i]之上[/i],所以应该使用部分透明的 [StyleBox],确保基础 "
+"[StyleBox] 仍然可见。代表轮廓或下划线的 [StyleBox] 可以很好地实现这个目的。要"
+"禁用聚焦的视觉效果,请指定 [StyleBoxEmpty] 资源。请注意,禁用聚焦的视觉效果会"
+"影响使用键盘/手柄进行导航的可用性,所以出于可访问性的原因,不建议这样做。"
+
msgid "Default background for the [LineEdit]."
-msgstr "[LineEdit] 的默认背景。"
+msgstr "该 [LineEdit] 的默认背景。"
msgid ""
"Background used when [LineEdit] is in read-only mode ([member editable] is "
"set to [code]false[/code])."
msgstr ""
-"[LineEdit] 处于只读模式时使用的背景([member editable] 设置为 [code]false[/"
+"该 [LineEdit] 处于只读模式时使用的背景([member editable] 为 [code]false[/"
"code])。"
msgid "Simple button used to represent a link to some resource."
@@ -15996,7 +31745,27 @@ msgid "The vertical space between the baseline of text and the underline."
msgstr "文本基线和下划线之间的垂直空间。"
msgid "[Font] of the [LinkButton]'s text."
-msgstr "[LinkButton] 文本的字体 [Font]。"
+msgstr "该 [LinkButton] 文本的字体 [Font]。"
+
+msgid "Font size of the [LinkButton]'s text."
+msgstr "该 [LinkButton] 文本的字体大小。"
+
+msgid ""
+"[StyleBox] used when the [LinkButton] is focused. The [code]focus[/code] "
+"[StyleBox] is displayed [i]over[/i] the base [StyleBox], so a partially "
+"transparent [StyleBox] should be used to ensure the base [StyleBox] remains "
+"visible. A [StyleBox] that represents an outline or an underline works well "
+"for this purpose. To disable the focus visual effect, assign a "
+"[StyleBoxEmpty] resource. Note that disabling the focus visual effect will "
+"harm keyboard/controller navigation usability, so this is not recommended "
+"for accessibility reasons."
+msgstr ""
+"该 [LinkButton] 处于聚焦状态时使用的 [StyleBox]。[code]focus[/code] "
+"[StyleBox] 显示在基础 [StyleBox] [i]之上[/i],所以应该使用部分透明的 "
+"[StyleBox],确保基础 [StyleBox] 仍然可见。代表轮廓或下划线的 [StyleBox] 可以"
+"很好地实现这个目的。要禁用聚焦的视觉效果,请指定 [StyleBoxEmpty] 资源。请注"
+"意,禁用聚焦的视觉效果会影响使用键盘/手柄进行导航的可用性,所以出于可访问性的"
+"原因,不建议这样做。"
msgid "Abstract base class for the game's main loop."
msgstr "游戏主循环的抽象基类。"
@@ -16053,6 +31822,23 @@ msgstr ""
"的变化)。\n"
"仅限 macOS 平台。"
+msgid ""
+"Notification received from the OS when the application is resumed.\n"
+"Specific to the Android platform."
+msgstr ""
+"当应用程序恢复时,从操作系统收到的通知。\n"
+"仅限 Android 平台。"
+
+msgid ""
+"Notification received from the OS when the application is paused.\n"
+"Specific to the Android platform."
+msgstr ""
+"当应用程序暂停时,从操作系统收到的通知。\n"
+"仅限 Android 平台。"
+
+msgid "Notification received when text server is changed."
+msgstr "文本服务器被更改时,收到的通知。"
+
msgid "Simple margin container."
msgstr "简单的边距容器。"
@@ -16085,26 +31871,45 @@ msgstr ""
"距。"
msgid "Generic 2D position hint for editing."
-msgstr "用于编辑的通用 2D 位置提示。"
+msgstr "通用 2D 位置提示,用于编辑。"
msgid ""
"Generic 2D position hint for editing. It's just like a plain [Node2D], but "
"it displays as a cross in the 2D editor at all times. You can set cross' "
"visual size by using the gizmo in the 2D editor while the node is selected."
msgstr ""
-"用于编辑的通用 2D 位置提示。它就像一个普通的 [Node2D],但它在 2D 编辑器中始终"
-"显示为一个十字。选中节点时,可以使用 2D 编辑器中的小工具来设置十字的视觉大"
+"用于编辑的通用 2D 位置提示。类似于普通的 [Node2D],但它始终在 2D 编辑器中显示"
+"十字。该节点处于选中状态时,可以使用 2D 编辑器中的小工具来设置十字的视觉大"
"小。"
+msgid "Size of the gizmo cross that appears in the editor."
+msgstr "出现在编辑器中的小工具十字的大小。"
+
msgid "Generic 3D position hint for editing."
-msgstr "用于编辑的通用 3D 位置提示。"
+msgstr "通用 3D 位置提示,用于编辑。"
+
+msgid ""
+"Generic 3D position hint for editing. It's just like a plain [Node3D], but "
+"it displays as a cross in the 3D editor at all times."
+msgstr ""
+"用于编辑的通用 3D 位置提示。类似于普通的 [Node3D],但它始终在 3D 编辑器中显示"
+"十字。"
msgid "Provides data transformation and encoding utility functions."
msgstr "提供进行数据转换和编码的实用函数。"
+msgid "Returns a Base64-encoded string of a given [PackedByteArray]."
+msgstr "返回将给定 [PackedByteArray] 按照 Base64 编码的字符串。"
+
+msgid "Returns a Base64-encoded string of the UTF-8 string [param utf8_str]."
+msgstr "返回将给定 UTF-8 字符串 [param utf8_str] 按照 Base64 编码的字符串。"
+
msgid "Abstract base [Resource] for coloring and shading geometry."
msgstr "用于为几何体上色(Coloring)和着色(Shading)的 [Resource] 抽象基类。"
+msgid "Creates a placeholder version of this resource ([PlaceholderMaterial])."
+msgstr "创建该资源的占位符版本([PlaceholderMaterial])。"
+
msgid "Maximum value for the [member render_priority] parameter."
msgstr "[member render_priority] 参数的最大值。"
@@ -16112,10 +31917,120 @@ msgid "Minimum value for the [member render_priority] parameter."
msgstr "[member render_priority] 参数的最小值。"
msgid ""
+"A horizontal menu bar, which displays [PopupMenu]s or system global menu."
+msgstr "水平菜单栏,显示 [PopupMenu] 或系统全局菜单。"
+
+msgid "Returns number of menu items."
+msgstr "返回菜单项的数量。"
+
+msgid "Returns [PopupMenu] associated with menu item."
+msgstr "返回与菜单项关联的 [PopupMenu]。"
+
+msgid "Returns menu item title."
+msgstr "返回菜单项的标题。"
+
+msgid "Returns menu item tooltip."
+msgstr "返回菜单项的工具提示。"
+
+msgid "Returns [code]true[/code], if menu item is disabled."
+msgstr "如果菜单项为禁用状态,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code], if menu item is hidden."
+msgstr "如果菜单项为隐藏状态,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code], if system global menu is supported and used by "
+"this [MenuBar]."
+msgstr ""
+"如果支持系统全局菜单,而且该 [MenuBar] 使用全局菜单,则返回 [code]true[/"
+"code]。"
+
+msgid ""
"If [code]true[/code], shortcuts are disabled and cannot be used to trigger "
"the button."
msgstr "如果为 [code]true[/code],快捷方式将被禁用,无法用于触发按钮。"
+msgid "If [code]true[/code], menu item is disabled."
+msgstr "为 [code]true[/code] 时,菜单项为禁用状态。"
+
+msgid "If [code]true[/code], menu item is hidden."
+msgstr "为 [code]true[/code] 时,菜单项为隐藏状态。"
+
+msgid "Sets menu item title."
+msgstr "设置菜单项的标题。"
+
+msgid "Sets menu item tooltip."
+msgstr "设置菜单项的工具提示。"
+
+msgid "Flat [MenuBar] don't display item decoration."
+msgstr "扁平的 [MenuBar],不显示项目装饰。"
+
+msgid ""
+"If [code]true[/code], [MenuBar] will use system global menu when supported."
+msgstr ""
+"如果为 [code]true[/code],则 [MenuBar] 会在支持系统全局菜单时使用系统全局菜"
+"单。"
+
+msgid "Default text [Color] of the menu item."
+msgstr "菜单项的默认文字 [Color]。"
+
+msgid "Text [Color] used when the menu item is disabled."
+msgstr "菜单项处于禁用状态时使用的文字 [Color]。"
+
+msgid ""
+"Text [Color] used when the menu item is focused. Only replaces the normal "
+"text color of the menu item. Disabled, hovered, and pressed states take "
+"precedence over this color."
+msgstr ""
+"菜单项处于聚焦状态时使用的文字 [Color]。只替换按钮的正常文本颜色。禁用、悬停"
+"和按下状态优先于这个颜色。"
+
+msgid "Text [Color] used when the menu item is being hovered."
+msgstr "菜单项处于悬停状态时使用的文字 [Color]。"
+
+msgid "Text [Color] used when the menu item is being hovered and pressed."
+msgstr "菜单项处于悬停且按下状态时使用的文字 [Color]。"
+
+msgid "Text [Color] used when the menu item is being pressed."
+msgstr "菜单项处于按下状态时使用的文字 [Color]。"
+
+msgid "The horizontal space between menu items."
+msgstr "菜单项之间的水平距离。"
+
+msgid "[Font] of the menu item's text."
+msgstr "菜单项文本的字体 [Font]。"
+
+msgid "Font size of the menu item's text."
+msgstr "菜单项文本的字体大小。"
+
+msgid "[StyleBox] used when the menu item is disabled."
+msgstr "菜单项处于禁用状态时使用的 [StyleBox]。"
+
+msgid ""
+"[StyleBox] used when the menu item is focused. The [code]focus[/code] "
+"[StyleBox] is displayed [i]over[/i] the base [StyleBox], so a partially "
+"transparent [StyleBox] should be used to ensure the base [StyleBox] remains "
+"visible. A [StyleBox] that represents an outline or an underline works well "
+"for this purpose. To disable the focus visual effect, assign a "
+"[StyleBoxEmpty] resource. Note that disabling the focus visual effect will "
+"harm keyboard/controller navigation usability, so this is not recommended "
+"for accessibility reasons."
+msgstr ""
+"菜单项处于聚焦状态时使用的 [StyleBox]。[code]focus[/code] [StyleBox] 显示在基"
+"础 [StyleBox] [i]之上[/i],所以应该使用部分透明的 [StyleBox],确保基础 "
+"[StyleBox] 仍然可见。代表轮廓或下划线的 [StyleBox] 可以很好地实现这个目的。要"
+"禁用聚焦的视觉效果,请指定 [StyleBoxEmpty] 资源。请注意,禁用聚焦的视觉效果会"
+"影响使用键盘/手柄进行导航的可用性,所以出于可访问性的原因,不建议这样做。"
+
+msgid "[StyleBox] used when the menu item is being hovered."
+msgstr "菜单项处于悬停状态时使用的 [StyleBox]。"
+
+msgid "Default [StyleBox] for the menu item."
+msgstr "菜单项的默认 [StyleBox]。"
+
+msgid "[StyleBox] used when the menu item is being pressed."
+msgstr "菜单项处于按下状态时使用的 [StyleBox]。"
+
msgid "Special button that brings up a [PopupMenu] when clicked."
msgstr "点击后会弹出 [PopupMenu] 的特殊按钮。"
@@ -16168,17 +32083,37 @@ msgstr "当 [MenuButton] 被按下时使用的字体 [Color] 颜色。"
msgid "[Font] of the [MenuButton]'s text."
msgstr "[MenuButton] 文本的 [Font]。"
+msgid "Font size of the [MenuButton]'s text."
+msgstr "该 [MenuButton] 文本的字体大小。"
+
msgid "[StyleBox] used when the [MenuButton] is disabled."
-msgstr "当 [MenuButton] 被禁用时使用的 [StyleBox]。"
+msgstr "该 [MenuButton] 处于禁用状态时使用的 [StyleBox]。"
+
+msgid ""
+"[StyleBox] used when the [MenuButton] is focused. The [code]focus[/code] "
+"[StyleBox] is displayed [i]over[/i] the base [StyleBox], so a partially "
+"transparent [StyleBox] should be used to ensure the base [StyleBox] remains "
+"visible. A [StyleBox] that represents an outline or an underline works well "
+"for this purpose. To disable the focus visual effect, assign a "
+"[StyleBoxEmpty] resource. Note that disabling the focus visual effect will "
+"harm keyboard/controller navigation usability, so this is not recommended "
+"for accessibility reasons."
+msgstr ""
+"该 [MenuButton] 处于聚焦状态时使用的 [StyleBox]。[code]focus[/code] "
+"[StyleBox] 显示在基础 [StyleBox] [i]之上[/i],所以应该使用部分透明的 "
+"[StyleBox],确保基础 [StyleBox] 仍然可见。代表轮廓或下划线的 [StyleBox] 可以"
+"很好地实现这个目的。要禁用聚焦的视觉效果,请指定 [StyleBoxEmpty] 资源。请注"
+"意,禁用聚焦的视觉效果会影响使用键盘/手柄进行导航的可用性,所以出于可访问性的"
+"原因,不建议这样做。"
msgid "[StyleBox] used when the [MenuButton] is being hovered."
-msgstr "当鼠标在 [MenuButton] 上悬停时使用的 [StyleBox] 样式盒。"
+msgstr "该 [MenuButton] 处于悬停状态时使用的 [StyleBox]。"
msgid "Default [StyleBox] for the [MenuButton]."
-msgstr "[MenuButton] 的默认 [StyleBox] 样式盒。"
+msgstr "该 [MenuButton] 的默认 [StyleBox]。"
msgid "[StyleBox] used when the [MenuButton] is being pressed."
-msgstr "[MenuButton] 被按下时的 [StyleBox] 样式盒。"
+msgstr "该 [MenuButton] 处于按下状态时使用的 [StyleBox]。"
msgid "A [Resource] that contains vertex array-based geometry."
msgstr "一种包含基于顶点数组的几何资源。"
@@ -16234,7 +32169,10 @@ msgid "Render array as triangle strips."
msgstr "将数组渲染为三角形条。"
msgid "Represents the size of the [enum ArrayType] enum."
-msgstr "表示 [enum ArrayType] 枚举的大小。"
+msgstr "代表 [enum ArrayType] 枚举的大小。"
+
+msgid "Represents the size of the [enum ArrayCustomFormat] enum."
+msgstr "代表 [enum ArrayCustomFormat] 枚举的大小。"
msgid ""
"Mesh array contains vertices. All meshes require a vertex array so this "
@@ -16409,6 +32347,9 @@ msgstr "设置给定顶点的骨骼权重。"
msgid "Node used for displaying a [Mesh] in 2D."
msgstr "用于在 2D 中显示 [Mesh] 的节点。"
+msgid "2D meshes"
+msgstr "2D 网格"
+
msgid "The [Mesh] that will be drawn by the [MeshInstance2D]."
msgstr "该 [MeshInstance2D] 绘制的 [Mesh]。"
@@ -16466,6 +32407,18 @@ msgstr "返回该项的导航网格。"
msgid "Returns the transform applied to the item's navigation mesh."
msgstr "返回应用于该项导航网格的变换。"
+msgid ""
+"When running in the editor, returns a generated item preview (a 3D rendering "
+"in isometric perspective). When used in a running project, returns the "
+"manually-defined item preview which can be set using [method "
+"set_item_preview]. Returns an empty [Texture2D] if no preview was manually "
+"set in a running project."
+msgstr ""
+"在编辑器中运行时,返回生成的项目预览(等轴透视中的 3D 渲染)。在一个运行的项"
+"目中使用时,返回手动定义的项目预览,该项目预览可以使用 [method "
+"set_item_preview] 设置。如果在一个运行的项目中,没有手动设置预览,则返回一个"
+"空的 [Texture2D]。"
+
msgid "Gets an unused ID for a new item."
msgstr "获取新项未使用的 ID。"
@@ -16483,8 +32436,12 @@ msgid ""
"This name is shown in the editor. It can also be used to look up the item "
"later using [method find_item_by_name]."
msgstr ""
-"设置项的名称。\n"
-"该名称显示在编辑器中。稍后还可以使用 [method find_item_by_name] 来查找该项。"
+"设置该项的名称。\n"
+"这个名称会显示在编辑器中。稍后还可以使用 [method find_item_by_name] 来查找该"
+"项。"
+
+msgid "Sets the item's navigation layers bitmask."
+msgstr "设置该项的导航层位掩码。"
msgid "Sets the item's navigation mesh."
msgstr "设置该项的导航网格。"
@@ -16523,6 +32480,36 @@ msgid ""
"interpolating. By default there's no delay."
msgstr "设置该 [MethodTweener] 开始插值的时间,单位为秒。默认无延迟。"
+msgid ""
+"This is an internal editor class intended for keeping data of nodes of "
+"unknown type."
+msgstr "这是编辑器内部类,用于保存未知类型节点的数据。"
+
+msgid ""
+"This is an internal editor class intended for keeping data of nodes of "
+"unknown type (most likely this type was supplied by an extension that is no "
+"longer loaded). It can't be manually instantiated or placed in the scene. "
+"Ignore it if you don't know what it is."
+msgstr ""
+"这是编辑器内部类,用于保存未知类型节点的数据(该类型很有可能是由扩展提供的,"
+"而该扩展未加载)。无法手动实例化或放置在场景中。如果你不知道这是什么,请忽略"
+"它。"
+
+msgid ""
+"This is an internal editor class intended for keeping data of resources of "
+"unknown type."
+msgstr "这是编辑器内部类,用于保存未知类型资源的数据。"
+
+msgid ""
+"This is an internal editor class intended for keeping data of resources of "
+"unknown type (most likely this type was supplied by an extension that is no "
+"longer loaded). It can't be manually instantiated or placed in the scene. "
+"Ignore it if you don't know what it is."
+msgstr ""
+"这是编辑器内部类,用于保存未知类型资源的数据(该类型很有可能是由扩展提供的,"
+"而该扩展未加载)。无法手动实例化或放置在场景中。如果你不知道这是什么,请忽略"
+"它。"
+
msgid "Generic mobile VR implementation."
msgstr "通用移动 VR 实现。"
@@ -16557,14 +32544,41 @@ msgstr ""
"过采样设置。由于镜头失真,我们必须以比屏幕自然分辨率更高的质量渲染我们的缓冲"
"区。介于 1.5 和 2.0 之间的值通常可以提供良好的结果,但会牺牲性能。"
+msgid "Animating thousands of fish with MultiMeshInstance"
+msgstr "使用 MultiMeshInstance 动画化数千条鱼"
+
+msgid "Optimization using MultiMeshes"
+msgstr "使用 MultiMesh 进行优化"
+
+msgid "Gets a specific instance's color multiplier."
+msgstr "获取特定实例的颜色倍数。"
+
msgid "Returns the custom data that has been set for a specific instance."
msgstr "返回已经为特定实例设置的自定义数据。"
+msgid "Returns the [Transform3D] of a specific instance."
+msgstr "返回指定实例的 [Transform3D]。"
+
msgid "Returns the [Transform2D] of a specific instance."
-msgstr "返回特定实例的 [Transform2D]。"
+msgstr "返回指定实例的 [Transform2D]。"
+
+msgid "Sets the [Transform3D] for a specific instance."
+msgstr "为指定实例设置 [Transform3D]。"
msgid "Sets the [Transform2D] for a specific instance."
-msgstr "为特定实例设置 [Transform2D]。"
+msgstr "为指定实例设置 [Transform2D]。"
+
+msgid "See [method set_instance_color]."
+msgstr "见 [method set_instance_color]。"
+
+msgid "See [method set_instance_custom_data]."
+msgstr "见 [method set_instance_custom_data]。"
+
+msgid "See [method set_instance_transform_2d]."
+msgstr "见 [method set_instance_transform_2d]。"
+
+msgid "See [method set_instance_transform]."
+msgstr "见 [method set_instance_transform]。"
msgid "Format of transform used to transform mesh, either 2D or 3D."
msgstr "用于变换网格的变换格式,可以是 2D 或 3D。"
@@ -16590,6 +32604,9 @@ msgstr "将由 [MultiMeshInstance2D] 绘制的 [MultiMesh]。"
msgid "Node that instances a [MultiMesh]."
msgstr "实例化 [MultiMesh] 的节点。"
+msgid "Using MultiMeshInstance"
+msgstr "使用 MultiMeshInstance"
+
msgid ""
"Returns the sender's peer ID for the RPC currently being executed.\n"
"[b]Note:[/b] If not inside an RPC this method will return 0."
@@ -16597,6 +32614,34 @@ msgstr ""
"返回当前正在执行的 RPC 的发送方的对等体 ID。\n"
"[b]注意:[/b]如果不在 RPC 内,这个方法将返回 0。"
+msgid "Base class used for extending the [MultiplayerAPI]."
+msgstr "用于扩展 [MultiplayerAPI] 的基类。"
+
+msgid "Callback for [method MultiplayerAPI.get_peers]."
+msgstr "[method MultiplayerAPI.get_peers] 的回调。"
+
+msgid "Callback for [method MultiplayerAPI.get_remote_sender_id]."
+msgstr "[method MultiplayerAPI.get_remote_sender_id] 的回调。"
+
+msgid "Callback for [method MultiplayerAPI.get_unique_id]."
+msgstr "[method MultiplayerAPI.get_unique_id] 的回调。"
+
+msgid "Callback for [method MultiplayerAPI.object_configuration_add]."
+msgstr "[method MultiplayerAPI.object_configuration_add] 的回调。"
+
+msgid "Callback for [method MultiplayerAPI.object_configuration_remove]."
+msgstr "[method MultiplayerAPI.object_configuration_remove] 的回调。"
+
+msgid "Callback for [method MultiplayerAPI.poll]."
+msgstr "[method MultiplayerAPI.poll] 的回调。"
+
+msgid "Callback for [method MultiplayerAPI.rpc]."
+msgstr "[method MultiplayerAPI.rpc] 的回调。"
+
+msgid ""
+"Abstract class for specialized [PacketPeer]s used by the [MultiplayerAPI]."
+msgstr "特化 [PacketPeer] 的抽象类,[MultiplayerAPI] 会用到。"
+
msgid "WebRTC Signaling Demo"
msgstr "WebRTC 信号演示"
@@ -16604,9 +32649,21 @@ msgid ""
"Returns the current state of the connection. See [enum ConnectionStatus]."
msgstr "返回连接的当前状态。见 [enum ConnectionStatus]。"
+msgid "Returns the ID of this [MultiplayerPeer]."
+msgstr "返回该 [MultiplayerPeer] 的 ID。"
+
msgid "Waits up to 1 second to receive a new network event."
msgstr "等待最多 1 秒以接收一个新的网络事件。"
+msgid "The MultiplayerPeer is disconnected."
+msgstr "该 MultiplayerPeer 已断开连接。"
+
+msgid "The MultiplayerPeer is currently connecting to a server."
+msgstr "该 MultiplayerPeer 正在连接到服务器。"
+
+msgid "This MultiplayerPeer is connected."
+msgstr "该 MultiplayerPeer 已连接。"
+
msgid ""
"Packets are not acknowledged, no resend attempts are made for lost packets. "
"Packets may arrive in any order. Potentially faster than [constant "
@@ -16675,6 +32732,30 @@ msgstr ""
"[b]注意:[/b]如果一个线程在已经拥有互斥锁的情况下多次调用 [method lock] 或 "
"[method try_lock],它也必须调用相同次数的 [method unlock] 才能正确解锁."
+msgid "2D Agent used in navigation for collision avoidance."
+msgstr "在导航中用来避免碰撞的 2D 代理。"
+
+msgid ""
+"2D Agent that is used in navigation to reach a position while avoiding "
+"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
+"collision avoidance. The agent needs navigation data to work correctly. "
+"[NavigationAgent2D] is physics safe.\n"
+"[b]Note:[/b] After setting [member target_position] it is required to use "
+"the [method get_next_path_position] function once every physics frame to "
+"update the internal path logic of the NavigationAgent. The returned vector "
+"position from this function should be used as the next movement position for "
+"the agent's parent Node."
+msgstr ""
+"导航中使用的 2D 代理,可以在前往某个位置时躲避静态和动态障碍物。躲避动态障碍"
+"物使用的是 RVO(Reciprocal Velocity Obstacles,相对速度障碍物)防撞算法。代理"
+"需要导航数据才能正确工作。[NavigationAgent2D] 是物理安全的。\n"
+"[b]注意:[/b]设置 [member target_position] 之后,必须在每个物理帧使用一次 "
+"[method get_next_location] 函数来更新 NavigationAgent 的内部路径逻辑。这个函"
+"数返回的向量位置应该用作该代理的父节点的下一次移动位置。"
+
+msgid "Using NavigationAgents"
+msgstr "使用 NavigationAgent"
+
msgid ""
"Returns the [RID] of the navigation map for this NavigationAgent node. This "
"function returns always the map set on the NavigationAgent node and not the "
@@ -16740,6 +32821,27 @@ msgstr ""
"终的目标,到达该区域内即可。如果这个值设得太小,该 NavigationAgent 将陷入重新"
"寻路的死循环,因为它在每次物理帧更新后都会超过或者到不了最终的目标点。"
+msgid "3D Agent used in navigation for collision avoidance."
+msgstr "在导航中用来避免碰撞的 3D 代理。"
+
+msgid ""
+"3D Agent that is used in navigation to reach a position while avoiding "
+"static and dynamic obstacles. The dynamic obstacles are avoided using RVO "
+"collision avoidance. The agent needs navigation data to work correctly. "
+"[NavigationAgent3D] is physics safe.\n"
+"[b]Note:[/b] After setting [member target_position] it is required to use "
+"the [method get_next_path_position] function once every physics frame to "
+"update the internal path logic of the NavigationAgent. The returned vector "
+"position from this function should be used as the next movement position for "
+"the agent's parent Node."
+msgstr ""
+"导航中使用的 3D 代理,可以在前往某个位置时躲避静态和动态障碍物。躲避动态障碍"
+"物使用的是 RVO(Reciprocal Velocity Obstacles,相对速度障碍物)防撞算法。代理"
+"需要导航数据才能正确工作。[NavigationAgent3D] 是物理安全的。\n"
+"[b]注意:[/b]设置 [member target_position] 之后,必须在每个物理帧使用一次 "
+"[method get_next_location] 函数来更新 NavigationAgent 的内部路径逻辑。这个函"
+"数返回的向量位置应该用作该代理的父节点的下一次移动位置。"
+
msgid ""
"The NavigationAgent height offset is subtracted from the y-axis value of any "
"vector path position for this NavigationAgent. The NavigationAgent height "
@@ -16753,6 +32855,9 @@ msgstr ""
"果。如果其他导航地图使用了带有导航网格的地区,开发者使用合适的代理半径或高度"
"对其进行了烘焙,那么就必须支持不同大小的代理。"
+msgid "Using NavigationLinks"
+msgstr "使用 NavigationLink"
+
msgid "A mesh to approximate the walkable areas and obstacles."
msgstr "用于模拟可步行区域和障碍物的网格。"
@@ -16767,6 +32872,9 @@ msgstr ""
msgid "3D Navmesh Demo"
msgstr "3D 导航网格演示"
+msgid "Using NavigationMeshes"
+msgstr "使用 NavigationMesh"
+
msgid ""
"Adds a polygon using the indices of the vertices you get when calling "
"[method get_vertices]."
@@ -16946,7 +33054,7 @@ msgid ""
msgstr "层分区。用于具有中小型图块的平铺导航网格的不错选择。"
msgid "Represents the size of the [enum SamplePartitionType] enum."
-msgstr "表示 [enum SamplePartitionType] 枚举的大小。"
+msgstr "代表 [enum SamplePartitionType] 枚举的大小。"
msgid ""
"Both [constant PARSED_GEOMETRY_MESH_INSTANCES] and [constant "
@@ -16956,7 +33064,7 @@ msgstr ""
"PARSED_GEOMETRY_STATIC_COLLIDERS]."
msgid "Represents the size of the [enum ParsedGeometryType] enum."
-msgstr "表示 [enum ParsedGeometryType] 枚举的大小。"
+msgstr "代表 [enum ParsedGeometryType] 枚举的大小。"
msgid ""
"Scans nodes in a group and their child nodes recursively for geometry. The "
@@ -16973,17 +33081,82 @@ msgstr ""
"定。"
msgid "Represents the size of the [enum SourceGeometryMode] enum."
-msgstr "表示 [enum SourceGeometryMode] 枚举的大小。"
+msgstr "代表 [enum SourceGeometryMode] 枚举的大小。"
msgid "Helper class for creating and clearing navigation meshes."
msgstr "对导航网格进行创建和清理的辅助类。"
+msgid "2D Obstacle used in navigation for collision avoidance."
+msgstr "在导航中用来避免碰撞的 2D 障碍物。"
+
+msgid ""
+"2D Obstacle used in navigation for collision avoidance. The obstacle needs "
+"navigation data to work correctly. [NavigationObstacle2D] is physics safe.\n"
+"Obstacles [b]don't[/b] change the resulting path from the pathfinding, they "
+"only affect the navigation agent movement in a radius. Therefore, using "
+"obstacles for the static walls in your level won't work because those walls "
+"don't exist in the pathfinding. The navigation agent will be pushed in a "
+"semi-random direction away while moving inside that radius. Obstacles are "
+"intended as a last resort option for constantly moving objects that cannot "
+"be (re)baked to a navigation mesh efficiently."
+msgstr ""
+"在导航中用来避免碰撞的 2D 障碍物。障碍物需要导航数据才能正确工作。"
+"[NavigationObstacle2D] 是物理安全的。\n"
+"障碍物[b]不会[/b]改变寻路的结果,只会影响半径范围内导航代理的移动。因此,如果"
+"将障碍物用于关卡中的墙体是无法正常工作的,因为这些墙体在寻路时不存在。导航代"
+"理在半径范围内移动时,会被推向半随机的方向。持续移动的物体如果无法进行高效的"
+"(重新)烘焙,障碍物应作为不得已的手段。"
+
+msgid "Using NavigationObstacles"
+msgstr "使用 NavigationObstacle"
+
msgid ""
"Enables radius estimation algorithm which uses parent's collision shapes to "
"determine the obstacle radius."
msgstr "启用半径估算算法,使用父项的碰撞形状确定障碍物的半径。"
msgid ""
+"The radius of the agent. Used only if [member estimate_radius] is set to "
+"false."
+msgstr "代理的半径。仅在 [member estimate_radius] 被设置为 false 时使用。"
+
+msgid "3D Obstacle used in navigation for collision avoidance."
+msgstr "在导航中用来避免碰撞的 3D 障碍物。"
+
+msgid ""
+"3D Obstacle used in navigation for collision avoidance. The obstacle needs "
+"navigation data to work correctly. [NavigationObstacle3D] is physics safe.\n"
+"Obstacles [b]don't[/b] change the resulting path from the pathfinding, they "
+"only affect the navigation agent movement in a radius. Therefore, using "
+"obstacles for the static walls in your level won't work because those walls "
+"don't exist in the pathfinding. The navigation agent will be pushed in a "
+"semi-random direction away while moving inside that radius. Obstacles are "
+"intended as a last resort option for constantly moving objects that cannot "
+"be (re)baked to a navigation mesh efficiently."
+msgstr ""
+"在导航中用来避免碰撞的 3D 障碍物。障碍物需要导航数据才能正确工作。"
+"[NavigationObstacle3D] 是物理安全的。\n"
+"障碍物[b]不会[/b]改变寻路的结果,只会影响半径范围内导航代理的移动。因此,如果"
+"将障碍物用于关卡中的墙体是无法正常工作的,因为这些墙体在寻路时不存在。导航代"
+"理在半径范围内移动时,会被推向半随机的方向。持续移动的物体如果无法进行高效的"
+"(重新)烘焙,障碍物应作为不得已的手段。"
+
+msgid "Using NavigationPathQueryObjects"
+msgstr "使用 NavigationPathQueryObject"
+
+msgid "The navigation layers the query will use (as a bitmask)."
+msgstr "查询所使用的导航层(形式为位掩码)。"
+
+msgid "The pathfinding algorithm used in the path query."
+msgstr "路径查询中使用的寻路算法。"
+
+msgid "The pathfinding start position in global coordinates."
+msgstr "寻路起始点,使用全局坐标。"
+
+msgid "The pathfinding target position in global coordinates."
+msgstr "寻路目标点,使用全局坐标。"
+
+msgid ""
"A node that has methods to draw outlines or use indices of vertices to "
"create navigation polygons."
msgstr "具有绘制轮廓或使用顶点索引来创建导航多边形的方法的节点。"
@@ -17028,9 +33201,15 @@ msgstr ""
msgid "A region of the 2D navigation map."
msgstr "2D 导航地图上的一个地区。"
+msgid "Using NavigationRegions"
+msgstr "使用 NavigationRegion"
+
msgid "The [NavigationPolygon] resource to use."
msgstr "使用的 [NavigationPolygon] 资源。"
+msgid "A region of the navigation map."
+msgstr "导航地图上的地区。"
+
msgid "The [NavigationMesh] resource to use."
msgstr "使用的 [NavigationMesh] 资源。"
@@ -17040,6 +33219,9 @@ msgstr "导航网格烘焙操作完成时发出通知。"
msgid "Notifies when the [NavigationMesh] has changed."
msgstr "[NavigationMesh] 发生变化时发出通知。"
+msgid "Using NavigationServer"
+msgstr "使用 NavigationServer"
+
msgid "Creates the agent."
msgstr "创建代理。"
@@ -17099,6 +33281,24 @@ msgstr ""
"返回该 NavigationServer 上所有已创建的导航地图的 [RID]。会同时返回已创建的 "
"2D 和 3D 导航地图,因为理论上它们之间是没有区别的。"
+msgid "Create a new link between two positions on a map."
+msgstr "在地图上新建两个地点之间的链接。"
+
+msgid "Returns the ending position of this [code]link[/code]."
+msgstr "返回该 [code]link[/code] 的结束位置。"
+
+msgid "Returns the starting position of this [code]link[/code]."
+msgstr "返回该 [code]link[/code] 的起始位置。"
+
+msgid "Sets the exit position for the [code]link[/code]."
+msgstr "设置 [code]link[/code] 的出口位置。"
+
+msgid "Sets the navigation map [RID] for the link."
+msgstr "设置该链接的导航地图 [RID]。"
+
+msgid "Sets the entry position for this [code]link[/code]."
+msgstr "设置 [code]link[/code] 的入口位置。"
+
msgid "Create a new map."
msgstr "创建一张新地图。"
@@ -17134,6 +33334,16 @@ msgstr "返回该地区的导航层。"
msgid "Sets the map for the region."
msgstr "设置该地区的地图。"
+msgid ""
+"Set the region's navigation layers. This allows selecting regions from a "
+"path request (when using [method NavigationServer2D.map_get_path])."
+msgstr ""
+"设置地区的导航层。能够在路径请求中选择地区(使用 [method NavigationServer2D."
+"map_get_path] 时)。"
+
+msgid "Sets the [param navigation_polygon] for the region."
+msgstr "设置该地区的导航多边形 [param navigation_polygon]。"
+
msgid "Sets the global transformation for the region."
msgstr "设置该地区的全局变换。"
@@ -17162,14 +33372,11 @@ msgid "Sets the map up direction."
msgstr "设置地图的上方向。"
msgid ""
-"Process the collision avoidance agents.\n"
-"The result of this process is needed by the physics server, so this must be "
-"called in the main thread.\n"
-"[b]Note:[/b] This function is not thread safe."
+"Set the region's navigation layers. This allows selecting regions from a "
+"path request (when using [method NavigationServer3D.map_get_path])."
msgstr ""
-"处理防撞代理。\n"
-"物理服务器需要这个处理的结果,所以必须在主线程中调用。\n"
-"[b]注意:[/b]这个函数不是线程安全的。"
+"设置地区的导航层。能够在路径请求中选择地区(使用 [method NavigationServer3D."
+"map_get_path])。"
msgid "Sets the navigation mesh for the region."
msgstr "设置该地图的导航网格。"
@@ -17177,6 +33384,25 @@ msgstr "设置该地图的导航网格。"
msgid "Control activation of this server."
msgstr "控制这个服务器是否激活。"
+msgid "Constant to get the number of active navigation maps."
+msgstr "常量,用于获取活动导航地图的数量。"
+
+msgid "Constant to get the number of active navigation regions."
+msgstr "常量,用于获取活动导航地区的数量。"
+
+msgid ""
+"Constant to get the number of active navigation agents processing avoidance."
+msgstr "常量,用于获取正在进行避障的活动导航代理的数量。"
+
+msgid "Constant to get the number of active navigation links."
+msgstr "常量,用于获取活动导航链接的数量。"
+
+msgid "Constant to get the number of navigation mesh polygons."
+msgstr "常量,用于获取导航网格多边形的数量。"
+
+msgid "Constant to get the number of navigation mesh polygon edges."
+msgstr "常量,用于获取导航网格多边形边的数量。"
+
msgid ""
"Scalable texture-based frame that tiles the texture's centers and sides, but "
"keeps the corners' original size. Perfect for panels and dialog boxes."
@@ -17269,6 +33495,116 @@ msgstr "在 NinePatchRect 上拉伸中心纹理。这可能会导致纹理失真
msgid "Base class for all [i]scene[/i] objects."
msgstr "所有[i]场景[/i]对象的基类。"
+msgid ""
+"Nodes are Godot's building blocks. They can be assigned as the child of "
+"another node, resulting in a tree arrangement. A given node can contain any "
+"number of nodes as children with the requirement that all siblings (direct "
+"children of a node) should have unique names.\n"
+"A tree of nodes is called a [i]scene[/i]. Scenes can be saved to the disk "
+"and then instantiated into other scenes. This allows for very high "
+"flexibility in the architecture and data model of Godot projects.\n"
+"[b]Scene tree:[/b] The [SceneTree] contains the active tree of nodes. When a "
+"node is added to the scene tree, it receives the [constant "
+"NOTIFICATION_ENTER_TREE] notification and its [method _enter_tree] callback "
+"is triggered. Child nodes are always added [i]after[/i] their parent node, i."
+"e. the [method _enter_tree] callback of a parent node will be triggered "
+"before its child's.\n"
+"Once all nodes have been added in the scene tree, they receive the [constant "
+"NOTIFICATION_READY] notification and their respective [method _ready] "
+"callbacks are triggered. For groups of nodes, the [method _ready] callback "
+"is called in reverse order, starting with the children and moving up to the "
+"parent nodes.\n"
+"This means that when adding a node to the scene tree, the following order "
+"will be used for the callbacks: [method _enter_tree] of the parent, [method "
+"_enter_tree] of the children, [method _ready] of the children and finally "
+"[method _ready] of the parent (recursively for the entire scene tree).\n"
+"[b]Processing:[/b] Nodes can override the \"process\" state, so that they "
+"receive a callback on each frame requesting them to process (do something). "
+"Normal processing (callback [method _process], toggled with [method "
+"set_process]) happens as fast as possible and is dependent on the frame "
+"rate, so the processing time [i]delta[/i] (in seconds) is passed as an "
+"argument. Physics processing (callback [method _physics_process], toggled "
+"with [method set_physics_process]) happens a fixed number of times per "
+"second (60 by default) and is useful for code related to the physics "
+"engine.\n"
+"Nodes can also process input events. When present, the [method _input] "
+"function will be called for each input that the program receives. In many "
+"cases, this can be overkill (unless used for simple projects), and the "
+"[method _unhandled_input] function might be preferred; it is called when the "
+"input event was not handled by anyone else (typically, GUI [Control] nodes), "
+"ensuring that the node only receives the events that were meant for it.\n"
+"To keep track of the scene hierarchy (especially when instancing scenes into "
+"other scenes), an \"owner\" can be set for the node with the [member owner] "
+"property. This keeps track of who instantiated what. This is mostly useful "
+"when writing editors and tools, though.\n"
+"Finally, when a node is freed with [method Object.free] or [method "
+"queue_free], it will also free all its children.\n"
+"[b]Groups:[/b] Nodes can be added to as many groups as you want to be easy "
+"to manage, you could create groups like \"enemies\" or \"collectables\" for "
+"example, depending on your game. See [method add_to_group], [method "
+"is_in_group] and [method remove_from_group]. You can then retrieve all nodes "
+"in these groups, iterate them and even call methods on groups via the "
+"methods on [SceneTree].\n"
+"[b]Networking with nodes:[/b] After connecting to a server (or making one, "
+"see [ENetMultiplayerPeer]), it is possible to use the built-in RPC (remote "
+"procedure call) system to communicate over the network. By calling [method "
+"rpc] with a method name, it will be called locally and in all connected "
+"peers (peers = clients and the server that accepts connections). To identify "
+"which node receives the RPC call, Godot will use its [NodePath] (make sure "
+"node names are the same on all peers). Also, take a look at the high-level "
+"networking tutorial and corresponding demos.\n"
+"[b]Note:[/b] The [code]script[/code] property is part of the [Object] class, "
+"not [Node]. It isn't exposed like most properties but does have a setter and "
+"getter ([code]set_script()[/code] and [code]get_script()[/code])."
+msgstr ""
+"节点是 Godot 的构建模块。它们可以被指定为另一个节点的子节点,从而形成树状排"
+"列。一个给定的节点可以包含任意数量的节点作为子节点,要求所有的兄弟节点(即该"
+"节点的直接子节点)的名字唯一。\n"
+"节点树被称为[i]场景[/i]。场景可以被保存到磁盘上,然后被实例化到其他场景中。这"
+"使得 Godot 项目的架构和数据模型具有非常高的灵活性。\n"
+"[b]场景树:[/b][SceneTree] 包含活动的节点树。当一个节点被添加到场景树中时,它"
+"将收到 [constant NOTIFICATION_ENTER_TREE] 通知,并触发其 [method "
+"_enter_tree] 回调。子节点总是在其父节点[i]之后[/i]被添加,即父节点的 [method "
+"_enter_tree] 回调将在其子节点的之前被触发。\n"
+"一旦所有的节点被添加到场景树中,它们就会收到 [constant NOTIFICATION_READY] 通"
+"知,其各自的 [method _ready] 回调被触发。对于一组节点,[method _ready] 回调是"
+"按相反的顺序调用的,从子节点开始,向上移动到父节点。\n"
+"这意味着,当把一个节点添加到场景树中时,将使用下面的顺序进行回调:父节点的 "
+"[method _enter_tree]、子节点的 [method _enter_tree]、子节点的 [method "
+"_ready],最后是父节点的 [method _ready](对整个场景树进行递归)。\n"
+"[b]处理:[/b]节点可以覆盖“处理”状态,以便它们在每一帧上都收到回调,要求它们进"
+"行处理(做一些事情)。普通处理(回调 [method _process],可以使用 [method "
+"set_process] 开关)会尽可能快地发生,并且取决于帧率,所以处理时间 [i]delta[/"
+"i](单位为秒)会作为参数传入。物理处理(回调 [method _physics_process],可以"
+"使用 [method set_physics_process] 开关)每秒发生固定次数(默认为 60),对物理"
+"引擎相关的代码很有用。\n"
+"节点也可以处理输入事件。存在 [method _input] 函数时,程序每收到一次输入都会去"
+"调用它。在许多情况下,这么做是大材小用了(除非是用于简单的项目),用 [method "
+"_unhandled_input] 函数可能更合适;当输入事件没有被其他节点(通常是 GUI "
+"[Control] 节点)处理时,才会调用这个函数,可以确保节点只接收到它该收到的事"
+"件。\n"
+"为了记录场景的层次结构(尤其是在将场景实例化到其他场景时)可以用 [member "
+"owner] 属性为节点设置一个“所有者”。它记录的是谁实例化了什么。这在编写编辑器和"
+"工具时非常有用。\n"
+"最后,当一个节点被 [method Object.free] 或 [method queue_free] 释放时,它也将"
+"释放它的所有子节点。\n"
+"[b]分组:[/b]节点可以被添加到很多的组中,以方便管理,你可以根据自己游戏的需要"
+"来创建类似“敌人”或“收集品”这样的组。见 [method add_to_group]、[method "
+"is_in_group] 和 [method remove_from_group]。加入组后,你可以检索这些组中的所"
+"有节点,对它们进行迭代,甚至通过 [SceneTree] 中的方法调用组内方法。\n"
+"[b]节点的网络编程:[/b]在连接到服务器(或制作服务器,见 "
+"[ENetMultiplayerPeer])之后,可以使用内置的 RPC(远程过程调用)系统在网络上进"
+"行通信。在调用 [method rpc] 时传入方法名,将在本地和所有已连接的对等体中调用"
+"对应的方法(对等体=客户端和接受连接的服务器)。为了识别哪个节点收到 RPC 调"
+"用,Godot 将使用它的 [NodePath](请确保所有对等体上的节点名称相同)。另外,请"
+"参阅高级网络教程和相应的演示。\n"
+"[b]注意:[/b][code]script[/code] 属性是 [Object] 类的一部分,不属于 [Node]。"
+"这个属性暴露的方式和其他属性不同,但提供了 setter 和 getter"
+"([code]set_script()[/code] 和 [code]get_script()[/code])。"
+
+msgid "Nodes and scenes"
+msgstr "节点与场景"
+
msgid "All Demos"
msgstr "所有演示"
@@ -17304,6 +33640,67 @@ msgstr ""
"到 [signal tree_exited]。"
msgid ""
+"Called when there is an input event. The input event propagates up through "
+"the node tree until a node consumes it.\n"
+"It is only called if input processing is enabled, which is done "
+"automatically if this method is overridden, and can be toggled with [method "
+"set_process_input].\n"
+"To consume the input event and stop it propagating further to other nodes, "
+"[method Viewport.set_input_as_handled] can be called.\n"
+"For gameplay input, [method _unhandled_input] and [method "
+"_unhandled_key_input] are usually a better fit as they allow the GUI to "
+"intercept the events first.\n"
+"[b]Note:[/b] This method is only called if the node is present in the scene "
+"tree (i.e. if it's not an orphan)."
+msgstr ""
+"有输入事件时会被调用。输入事件会沿节点树向上传播,直到有节点将其消耗。\n"
+"只有在启用输入处理时才会被调用,如果该方法被重写则会自动启用,可以使用 "
+"[method set_process_input] 进行切换。\n"
+"要消耗输入事件,阻止它进一步传播到其他节点,可以调用 [method Viewport."
+"set_input_as_handled]。\n"
+"对于游戏输入,[method _unhandled_input] 和 [method _unhandled_key_input] 通常"
+"更适合,因为它们允许 GUI 首先拦截事件。\n"
+"[b]注意:[/b]仅当该节点存在于场景树中时(即不是孤立节点),此方法才会被调用。"
+
+msgid ""
+"Creates a new [Tween] and binds it to this node. This is equivalent of "
+"doing:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"get_tree().create_tween().bind_node(self)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GetTree().CreateTween().BindNode(this);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"新建 [Tween] 并将其绑定到这个节点。与如下操作等价:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"get_tree().create_tween().bind_node(self)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GetTree().CreateTween().BindNode(this);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns the number of child nodes.\n"
+"If [param include_internal] is [code]false[/code], internal children aren't "
+"counted (see [code]internal[/code] parameter in [method add_child])."
+msgstr ""
+"返回子节点的数量。\n"
+"如果 [param include_internal] 为 [code]false[/code] ,则不计算内部子节点(见 "
+"[method add_child] 的 [code]internal[/code] 参数)。"
+
+msgid ""
+"Similar to [method get_node], but does not log an error if [param path] does "
+"not point to a valid [Node]."
+msgstr ""
+"类似于 [method get_node],但在 [code]path[/code] 没有指向有效的 [Node] 时不会"
+"记录错误。"
+
+msgid ""
"Returns the parent node of the current node, or [code]null[/code] if the "
"node lacks a parent."
msgstr "返回当前节点的父节点,如果节点缺少父节点,则返回 [code]null[/code]。"
@@ -17334,6 +33731,14 @@ msgid "Returns the node's [Viewport]."
msgstr "返回节点的 [Viewport]。"
msgid ""
+"Returns the [Window] that contains this node. If the node is in the main "
+"window, this is equivalent to getting the root node ([code]get_tree()."
+"get_root()[/code])."
+msgstr ""
+"返回包含该节点的 [Window]。如果该节点在主窗口中,则相当于获取根节点"
+"([code]get_tree().get_root()[/code])。"
+
+msgid ""
"Returns [code]true[/code] if the node that the [NodePath] points to exists."
msgstr "如果 [NodePath] 指向的节点存在,则返回 [code]true[/code]。"
@@ -17556,6 +33961,13 @@ msgid ""
msgstr "设置这是否是实例加载占位符。见 [InstancePlaceholder]。"
msgid ""
+"Add a custom description to a node. It will be displayed in a tooltip when "
+"hovered in editor's scene tree."
+msgstr ""
+"为该节点添加自定义描述。该节点在编辑器的场景树中处于悬停状态时,该描述将显示"
+"在工具提示中。"
+
+msgid ""
"The name of the node. This name is unique among the siblings (other child "
"nodes from the same parent). When set to an existing name, the node will be "
"automatically renamed.\n"
@@ -17596,6 +34008,14 @@ msgstr ""
"中不可见,但在 2D/3D 视图中可见。"
msgid ""
+"Can be used to pause or unpause the node, or make the node paused based on "
+"the [SceneTree], or make it inherit the process mode from its parent "
+"(default)."
+msgstr ""
+"可用于暂停或取消暂停该节点,也可以让该节点根据 [SceneTree] 来暂停,还可以让它"
+"继承父级的处理模式(默认)。"
+
+msgid ""
"The node's priority in the execution order of the enabled processing "
"callbacks (i.e. [constant NOTIFICATION_PROCESS], [constant "
"NOTIFICATION_PHYSICS_PROCESS] and their internal counterparts). Nodes whose "
@@ -17791,9 +34211,29 @@ msgstr ""
msgid "All 2D Demos"
msgstr "所有 2D 演示"
+msgid "Multiplies the current scale by the [param ratio] vector."
+msgstr "将当前缩放乘以比例向量 [param ratio]。"
+
+msgid ""
+"Returns the angle between the node and the [param point] in radians.\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"node2d_get_angle_to.png]Illustration of the returned angle.[/url]"
+msgstr ""
+"返回该节点和 [param point] 之间的夹角,单位为弧度。\n"
+"[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/"
+"node2d_get_angle_to.png]返回夹角的示意图。[/url]"
+
msgid "Returns the [Transform2D] relative to this node's parent."
msgstr "返回相对于此节点的父节点的 [Transform2D]。"
+msgid "Adds the [param offset] vector to the node's global position."
+msgstr "将偏移向量 [param offset] 添加到该节点的全局位置。"
+
+msgid ""
+"Rotates the node so it points towards the [param point], which is expected "
+"to use global coordinates."
+msgstr "旋转该节点,使其指向 [param point],该点应使用全局坐标。"
+
msgid ""
"Applies a rotation to the node, in radians, starting from its current "
"rotation."
@@ -17820,15 +34260,26 @@ msgstr ""
"将提供的全局位置转换为本地坐标空间的位置。例如,它适合于确定子节点的位置,但"
"不适合于确定其自身相对于父节点的位置。"
+msgid "Translates the node by the given [param offset] in local coordinates."
+msgstr "在局部坐标系中,将该节点按给定的偏移量 [param offset] 进行平移。"
+
msgid "Global position."
msgstr "全局位置。"
msgid "Global rotation in radians."
-msgstr "全局旋转弧度。"
+msgstr "全局旋转,单位为弧度。"
+
+msgid ""
+"Helper property to access [member global_rotation] in degrees instead of "
+"radians."
+msgstr "辅助属性,用于按度数访问 [member global_rotation] 而不是弧度数。"
msgid "Global scale."
msgstr "全局缩放。"
+msgid "Global skew in radians."
+msgstr "全局偏斜,单位为弧度。"
+
msgid "Global [Transform2D]."
msgstr "全局 [Transform2D]。"
@@ -17851,11 +34302,18 @@ msgstr ""
"换矩阵来表示缩放,X 轴上的负数缩放在分解后会变为 Y 轴的负数缩放和一次 180 度"
"的旋转。"
+msgid ""
+"Slants the node.\n"
+"[b]Note:[/b] Skew is X axis only."
+msgstr ""
+"使该节点发生倾斜。\n"
+"[b]注意:[/b]偏斜仅适用于 X 轴。"
+
msgid "Local [Transform2D]."
msgstr "局部 [Transform2D]。"
msgid "Most basic 3D game object, parent of all 3D-related nodes."
-msgstr "最基本的 3D 游戏对象,是所有与 3D 相关的节点的父节点。"
+msgstr "最基本的 3D 游戏对象,所有 3D 相关节点的父类。"
msgid "Introduction to 3D"
msgstr "3D 简介"
@@ -17863,6 +34321,12 @@ msgstr "3D 简介"
msgid "All 3D Demos"
msgstr "所有 3D 演示"
+msgid "Attach a gizmo to this [code]Node3D[/code]."
+msgstr "将小工具附加到该 [code]Node3D[/code] 上。"
+
+msgid "Clear all gizmos attached to this [code]Node3D[/code]."
+msgstr "清除附加于该 [code]Node3D[/code] 的所有小工具。"
+
msgid ""
"Rotates the global (world) transformation around axis, a unit [Vector3], by "
"specified angle in radians. The rotation axis is in global coordinate system."
@@ -17949,6 +34413,9 @@ msgid ""
"Changes the node's position by the given offset [Vector3] in local space."
msgstr "通过给定的局部空间偏移量 [Vector3] 改变该节点的位置。"
+msgid "Updates all the [Node3DGizmo]s attached to this node."
+msgstr "更新附加于该节点的所有 [Node3DGizmo]。"
+
msgid ""
"Global position of this node. This is equivalent to [code]global_transform."
"origin[/code]."
@@ -17972,6 +34439,9 @@ msgstr ""
"矢量,而是因为 [Vector3] 是一种方便存储 3 个浮点数的数据结构。因此,对旋转“向"
"量”应用仿射操作是没有意义的。"
+msgid "World3D space (global) [Transform3D] of this node."
+msgstr "该节点在 World3D 空间的(全局)[Transform3D]。"
+
msgid ""
"If [code]true[/code], this node is drawn. The node is only visible if all of "
"its antecedents are visible as well (in other words, [method "
@@ -18014,7 +34484,29 @@ msgstr ""
"动加载项)。"
msgid "Returns [code]true[/code] if the node path is empty."
-msgstr "节点路径为空时返回 [code]true[/code]。"
+msgstr "如果节点路径为空,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if two node paths are not equal."
+msgstr "如果两个节点路径不相等,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if two node paths are equal, i.e. all node names "
+"in the path are the same and in the same order."
+msgstr ""
+"如果两个节点路径相等,即路径中的所有节点名称都相同且顺序一致,则返回 "
+"[code]true[/code]。"
+
+msgid "Abstract base class for noise generators."
+msgstr "噪声生成器的抽象基类。"
+
+msgid "Returns the 1D noise value at the given (x) coordinate."
+msgstr "返回给定 (x) 坐标处的 1D 噪声值。"
+
+msgid "Returns the 2D noise value at the given position."
+msgstr "返回给定位置处的 2D 噪声值。"
+
+msgid "Returns the 3D noise value at the given position."
+msgstr "返回给定位置处的 3D 噪声值。"
msgid ""
"If [code]true[/code], the resulting texture contains a normal map created "
@@ -18036,9 +34528,18 @@ msgstr "生成的纹理的高度。"
msgid "Width of the generated texture."
msgstr "生成的纹理的宽度。"
+msgid "Base class for all other classes in the engine."
+msgstr "引擎中所有其他类的基类。"
+
+msgid "Object class introduction"
+msgstr "Object 类介绍"
+
msgid "When and how to avoid using nodes for everything"
msgstr "何时以及如何避免为任何事情使用节点"
+msgid "Object notifications"
+msgstr "对象通知"
+
msgid ""
"Returns [code]true[/code] if the [method Node.queue_free] method was called "
"for the object."
@@ -18087,21 +34588,69 @@ msgid ""
"cull_mode]."
msgstr "按逆时针方向进行剔除。见 [member cull_mode]。"
+msgid "A sequence of Ogg packets."
+msgstr "Ogg 数据包序列。"
+
+msgid "The length of this stream, in seconds."
+msgstr "该流的长度,以秒为单位。"
+
msgid "Omnidirectional light, such as a light bulb or a candle."
msgstr "全向光,如灯泡或蜡烛。"
msgid ""
-"The light's attenuation (drop-off) curve. A number of presets are available "
-"in the [b]Inspector[/b] by right-clicking the curve."
-msgstr ""
-"光的衰减(下降)曲线。在[b]检查器[/b]中,通过右键点击曲线,可以获得许多预设。"
-
-msgid ""
"Shadows are rendered to a dual-paraboloid texture. Faster than [constant "
"SHADOW_CUBE], but lower-quality."
msgstr ""
"阴影被渲染到一个双抛物面纹理。比 [constant SHADOW_CUBE] 更快,但质量较差。"
+msgid "An OpenXR action."
+msgstr "OpenXR 动作。"
+
+msgid "The type of action."
+msgstr "动作的类型。"
+
+msgid "Add an action set."
+msgstr "添加动作集。"
+
+msgid "Add an interaction profile."
+msgstr "添加交互配置。"
+
+msgid "Retrieve the action set at this index."
+msgstr "获取位于该索引的动作集。"
+
+msgid "Retrieve the number of actions sets in our action map."
+msgstr "获取动作映射中动作集的数量。"
+
+msgid "Get the interaction profile at this index."
+msgstr "获取位于该索引的交互配置。"
+
+msgid "Retrieve the number of interaction profiles in our action map."
+msgstr "获取动作映射中交互配置的数量。"
+
+msgid "Remove an action set."
+msgstr "移除动作集。"
+
+msgid "Remove an interaction profile."
+msgstr "移除交互配置。"
+
+msgid "Add an action to this action set."
+msgstr "向该动作集中添加某个动作。"
+
+msgid "Retrieve the number of actions in our action set."
+msgstr "获取该动作集中动作的数量。"
+
+msgid "Remove an action from this action set."
+msgstr "从该动作集中移除某个动作。"
+
+msgid "Collection of actions for this action set."
+msgstr "该动作集中动作的合集。"
+
+msgid "The localized name of this action set."
+msgstr "该动作集的本地化名称。"
+
+msgid "The priority for this action set."
+msgstr "该动作集的优先级。"
+
msgid "Optimized translation."
msgstr "优化的翻译。"
@@ -18165,7 +34714,7 @@ msgid ""
msgstr "当用户更改当前项时触发。所选项目的索引作为参数传递。"
msgid "Default text [Color] of the [OptionButton]."
-msgstr "[OptionButton] 的默认文本 [Color]。"
+msgstr "该 [OptionButton] 的默认文本 [Color]。"
msgid "Text [Color] used when the [OptionButton] is disabled."
msgstr "当 [OptionButton] 被禁用时使用的文本 [Color]。"
@@ -18189,11 +34738,76 @@ msgid ""
msgstr "箭头图标和按钮的右边缘之间的水平空间。"
msgid "[Font] of the [OptionButton]'s text."
-msgstr "[OptionButton] 的文本的 [Font]。"
+msgstr "该 [OptionButton] 文本的 [Font]。"
+
+msgid "Font size of the [OptionButton]'s text."
+msgstr "该 [OptionButton] 文本的字体大小。"
msgid "The arrow icon to be drawn on the right end of the button."
msgstr "要绘制在按钮右侧的箭头图标。"
+msgid ""
+"[StyleBox] used when the [OptionButton] is disabled (for left-to-right "
+"layouts)."
+msgstr ""
+"该 [OptionButton] 处于禁用状态时使用的 [StyleBox](用于从左至右布局)。"
+
+msgid ""
+"[StyleBox] used when the [OptionButton] is disabled (for right-to-left "
+"layouts)."
+msgstr ""
+"该 [OptionButton] 处于禁用状态时使用的 [StyleBox](用于从右至左布局)。"
+
+msgid ""
+"[StyleBox] used when the [OptionButton] is focused. The [code]focus[/code] "
+"[StyleBox] is displayed [i]over[/i] the base [StyleBox], so a partially "
+"transparent [StyleBox] should be used to ensure the base [StyleBox] remains "
+"visible. A [StyleBox] that represents an outline or an underline works well "
+"for this purpose. To disable the focus visual effect, assign a "
+"[StyleBoxEmpty] resource. Note that disabling the focus visual effect will "
+"harm keyboard/controller navigation usability, so this is not recommended "
+"for accessibility reasons."
+msgstr ""
+"该 [OptionButton] 处于聚焦状态时使用的 [StyleBox]。[code]focus[/code] "
+"[StyleBox] 显示在基础 [StyleBox] [i]之上[/i],所以应该使用部分透明的 "
+"[StyleBox],确保基础 [StyleBox] 仍然可见。代表轮廓或下划线的 [StyleBox] 可以"
+"很好地实现这个目的。要禁用聚焦的视觉效果,请指定 [StyleBoxEmpty] 资源。请注"
+"意,禁用聚焦的视觉效果会影响使用键盘/手柄进行导航的可用性,所以出于可访问性的"
+"原因,不建议这样做。"
+
+msgid ""
+"[StyleBox] used when the [OptionButton] is being hovered (for left-to-right "
+"layouts)."
+msgstr ""
+"该 [OptionButton] 处于悬停状态时使用的 [StyleBox](用于从左至右布局)。"
+
+msgid ""
+"[StyleBox] used when the [OptionButton] is being hovered (for right-to-left "
+"layouts)."
+msgstr ""
+"该 [OptionButton] 处于悬停状态时使用的 [StyleBox](用于从右至左布局)。"
+
+msgid "Default [StyleBox] for the [OptionButton] (for left-to-right layouts)."
+msgstr "该 [OptionButton] 的默认 [StyleBox](用于从左至右布局)。"
+
+msgid "Default [StyleBox] for the [OptionButton] (for right-to-left layouts)."
+msgstr "该 [OptionButton] 的默认 [StyleBox](用于从右至左布局)。"
+
+msgid ""
+"[StyleBox] used when the [OptionButton] is being pressed (for left-to-right "
+"layouts)."
+msgstr ""
+"该 [OptionButton] 处于按下状态时使用的 [StyleBox](用于从左至右布局)。"
+
+msgid ""
+"[StyleBox] used when the [OptionButton] is being pressed (for right-to-left "
+"layouts)."
+msgstr ""
+"该 [OptionButton] 处于按下状态时使用的 [StyleBox](用于从右至左布局)。"
+
+msgid "Standard Material 3D and ORM Material 3D"
+msgstr "标准 3D 材质与 ORM 3D 材质"
+
msgid "Operating System functions."
msgstr "操作系统功能。"
@@ -18388,6 +35002,9 @@ msgstr "图片目录路径。"
msgid "Ringtones directory path."
msgstr "铃声目录路径。"
+msgid "A packed array of bytes."
+msgstr "字节紧缩数组。"
+
msgid "Constructs an empty [PackedByteArray]."
msgstr "构造空的 [PackedByteArray]。"
@@ -18396,6 +35013,244 @@ msgid ""
msgstr "构造给定 [PackedByteArray] 的副本。"
msgid ""
+"Constructs a new [PackedByteArray]. Optionally, you can pass in a generic "
+"[Array] that will be converted."
+msgstr "构造新 [PackedByteArray]。你还可以传入通用 [Array] 进行转换。"
+
+msgid "Appends a [PackedByteArray] at the end of this array."
+msgstr "在该数组的末尾追加一个 [PackedByteArray]。"
+
+msgid ""
+"Returns a new [PackedByteArray] with the data compressed. Set the "
+"compression mode using one of [enum FileAccess.CompressionMode]'s constants."
+msgstr ""
+"返回新的 [PackedByteArray],其中的数据已压缩。请将压缩模式设置为 [enum "
+"FileAccess.CompressionMode] 常量。"
+
+msgid ""
+"Decodes a 64-bit floating point number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0.0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 64 位浮点数,起始位置字节偏移量为 [param byte_offset]。字节"
+"数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a 32-bit floating point number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0.0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 32 位浮点数,起始位置字节偏移量为 [param byte_offset]。字节"
+"数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a 16-bit floating point number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0.0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 16 位浮点数,起始位置字节偏移量为 [param byte_offset]。字节"
+"数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a 16-bit signed integer number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 16 位有符号整数,起始位置字节偏移量为 [param byte_offset]。"
+"字节数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a 32-bit signed integer number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 32 位有符号整数,起始位置字节偏移量为 [param byte_offset]。"
+"字节数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a 64-bit signed integer number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 64 位有符号整数,起始位置字节偏移量为 [param byte_offset]。"
+"字节数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a 8-bit signed integer number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 8 位有符号整数,起始位置字节偏移量为 [param byte_offset]。字"
+"节数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a 16-bit unsigned integer number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 16 位无符号整数,起始位置字节偏移量为 [param byte_offset]。"
+"字节数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a 32-bit unsigned integer number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 32 位无符号整数,起始位置字节偏移量为 [param byte_offset]。"
+"字节数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a 64-bit unsigned integer number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 64 位无符号整数,起始位置字节偏移量为 [param byte_offset]。"
+"字节数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a 8-bit unsigned integer number from the bytes starting at [param "
+"byte_offset]. Fails if the byte count is insufficient. Returns [code]0[/"
+"code] if a valid number can't be decoded."
+msgstr ""
+"将字节序列解码为 8 位无符号整数,起始位置字节偏移量为 [param byte_offset]。字"
+"节数不足时会失败。如果无法解码有效的数字,则返回 [code]0.0[/code]。"
+
+msgid ""
+"Decodes a [Variant] from the bytes starting at [param byte_offset]. Returns "
+"[code]null[/code] if a valid variant can't be decoded or the value is "
+"[Object]-derived and [param allow_objects] is [code]false[/code]."
+msgstr ""
+"将字节序列解码为 [Variant],起始位置字节偏移量为 [param byte_offset]。如果无"
+"法解码有效的变体,或者其值派生自 [Object] 而 [param allow_objects] 为 "
+"[code]false[/code],则返回 [code]null[/code]。"
+
+msgid ""
+"Decodes a size of a [Variant] from the bytes starting at [param "
+"byte_offset]. Requires at least 4 bytes of data starting at the offset, "
+"otherwise fails."
+msgstr ""
+"将字节序列解码为 [Variant] 的大小,起始位置字节偏移量为 [param byte_offset]。"
+"要求起始位置后至少有 4 个字节的数据,否则返回 [code]null[/code]。"
+
+msgid ""
+"Returns a new [PackedByteArray] with the data decompressed. Set [param "
+"buffer_size] to the size of the uncompressed data. Set the compression mode "
+"using one of [enum FileAccess.CompressionMode]'s constants."
+msgstr ""
+"返回新的 [PackedByteArray],其中的数据已解压。请将 [param buffer_size] 设置为"
+"数据解压后的大小。请将压缩模式设置为 [enum FileAccess.CompressionMode] 常量。"
+
+msgid ""
+"Returns a new [PackedByteArray] with the data decompressed. Set the "
+"compression mode using one of [enum FileAccess.CompressionMode]'s constants. "
+"[b]This method only accepts gzip and deflate compression modes.[/b]\n"
+"This method is potentially slower than [code]decompress[/code], as it may "
+"have to re-allocate its output buffer multiple times while decompressing, "
+"whereas [code]decompress[/code] knows it's output buffer size from the "
+"beginning.\n"
+"GZIP has a maximal compression ratio of 1032:1, meaning it's very possible "
+"for a small compressed payload to decompress to a potentially very large "
+"output. To guard against this, you may provide a maximum size this function "
+"is allowed to allocate in bytes via [param max_output_size]. Passing -1 will "
+"allow for unbounded output. If any positive value is passed, and the "
+"decompression exceeds that amount in bytes, then an error will be returned."
+msgstr ""
+"返回新的 [PackedByteArray],其中的数据已解压。请将压缩模式设置为 [enum "
+"FileAccess.CompressionMode] 常量。[b]这个方法只接受 gzip 和 deflate 压缩模"
+"式。[/b]\n"
+"这个方法可能比 [code]decompress[/code] 慢,因为在解压时可能需要多次重新分配输"
+"出缓冲区,而 [code]decompress[/code] 则在一开始就知道输出缓冲区的大小。\n"
+"GZIP 的最大压缩率为 1032:1,这意味着较小的压缩后负载很有可能解压出非常巨大的"
+"输出。为了防止这种情况,你可以通过 [param max_output_size] 提供允许这个函数分"
+"配的最大字节数。传入 -1 则不限制输出。传入正数且解压超过该字节数时,会返回错"
+"误。"
+
+msgid "Creates a copy of the array, and returns it."
+msgstr "创建该数组的副本,并将该副本返回。"
+
+msgid ""
+"Encodes a 64-bit floating point number as bytes at the index of [param "
+"byte_offset] bytes. The array must have at least 8 bytes of allocated space, "
+"starting at the offset."
+msgstr ""
+"将 64 位浮点数编码为字节序列,起始位置字节偏移量为 [param byte_offset]。从偏"
+"移量位置开始,该数组必须还分配有至少 8 个字节的空间。"
+
+msgid ""
+"Encodes a 32-bit floating point number as bytes at the index of [param "
+"byte_offset] bytes. The array must have at least 4 bytes of space, starting "
+"at the offset."
+msgstr ""
+"将 32 位浮点数编码为字节序列,起始位置字节偏移量为 [param byte_offset]。从偏"
+"移量位置开始,该数组必须还分配有至少 4 个字节的空间。"
+
+msgid ""
+"Encodes a 16-bit floating point number as bytes at the index of [param "
+"byte_offset] bytes. The array must have at least 2 bytes of space, starting "
+"at the offset."
+msgstr ""
+"将 16 位浮点数编码为字节序列,起始位置字节偏移量为 [param byte_offset]。从偏"
+"移量位置开始,该数组必须还分配有至少 2 个字节的空间。"
+
+msgid ""
+"Encodes a 16-bit signed integer number as bytes at the index of [param "
+"byte_offset] bytes. The array must have at least 2 bytes of space, starting "
+"at the offset."
+msgstr ""
+"将 16 位有符号整数编码为字节序列,起始位置字节偏移量为 [param byte_offset]。"
+"从偏移量位置开始,该数组必须还分配有至少 2 个字节的空间。"
+
+msgid ""
+"Encodes a 8-bit signed integer number (signed byte) at the index of [param "
+"byte_offset] bytes. The array must have at least 1 byte of space, starting "
+"at the offset."
+msgstr ""
+"将 8 位有符号整数编码为字节序列,起始位置字节偏移量为 [param byte_offset]。从"
+"偏移量位置开始,该数组必须还分配有至少 1 个字节的空间。"
+
+msgid ""
+"Encodes a 16-bit unsigned integer number as bytes at the index of [param "
+"byte_offset] bytes. The array must have at least 2 bytes of space, starting "
+"at the offset."
+msgstr ""
+"将 16 位无符号整数编码为字节序列,起始位置字节偏移量为 [param byte_offset]。"
+"从偏移量位置开始,该数组必须还分配有至少 2 个字节的空间。"
+
+msgid ""
+"Encodes a 32-bit unsigned integer number as bytes at the index of [param "
+"byte_offset] bytes. The array must have at least 4 bytes of space, starting "
+"at the offset."
+msgstr ""
+"将 32 位无符号整数编码为字节序列,起始位置字节偏移量为 [param byte_offset]。"
+"从偏移量位置开始,该数组必须还分配有至少 4 个字节的空间。"
+
+msgid ""
+"Encodes a 64-bit unsigned integer number as bytes at the index of [param "
+"byte_offset] bytes. The array must have at least 8 bytes of space, starting "
+"at the offset."
+msgstr ""
+"将 64 位无符号整数编码为字节序列,起始位置字节偏移量为 [param byte_offset]。"
+"从偏移量位置开始,该数组必须还分配有至少 8 个字节的空间。"
+
+msgid ""
+"Encodes a 8-bit unsigned integer number (byte) at the index of [param "
+"byte_offset] bytes. The array must have at least 1 byte of space, starting "
+"at the offset."
+msgstr ""
+"将 8 位无符号整数编码为字节序列,起始位置字节偏移量为 [param byte_offset]。从"
+"偏移量位置开始,该数组必须还分配有至少 1 个字节的空间。"
+
+msgid ""
+"Encodes a [Variant] at the index of [param byte_offset] bytes. A sufficient "
+"space must be allocated, depending on the encoded variant's size. If [param "
+"allow_objects] is [code]false[/code], [Object]-derived values are not "
+"permitted and will instead be serialized as ID-only."
+msgstr ""
+"将 [Variant] 编码为字节序列,起始位置字节偏移量为 [param byte_offset]。必须分"
+"配有足够的空间,空间大小取决于编码后变体的大小。如果 [param allow_objects] "
+"为 [code]false[/code],则不允许派生自 [Object] 的值,只会将其 ID 进行序列化。"
+
+msgid ""
"Assigns the given value to all elements in the array. This can typically be "
"used together with [method resize] to create an array with a given size and "
"initialized elements."
@@ -18404,6 +35259,81 @@ msgstr ""
"小的数组并初始化元素。"
msgid ""
+"Converts ASCII/Latin-1 encoded array to [String]. Fast alternative to "
+"[method get_string_from_utf8] if the content is ASCII/Latin-1 only. Unlike "
+"the UTF-8 function this function maps every byte to a character in the "
+"array. Multibyte sequences will not be interpreted correctly. For parsing "
+"user input always use [method get_string_from_utf8]."
+msgstr ""
+"将 ASCII/Latin-1 编码的数组转换为 [String]。如果内容仅为 ASCII/Latin-1,则是"
+"比 [method get_string_from_utf8] 更快的选择。与 UTF-8 函数不同,这个函数会将"
+"数组中的每个字节都映射到一个字符。多字节序列无法正确解析。要解析用户的输入内"
+"容,请始终使用 [method get_string_from_utf8]。"
+
+msgid ""
+"Converts UTF-16 encoded array to [String]. If the BOM is missing, system "
+"endianness is assumed. Returns empty string if source array is not valid "
+"UTF-16 string."
+msgstr ""
+"将 UTF-16 编码的数组转换为 [String]。如果缺少 BOM,则假定为系统字节序。如果源"
+"数组不是有效的 UTF-16 字符串,则返回空字符串。"
+
+msgid ""
+"Converts UTF-32 encoded array to [String]. System endianness is assumed. "
+"Returns empty string if source array is not valid UTF-32 string."
+msgstr ""
+"将 UTF-32 编码的数组转换为 [String]。假定为系统字节序。如果源数组不是有效的 "
+"UTF-32 字符串,则返回空字符串。"
+
+msgid ""
+"Converts UTF-8 encoded array to [String]. Slower than [method "
+"get_string_from_ascii] but supports UTF-8 encoded data. Use this function if "
+"you are unsure about the source of the data. For user input this function "
+"should always be preferred. Returns empty string if source array is not "
+"valid UTF-8 string."
+msgstr ""
+"将 UTF-8 编码的数组转换为 [String]。比 [method get_string_from_ascii] 慢,但"
+"支持 UTF-8 编码的数据。不确定数据来源时请使用此函数。对于用户的输入内容,应始"
+"终首选此函数。如果源数组不是有效的 UTF-8 字符串,则返回空字符串。"
+
+msgid "Returns [code]true[/code] if the array contains [param value]."
+msgstr "如果该数组包含 [param value],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if a valid [Variant] value can be decoded at the "
+"[param byte_offset]. Returns [code]false[/code] othewrise or when the value "
+"is [Object]-derived and [param allow_objects] is [code]false[/code]."
+msgstr ""
+"如果可以从字节偏移量 [param byte_offset] 处解码出有效的 [Variant],则返回 "
+"[code]true[/code]。其他情况,或者当该值派生自 [Object] 而 [param "
+"allow_objects] 为 [code]false[/code] 时,则返回 [code]false[/code]。"
+
+msgid ""
+"Returns a hexadecimal representation of this array as a [String].\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var array = PackedByteArray([11, 46, 255])\n"
+"print(array.hex_encode()) # Prints: 0b2eff\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var array = new byte[] {11, 46, 255};\n"
+"GD.Print(array.HexEncode()); // Prints: 0b2eff\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回该数组的十六进制表示,类型为 [String]。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var array = PackedByteArray([11, 46, 255])\n"
+"print(array.hex_encode()) # 输出:0b2eff\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var array = new byte[] {11, 46, 255};\n"
+"GD.Print(array.HexEncode()); // 输出:0b2eff\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Inserts a new element at a given position in the array. The position must be "
"valid, or at the end of the array ([code]idx == size()[/code])."
msgstr ""
@@ -18430,6 +35360,12 @@ msgstr "改变给定索引处的字节。"
msgid "Sorts the elements of the array in ascending order."
msgstr "将该数组中的元素按升序排列。"
+msgid "Returns [code]true[/code] if contents of the arrays differ."
+msgstr "如果数组内容不同,则返回 [code]true[/code]。"
+
+msgid "A packed array of [Color]s."
+msgstr "[Color] 紧缩数组。"
+
msgid "Constructs an empty [PackedColorArray]."
msgstr "构造空的 [PackedColorArray]。"
@@ -18437,12 +35373,26 @@ msgid ""
"Constructs a [PackedColorArray] as a copy of the given [PackedColorArray]."
msgstr "构造给定 [PackedColorArray] 的副本。"
+msgid ""
+"Constructs a new [PackedColorArray]. Optionally, you can pass in a generic "
+"[Array] that will be converted."
+msgstr "构造新 [PackedColorArray]。你还可以传入通用 [Array] 进行转换。"
+
+msgid "Appends a [PackedColorArray] at the end of this array."
+msgstr "在该数组的末尾追加一个 [PackedColorArray]。"
+
msgid "Appends a value to the array."
msgstr "将一个值添加到数组中。"
msgid "Changes the [Color] at the given index."
msgstr "更改给定索引处的 [Color]。"
+msgid "Reference-counted version of [PackedDataContainer]."
+msgstr "[PackedDataContainer] 的引用计数版本。"
+
+msgid "A packed array of 32-bit floating-point values."
+msgstr "32 位浮点数紧缩数组。"
+
msgid "Constructs an empty [PackedFloat32Array]."
msgstr "构造空的 [PackedFloat32Array]。"
@@ -18451,9 +35401,20 @@ msgid ""
"[PackedFloat32Array]."
msgstr "构造给定 [PackedFloat32Array] 的副本。"
+msgid ""
+"Constructs a new [PackedFloat32Array]. Optionally, you can pass in a generic "
+"[Array] that will be converted."
+msgstr "构造新 [PackedFloat32Array]。你还可以传入通用 [Array] 进行转换。"
+
+msgid "Appends a [PackedFloat32Array] at the end of this array."
+msgstr "在该数组的末尾追加一个 [PackedFloat32Array]。"
+
msgid "Changes the float at the given index."
msgstr "更改给定索引处的浮点数。"
+msgid "A packed array of 64-bit floating-point values."
+msgstr "64 位浮点数紧缩数组。"
+
msgid "Constructs an empty [PackedFloat64Array]."
msgstr "构造空的 [PackedFloat64Array]。"
@@ -18462,6 +35423,17 @@ msgid ""
"[PackedFloat64Array]."
msgstr "构造给定 [PackedFloat64Array] 的副本。"
+msgid ""
+"Constructs a new [PackedFloat64Array]. Optionally, you can pass in a generic "
+"[Array] that will be converted."
+msgstr "构造新 [PackedFloat64Array]。你还可以传入通用 [Array] 进行转换。"
+
+msgid "Appends a [PackedFloat64Array] at the end of this array."
+msgstr "在该数组的末尾追加一个 [PackedFloat64Array]。"
+
+msgid "A packed array of 32-bit integers."
+msgstr "32 位整数紧缩数组。"
+
msgid "Constructs an empty [PackedInt32Array]."
msgstr "构造空的 [PackedInt32Array]。"
@@ -18469,6 +35441,17 @@ msgid ""
"Constructs a [PackedInt32Array] as a copy of the given [PackedInt32Array]."
msgstr "构造给定 [PackedInt32Array] 的副本。"
+msgid ""
+"Constructs a new [PackedInt32Array]. Optionally, you can pass in a generic "
+"[Array] that will be converted."
+msgstr "构造新 [PackedInt32Array]。你还可以传入通用 [Array] 进行转换。"
+
+msgid "Appends a [PackedInt32Array] at the end of this array."
+msgstr "在该数组的末尾追加一个 [PackedInt32Array]。"
+
+msgid "A packed array of 64-bit integers."
+msgstr "64 位整数紧缩数组。"
+
msgid "Constructs an empty [PackedInt64Array]."
msgstr "构造空的 [PackedInt64Array]。"
@@ -18476,6 +35459,14 @@ msgid ""
"Constructs a [PackedInt64Array] as a copy of the given [PackedInt64Array]."
msgstr "构造给定 [PackedInt64Array] 的副本。"
+msgid ""
+"Constructs a new [PackedInt64Array]. Optionally, you can pass in a generic "
+"[Array] that will be converted."
+msgstr "构造新 [PackedInt64Array]。你还可以传入通用 [Array] 进行转换。"
+
+msgid "Appends a [PackedInt64Array] at the end of this array."
+msgstr "在该数组的末尾追加一个 [PackedInt64Array]。"
+
msgid "An abstraction of a serialized scene."
msgstr "对序列化场景的抽象。"
@@ -18513,6 +35504,9 @@ msgstr ""
"化的情况。\n"
"[b]注意:[/b]仅在编辑器构建中可用。"
+msgid "A packed array of [String]s."
+msgstr "[String] 紧缩数组。"
+
msgid "Constructs an empty [PackedStringArray]."
msgstr "构造空的 [PackedStringArray]。"
@@ -18520,14 +35514,25 @@ msgid ""
"Constructs a [PackedStringArray] as a copy of the given [PackedStringArray]."
msgstr "构造给定 [PackedStringArray] 的副本。"
+msgid ""
+"Constructs a new [PackedStringArray]. Optionally, you can pass in a generic "
+"[Array] that will be converted."
+msgstr "构造新 [PackedStringArray]。你还可以传入通用 [Array] 进行转换。"
+
+msgid "Appends a [PackedStringArray] at the end of this array."
+msgstr "在该数组的末尾追加一个 [PackedStringArray]。"
+
msgid "Appends a string element at end of the array."
msgstr "在数组的末尾追加字符串元素。"
msgid "Changes the [String] at the given index."
msgstr "更改给定索引处的 [String]。"
+msgid "A packed array of [Vector2]s."
+msgstr "[Vector2] 紧缩数组。"
+
msgid "2D Navigation Astar Demo"
-msgstr "2D A 星导航演示"
+msgstr "2D 导航 Astar 演示"
msgid "Constructs an empty [PackedVector2Array]."
msgstr "构造空的 [PackedVector2Array]。"
@@ -18537,12 +35542,23 @@ msgid ""
"[PackedVector2Array]."
msgstr "构造给定 [PackedVector2Array] 的副本。"
+msgid ""
+"Constructs a new [PackedVector2Array]. Optionally, you can pass in a generic "
+"[Array] that will be converted."
+msgstr "构造新 [PackedVector2Array]。你还可以传入通用 [Array] 进行转换。"
+
+msgid "Appends a [PackedVector2Array] at the end of this array."
+msgstr "在该数组的末尾追加一个 [PackedVector2Array]。"
+
msgid "Inserts a [Vector2] at the end."
msgstr "在末尾插入一个 [Vector2]。"
msgid "Changes the [Vector2] at the given index."
msgstr "更改给定索引处的 [Vector2]。"
+msgid "A packed array of [Vector3]s."
+msgstr "[Vector3] 紧缩数组。"
+
msgid "Constructs an empty [PackedVector3Array]."
msgstr "构造空的 [PackedVector3Array]。"
@@ -18551,6 +35567,14 @@ msgid ""
"[PackedVector3Array]."
msgstr "构造给定 [PackedVector3Array] 的副本。"
+msgid ""
+"Constructs a new [PackedVector3Array]. Optionally, you can pass in a generic "
+"[Array] that will be converted."
+msgstr "构造新 [PackedVector3Array]。你还可以传入通用 [Array] 进行转换。"
+
+msgid "Appends a [PackedVector3Array] at the end of this array."
+msgstr "在该数组的末尾追加一个 [PackedVector3Array]。"
+
msgid "Inserts a [Vector3] at the end."
msgstr "在末尾插入一个 [Vector3]。"
@@ -18789,6 +35813,12 @@ msgid ""
"it will not scroll."
msgstr "复制视差图层的运动。如果一个轴被设置为 [code]0[/code],它将不会滚动。"
+msgid "Sets the maximum value range for the given parameter."
+msgstr "设置给定参数的最大值范围。"
+
+msgid "Sets the minimum value range for the given parameter."
+msgstr "设置给定参数的最小值范围。"
+
msgid "Each particle's rotation will be animated along this [CurveTexture]."
msgstr "每个粒子的旋转将沿着这个 [CurveTexture] 动画。"
@@ -18798,6 +35828,9 @@ msgstr "每个粒子的动画偏移将沿着这个 [CurveTexture] 变化。"
msgid "Each particle's animation speed will vary along this [CurveTexture]."
msgstr "每个粒子的动画速度将沿着这个 [CurveTexture] 变化。"
+msgid "Should collision take scale into account."
+msgstr "碰撞是否应该考虑缩放。"
+
msgid "Damping will vary along this [CurveTexture]."
msgstr "阻尼将沿着这个 [CurveTexture] 变化。"
@@ -18876,6 +35909,90 @@ msgid ""
msgstr "每个粒子的切向加速度将沿着这个 [CurveTexture] 变化。"
msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set initial velocity properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置初始速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set angular velocity properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置角速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set orbital velocity properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置轨道速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set linear acceleration properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置线速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set radial acceleration properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置径向加速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set tangential acceleration properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置切向加速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set damping properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置阻尼属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set angle properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置角度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set scale properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置缩放属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set hue variation properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置色相变化属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set animation speed properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置动画速度属性。"
+
+msgid ""
+"Use with [method set_param_min], [method set_param_max], and [method "
+"set_param_texture] to set animation offset properties."
+msgstr ""
+"与 [method set_param_min]、[method set_param_max] 和 [method "
+"set_param_texture] 一起使用,设置动画偏移属性。"
+
+msgid ""
"Particles will be emitted at a position determined by sampling a random "
"point on the [member emission_point_texture]. Particle color will be "
"modulated by [member emission_color_texture]."
@@ -18893,6 +36010,17 @@ msgstr ""
"度和旋转将基于 [member emission_normal_texture] 进行设置。粒子颜色将由 "
"[member emission_color_texture] 调节。"
+msgid "Represents the size of the [enum SubEmitterMode] enum."
+msgstr "代表 [enum SubEmitterMode] 枚举的大小。"
+
+msgid ""
+"No collision for particles. Particles will go through "
+"[GPUParticlesCollision3D] nodes."
+msgstr "粒子没有碰撞。粒子会穿过 [GPUParticlesCollision3D] 节点。"
+
+msgid "Represents the size of the [enum CollisionMode] enum."
+msgstr "代表 [enum CollisionMode] 枚举的大小。"
+
msgid "Contains a [Curve2D] path for [PathFollow2D] nodes to follow."
msgstr "包含一个 [Curve2D] 路径,供 [PathFollow2D] 节点遵循。"
@@ -18960,20 +36088,143 @@ msgstr ""
msgid "The node's offset perpendicular to the curve."
msgstr "节点垂直于曲线的偏移量。"
+msgid "Point sampler for a [Path3D]."
+msgstr "[Path3D] 的点采样器。"
+
msgid ""
"Allows or forbids rotation on one or more axes, depending on the [enum "
"RotationMode] constants being used."
msgstr ""
"允许或禁止在一个或多个轴上旋转,这取决于使用的 [enum RotationMode] 常量。"
+msgid "Forbids the PathFollow3D to rotate."
+msgstr "禁止该 PathFollow3D 旋转。"
+
+msgid "Allows the PathFollow3D to rotate in the Y axis only."
+msgstr "允许该 PathFollow3D 仅在 Y 轴上旋转。"
+
+msgid "Allows the PathFollow3D to rotate in both the X, and Y axes."
+msgstr "允许该 PathFollow3D 同时在 X 和 Y 轴上旋转。"
+
+msgid "Allows the PathFollow3D to rotate in any axis."
+msgstr "允许该 PathFollow3D 在任意轴上旋转。"
+
msgid "Creates packages that can be loaded into a running project."
msgstr "创建可以加载到正在运行的项目中的包。"
msgid "Exposes performance-related data."
msgstr "公开与性能相关的数据。"
+msgid ""
+"The number of frames rendered in the last second. This metric is only "
+"updated once per second, even if queried more often. [i]Higher is better.[/i]"
+msgstr ""
+"上一秒渲染的帧数。该指标每秒仅更新一次,与查询频率无关。[i]越高越好。[/i]"
+
+msgid "Time it took to complete one frame, in seconds. [i]Lower is better.[/i]"
+msgstr "完成一帧所需的时间,单位为秒。[i]越低越好。[/i]"
+
+msgid ""
+"Time it took to complete one physics frame, in seconds. [i]Lower is better.[/"
+"i]"
+msgstr "完成一个物理帧所需的时间,单位为秒。[i]越低越好。[/i]"
+
+msgid ""
+"Time it took to complete one navigation step, in seconds. This includes "
+"navigation map updates as well as agent avoidance calculations. [i]Lower is "
+"better.[/i]"
+msgstr ""
+"完成一个导航步骤的时间,单位为秒。包括导航地图的更新以及代理避障的计算。[i]越"
+"低越好。[/i]"
+
+msgid ""
+"Static memory currently used, in bytes. Not available in release builds. "
+"[i]Lower is better.[/i]"
+msgstr "当前使用的静态内存,单位为字节。在发布版本中不可用。[i]越低越好。[/i]"
+
+msgid ""
+"Available static memory. Not available in release builds. [i]Lower is better."
+"[/i]"
+msgstr "可用的静态内存。在发布版本中不可用。[i]越低越好。[/i]"
+
+msgid ""
+"Largest amount of memory the message queue buffer has used, in bytes. The "
+"message queue is used for deferred functions calls and notifications. "
+"[i]Lower is better.[/i]"
+msgstr ""
+"消息队列缓冲区已使用的最大内存量,单位为字节。消息队列用于延迟函数调用和通"
+"知。[i]越低越好。[/i]"
+
+msgid ""
+"Number of objects currently instantiated (including nodes). [i]Lower is "
+"better.[/i]"
+msgstr "当前实例化的对象数(包括节点)。[i]越低越好。[/i]"
+
+msgid "Number of resources currently used. [i]Lower is better.[/i]"
+msgstr "当前使用的资源数。[i]越低越好。[/i]"
+
+msgid ""
+"Number of nodes currently instantiated in the scene tree. This also includes "
+"the root node. [i]Lower is better.[/i]"
+msgstr "当前在场景树中实例化的节点数。也包括根节点。[i]越低越好。[/i]"
+
+msgid ""
+"Number of orphan nodes, i.e. nodes which are not parented to a node of the "
+"scene tree. [i]Lower is better.[/i]"
+msgstr "孤立节点的数量,即父节点不是场景树节点的节点。[i]越低越好。[/i]"
+
+msgid ""
+"The amount of video memory used (texture and vertex memory combined, in "
+"bytes). Since this metric also includes miscellaneous allocations, this "
+"value is always greater than the sum of [constant RENDER_TEXTURE_MEM_USED] "
+"and [constant RENDER_BUFFER_MEM_USED]. [i]Lower is better.[/i]"
+msgstr ""
+"显存的使用量(纹理和顶点内存之和,单位为字节)。由于该指标还包括其他杂项分"
+"配,因此该值始终大于 [constant RENDER_TEXTURE_MEM_USED] 和 [constant "
+"RENDER_BUFFER_MEM_USED] 的总和。[i]越低越好。[/i]"
+
+msgid "The amount of texture memory used (in bytes). [i]Lower is better.[/i]"
+msgstr "纹理内存的使用量(单位为字节)。[i]越低越好。[/i]"
+
+msgid ""
+"The amount of render buffer memory used (in bytes). [i]Lower is better.[/i]"
+msgstr "渲染缓冲区内存的使用量(单位为字节)。[i]越低越好。[/i]"
+
+msgid ""
+"Number of active [RigidBody2D] nodes in the game. [i]Lower is better.[/i]"
+msgstr "游戏中活跃的 [RigidBody2D] 节点数。[i]越低越好。[/i]"
+
+msgid ""
+"Number of collision pairs in the 2D physics engine. [i]Lower is better.[/i]"
+msgstr "2D 物理引擎中碰撞对的数量。[i]越低越好。[/i]"
+
+msgid "Number of islands in the 2D physics engine. [i]Lower is better.[/i]"
+msgstr "2D 物理引擎中孤岛的数量。[i]越低越好。[/i]"
+
+msgid ""
+"Number of active [RigidBody3D] and [VehicleBody3D] nodes in the game. "
+"[i]Lower is better.[/i]"
+msgstr ""
+"游戏中活跃的 [RigidBody3D] 和 [VehicleBody3D] 节点数。[i]越低越好。[/i]"
+
+msgid ""
+"Number of collision pairs in the 3D physics engine. [i]Lower is better.[/i]"
+msgstr "3D 物理引擎中碰撞对的数量。[i]越低越好。[/i]"
+
+msgid "Number of islands in the 3D physics engine. [i]Lower is better.[/i]"
+msgstr "3D 物理引擎中孤岛的数量。[i]越低越好。[/i]"
+
+msgid "Output latency of the [AudioServer]. [i]Lower is better.[/i]"
+msgstr "[AudioServer] 的输出延迟。[i]越低越好。[/i]"
+
+msgid "Number of navigation mesh polygons in the [NavigationServer3D]."
+msgstr "[NavigationServer3D] 中导航网格多边形的数量。"
+
+msgid "Number of navigation mesh polygon edges in the [NavigationServer3D]."
+msgstr "[NavigationServer3D] 中导航网格多边形边缘的数量。"
+
msgid "Represents the size of the [enum Monitor] enum."
-msgstr "表示 [enum Monitor] 枚举的大小。"
+msgstr "代表 [enum Monitor] 枚举的大小。"
msgid ""
"Called during physics processing, allowing you to read and safely modify the "
@@ -18986,6 +36237,9 @@ msgstr ""
"会和通常的物理行为一起生效,但是你可以通过 [member custom_integrator] 属性禁"
"用默认行为,为物体施加完全自定义的合力。"
+msgid "Sets the body's transform."
+msgstr "设置该物体的变换。"
+
msgid ""
"The body's bounciness. Values range from [code]0[/code] (no bounce) to "
"[code]1[/code] (full bounciness)."
@@ -19003,6 +36257,15 @@ msgstr ""
"了碰撞响应之外,物体将仅根据 [method _integrate_forces] 函数确定的方式移动"
"(如果已定义)。"
+msgid "Sets the joint's transform."
+msgstr "设置该关节的变换。"
+
+msgid "Sets the joint's rotation in radians."
+msgstr "设置该关节的旋转,单位为弧度。"
+
+msgid "Sets the joint type. See [enum JointType] for possible values."
+msgstr "设置关节的类型。可能的值见 [enum JointType]。"
+
msgid ""
"The body's linear velocity in units per second. Can be used sporadically, "
"but [b]don't set this every frame[/b], because physics may run in another "
@@ -19100,13 +36363,22 @@ msgid "Base class for all objects affected by physics in 3D space."
msgstr "在 3D 空间中受物理影响的所有对象的基类。"
msgid "Lock the body's rotation in the X axis."
-msgstr "锁定实体在 X 轴上的旋转。"
+msgstr "锁定物体在 X 轴上的旋转。"
msgid "Lock the body's rotation in the Y axis."
-msgstr "锁定实体在 Y 轴上的旋转。"
+msgstr "锁定物体在 Y 轴上的旋转。"
msgid "Lock the body's rotation in the Z axis."
-msgstr "锁定实体在 Z 轴上的旋转。"
+msgstr "锁定物体在 Z 轴上的旋转。"
+
+msgid "Lock the body's linear movement in the X axis."
+msgstr "锁定物体在 X 轴上的线性运动。"
+
+msgid "Lock the body's linear movement in the Y axis."
+msgstr "锁定物体在 Y 轴上的线性运动。"
+
+msgid "Lock the body's linear movement in the Z axis."
+msgstr "锁定物体在 Z 轴上的线性运动。"
msgid "Ray-casting"
msgstr "发射射线"
@@ -19236,10 +36508,159 @@ msgid ""
"If [code]true[/code], the query will take [PhysicsBody2D]s into account."
msgstr "如果为 [code]true[/code],查询将考虑 [PhysicsBody2D]。"
+msgid ""
+"If [code]true[/code], the query will detect a hit when starting inside "
+"shapes. In this case the collision normal will be [code]Vector2(0, 0)[/"
+"code]. Does not affect concave polygon shapes."
+msgstr ""
+"如果为 [code]true[/code],查询会在从形状内部开始时检测到命中。在此情况下,碰"
+"撞法线将为 [code]Vector2(0, 0)[/code]。不会影响凹多边形形状。"
+
+msgid ""
+"If [code]true[/code], the query will detect a hit when starting inside "
+"shapes. In this case the collision normal will be [code]Vector3(0, 0, 0)[/"
+"code]. Does not affect concave polygon shapes or heightmap shapes."
+msgstr ""
+"如果为 [code]true[/code],查询会在从形状内部开始时检测到命中。在此情况下,碰"
+"撞法线将为 [code]Vector3(0, 0, 0)[/code]。不会影响凹多边形形状和高度图形状。"
+
msgid "Server interface for low-level 2D physics access."
msgstr "用于底层 2D 物理访问服务的接口。"
msgid ""
+"This is the constant for creating circle shapes. A circle shape only has a "
+"radius. It can be used for intersections and inside/outside checks."
+msgstr ""
+"这是创建圆形的常量。一个圆的形状只有一个半径。它可以用于交点和内/外侧检查。"
+
+msgid ""
+"This is the constant for creating rectangle shapes. A rectangle shape is "
+"defined by a width and a height. It can be used for intersections and inside/"
+"outside checks."
+msgstr ""
+"这是用于创建矩形形状的常量。矩形形状是由宽度和高度定义的。它可以用于交点和内/"
+"外侧检查。"
+
+msgid ""
+"This is the constant for creating capsule shapes. A capsule shape is defined "
+"by a radius and a length. It can be used for intersections and inside/"
+"outside checks."
+msgstr ""
+"这是创建胶囊形状的常量。一个胶囊形状由一个半径和一个长度定义。它可以用于交点"
+"和内/外侧检查。"
+
+msgid ""
+"This is the constant for creating concave polygon shapes. A polygon is "
+"defined by a list of points. It can be used for intersections checks, but "
+"not for inside/outside checks."
+msgstr ""
+"这是创建凹形多边形的常量。一个多边形是由一个点的列表定义的。它可以用于交叉点"
+"检查,但不能用于内/外侧检查。"
+
+msgid ""
+"This constant is used internally by the engine. Any attempt to create this "
+"kind of shape results in an error."
+msgstr "引擎内部会使用这个常量。任何试图创建这种形状的行为都会导致错误。"
+
+msgid ""
+"This area does not affect gravity/damp. These are generally areas that exist "
+"only to detect collisions, and objects entering or exiting them."
+msgstr ""
+"这个区域不影响重力/阻尼。这些一般都是只存在于检测碰撞的区域,以及进入或离开它"
+"们的物体。"
+
+msgid ""
+"This area adds its gravity/damp values to whatever has been calculated so "
+"far. This way, many overlapping areas can combine their physics to make "
+"interesting effects."
+msgstr ""
+"此区域把它的重力/阻尼加到目前已经计算过的对象上。这样一来,许多重叠的区域可以"
+"结合它们的物理运算来产生有趣的效果。"
+
+msgid ""
+"This area adds its gravity/damp values to whatever has been calculated so "
+"far. Then stops taking into account the rest of the areas, even the default "
+"one."
+msgstr ""
+"这个区域把它的重力/阻尼加到迄今为止已经计算出来的任何东西上。然后停止考虑其余"
+"的区域,甚至默认的区域。"
+
+msgid ""
+"This area replaces any gravity/damp, even the default one, and stops taking "
+"into account the rest of the areas."
+msgstr "这个区域取代了任何重力/阻尼,甚至是默认的,并停止考虑其余的区域。"
+
+msgid ""
+"This area replaces any gravity/damp calculated so far, but keeps calculating "
+"the rest of the areas, down to the default one."
+msgstr ""
+"这个区域取代了到目前为止计算的任何重力/阻尼,但继续计算其余的区域,直到默认的"
+"区域。"
+
+msgid "Represents the size of the [enum BodyParameter] enum."
+msgstr "代表 [enum BodyParameter] 枚举的大小。"
+
+msgid "Constant to set/get the current transform matrix of the body."
+msgstr "常量,用于设置/获取物体的当前变换矩阵。"
+
+msgid "Constant to set/get the current linear velocity of the body."
+msgstr "常量,用于设置/获取物体的当前线速度。"
+
+msgid "Constant to set/get the current angular velocity of the body."
+msgstr "常量,用于设置/获取物体的当前角速度。"
+
+msgid "Constant to sleep/wake up a body, or to get whether it is sleeping."
+msgstr "常量,用于使物体沉睡/唤醒,或得到它是否在沉睡。"
+
+msgid "Constant to set/get whether the body can sleep."
+msgstr "常量,用于设置/获取物体是否可以休眠。"
+
+msgid "Constant to create pin joints."
+msgstr "常量,用于创造钉关节。"
+
+msgid "Constant to create groove joints."
+msgstr "常量,用于创造槽关节。"
+
+msgid "Constant to create damped spring joints."
+msgstr "常量,用于创造有阻尼的弹簧关节。"
+
+msgid "Represents the size of the [enum JointType] enum."
+msgstr "代表 [enum JointType] 枚举的大小。"
+
+msgid ""
+"Enables continuous collision detection by raycasting. It is faster than "
+"shapecasting, but less precise."
+msgstr "通过射线投射实现连续的碰撞检测。它比形状投射更快,但不够精确。"
+
+msgid ""
+"Enables continuous collision detection by shapecasting. It is the slowest "
+"CCD method, and the most precise."
+msgstr "通过形变实现连续的碰撞检测。它是最慢的 CCD 方法,也是最精确的。"
+
+msgid ""
+"The value of the first parameter and area callback function receives, when "
+"an object enters one of its shapes."
+msgstr "当对象进入其形状之一时,第一个参数和区域回调函数接收的值。"
+
+msgid ""
+"The value of the first parameter and area callback function receives, when "
+"an object exits one of its shapes."
+msgstr "当对象退出其形状之一时,第一个参数和区域回调函数接收的值。"
+
+msgid "Constant to get the number of objects that are not sleeping."
+msgstr "常量,用以获取未处于睡眠状态的对象的数量。"
+
+msgid "Constant to get the number of possible collisions."
+msgstr "常量,用以获取可能的碰撞数。"
+
+msgid ""
+"Constant to get the number of space regions where a collision could occur."
+msgstr "常量,用以获取可能发生碰撞的空间区域数。"
+
+msgid "Server interface for low-level physics access."
+msgstr "用于低级物理访问的服务器接口。"
+
+msgid ""
"Adds a shape to the area, along with a transform matrix. Shapes are usually "
"referenced by their index, so you should track which shape has a given index."
msgstr ""
@@ -19256,21 +36677,16 @@ msgid ""
"be reassigned later."
msgstr "从一个区域移除所有形状。它不会删除形状,因此它们可以稍后重新分配。"
-msgid ""
-"Creates an [Area2D]. After creating an [Area2D] with this method, assign it "
-"to a space using [method area_set_space] to use the created [Area2D] in the "
-"physics world."
-msgstr ""
-"创建一个 [Area2D]。用这个方法创建了一个[Area2D]后,使用[method "
-"area_set_space]将其分配给一个空间,以便在物理世界中使用创建的[Area2D]。"
+msgid "Creates an [Area3D]."
+msgstr "创建 [Area3D]。"
msgid "Gets the instance ID of the object the area is assigned to."
msgstr "获取区域分配给的对象的实例 ID。"
msgid ""
-"Returns an area parameter value. See [enum AreaParameter] for a list of "
-"available parameters."
-msgstr "返回区域参数值。有关可用参数的列表,请参阅 [enum AreaParameter]。"
+"Returns an area parameter value. A list of available parameters is on the "
+"[enum AreaParameter] constants."
+msgstr "返回区域参数值。可用参数列表位于 [enum AreaParameter] 常量上。"
msgid "Returns the [RID] of the nth shape of an area."
msgstr "返回区域的第 n 个形状的 [RID]。"
@@ -19319,9 +36735,12 @@ msgstr ""
"5:物体进入/离开区域的形状指数。"
msgid ""
-"Sets the value for an area parameter. See [enum AreaParameter] for a list of "
-"available parameters."
-msgstr "设置区域参数的值。有关可用参数的列表,请参阅 [enum AreaParameter]。"
+"Sets the value for an area parameter. A list of available parameters is on "
+"the [enum AreaParameter] constants."
+msgstr "设置面积参数的值。可用参数列表位于 [enum AreaParameter] 常量上。"
+
+msgid "Sets object pickable with rays."
+msgstr "设置可使用光线拾取的对象。"
msgid ""
"Substitutes a given area shape by another. The old shape is selected by its "
@@ -19329,9 +36748,6 @@ msgid ""
msgstr ""
"用另一种形状代替一种形状。旧的形状由它的索引选择,新的形状由它的[RID]选择。"
-msgid "Disables a given shape in an area."
-msgstr "在区域中禁用一个给定的形状。"
-
msgid "Sets the transform matrix for an area shape."
msgstr "设置区域形状的变换矩阵。"
@@ -19354,17 +36770,14 @@ msgstr ""
msgid "Removes all shapes from a body."
msgstr "从物体上移除所有碰撞形状。"
-msgid "Creates a physics body."
-msgstr "创建一个物理体。"
-
msgid "Returns the physics layer or layers a body belongs to."
msgstr "返回物体所属的物理层或层。"
msgid "Returns the physics layer or layers a body can collide with."
msgstr "返回物体可以碰撞的物理层或层。"
-msgid "Returns the continuous collision detection mode."
-msgstr "返回连续碰撞检测模式。"
+msgid "Returns the body's collision priority."
+msgstr "返回该物体的碰撞优先级。"
msgid ""
"Returns the maximum contacts that can be reported. See [method "
@@ -19375,9 +36788,9 @@ msgid "Returns the body mode."
msgstr "返回物体模式。"
msgid ""
-"Returns the value of a body parameter. See [enum BodyParameter] for a list "
-"of available parameters."
-msgstr "返回物体参数的值。请参阅 [enum BodyParameter] 获取可用参数列表。"
+"Returns the value of a body parameter. A list of available parameters is on "
+"the [enum BodyParameter] constants."
+msgstr "返回物体参数的值。可用参数列表位于 [enum BodyParameter] 常量上。"
msgid "Returns the [RID] of the nth shape of a body."
msgstr "返回物体的第 n 个碰撞形状的 [RID]。"
@@ -19395,14 +36808,23 @@ msgid "Returns a body state."
msgstr "返回物体的状态。"
msgid ""
+"If [code]true[/code], the continuous collision detection mode is enabled."
+msgstr "如果为 [code]true[/code],则启用连续碰撞检测模式。"
+
+msgid ""
"Returns whether a body uses a callback function to calculate its own physics "
"(see [method body_set_force_integration_callback])."
msgstr ""
"返回一个物体是否使用回调函数来计算它自己的物理值(见 [method "
"body_set_force_integration_callback])。"
-msgid "Removes a body from the list of bodies exempt from collisions."
-msgstr "从免于碰撞的物体列表中移除一个物体。"
+msgid ""
+"Removes a body from the list of bodies exempt from collisions.\n"
+"Continuous collision detection tries to predict where a moving body will "
+"collide, instead of moving it and correcting its movement if it collided."
+msgstr ""
+"从免于碰撞的实体列表中删除实体。\n"
+"连续碰撞检测尝试预测运动物体碰撞的位置,而不是在碰撞时移动物体并纠正其运动。"
msgid ""
"Removes a shape from a body. The shape is not deleted, so it can be reused "
@@ -19423,18 +36845,19 @@ msgstr "设置物体所属的物理层或层。"
msgid "Sets the physics layer or layers a body can collide with."
msgstr "设置物理层或身体可以碰撞的层。"
+msgid "Sets the body's collision priority."
+msgstr "设置该物体的碰撞优先级。"
+
msgid ""
-"Sets the continuous collision detection mode using one of the [enum CCDMode] "
-"constants.\n"
+"If [code]true[/code], the continuous collision detection mode is enabled.\n"
"Continuous collision detection tries to predict where a moving body will "
"collide, instead of moving it and correcting its movement if it collided."
msgstr ""
-"设置使用 [enum CCDMode] 常量之一的连续碰撞检测模式。\n"
-"连续碰撞检测试图预测一个运动体将在哪里发生碰撞,而不是移动它并在它发生碰撞时"
-"纠正其运动。"
+"如果为 [code]true[/code],则启用连续碰撞检测模式。\n"
+"连续碰撞检测尝试预测运动物体碰撞的位置,而不是在碰撞时移动物体并纠正其运动。"
-msgid "Sets the body mode using one of the [enum BodyMode] constants."
-msgstr "使用 [enum BodyMode] 常量之一设置 body 模式。"
+msgid "Sets the body mode, from one of the [enum BodyMode] constants."
+msgstr "从 [enum BodyMode] 常量之一设置主体模式。"
msgid ""
"Sets whether a body uses a callback function to calculate its own physics "
@@ -19444,9 +36867,9 @@ msgstr ""
"body_set_force_integration_callback])。"
msgid ""
-"Sets a body parameter. See [enum BodyParameter] for a list of available "
-"parameters."
-msgstr "设置主体参数。请参阅 [enum BodyParameter] 获取可用参数列表。"
+"Sets a body parameter. A list of available parameters is on the [enum "
+"BodyParameter] constants."
+msgstr "设置物体参数。可用参数列表位于 [enum BodyParameter] 常量上。"
msgid ""
"Substitutes a given body shape by another. The old shape is selected by its "
@@ -19461,357 +36884,6 @@ msgstr "设置物体形状的变换矩阵。"
msgid "Assigns a space to the body (see [method space_create])."
msgstr "给物体分配一个空间(见 [method space_create])。"
-msgid ""
-"Sets a body state using one of the [enum BodyState] constants.\n"
-"Note that the method doesn't take effect immediately. The state will change "
-"on the next physics frame."
-msgstr ""
-"使用 [enum BodyState] 常量之一设置物体状态。\n"
-"请注意,该方法不会立即生效。状态将在下一个物理帧发生变化。"
-
-msgid ""
-"Returns information about the current state of the 2D physics engine. See "
-"[enum ProcessInfo] for a list of available states."
-msgstr ""
-"返回关于 2D 物理引擎当前状态的信息。有关可用状态列表,请参阅 [enum "
-"ProcessInfo]。"
-
-msgid "Returns the value of a joint parameter."
-msgstr "返回关节参数的值。"
-
-msgid "Returns a joint's type (see [enum JointType])."
-msgstr "返回一个关节的类型(见 [enum JointType])。"
-
-msgid ""
-"Sets a joint parameter. See [enum JointParam] for a list of available "
-"parameters."
-msgstr "设置关节参数。有关可用参数的列表,请参阅 [enum JointParam]。"
-
-msgid "Activates or deactivates the 2D physics engine."
-msgstr "激活或停用2D物理引擎。"
-
-msgid "Returns the shape data."
-msgstr "返回形状数据。"
-
-msgid "Returns a shape's type (see [enum ShapeType])."
-msgstr "返回一个形状的类型(见 [enum ShapeType])。"
-
-msgid ""
-"Sets the shape data that defines its shape and size. The data to be passed "
-"depends on the kind of shape created [method shape_get_type]."
-msgstr ""
-"设置定义形状和大小的形状数据。要传递的数据取决于创建的形状的类型 [method "
-"shape_get_type]。"
-
-msgid ""
-"Creates a space. A space is a collection of parameters for the physics "
-"engine that can be assigned to an area or a body. It can be assigned to an "
-"area with [method area_set_space], or to a body with [method body_set_space]."
-msgstr ""
-"创建一个空间。空间是物理引擎的参数集合,可以分配给区域或主体。它可以通过 "
-"[method area_set_space] 分配给一个区域,或者通过 [method body_set_space] 分配"
-"给一个主体。"
-
-msgid "Returns the value of a space parameter."
-msgstr "返回空间参数的值。"
-
-msgid "Returns whether the space is active."
-msgstr "返回该空间是否是活动的。"
-
-msgid ""
-"Marks a space as active. It will not have an effect, unless it is assigned "
-"to an area or body."
-msgstr "将空间标记为活动空间。它不会有效果,除非它被分配到一个区域或物体。"
-
-msgid ""
-"Sets the value for a space parameter. See [enum SpaceParameter] for a list "
-"of available parameters."
-msgstr "设置空间参数的值。参阅 [enum SpaceParameter] 获取可用参数列表。"
-
-msgid ""
-"Constant to set/get the maximum distance a pair of bodies has to move before "
-"their collision status has to be recalculated."
-msgstr "常量,用于设置/获取一对物体在其碰撞状态被重新计算之前的最大移动距离。"
-
-msgid ""
-"Constant to set/get the maximum distance a shape can penetrate another shape "
-"before it is considered a collision."
-msgstr "常量,用来设置/得到一个形状在被认为碰撞之前穿透另一个形状的最大距离。"
-
-msgid ""
-"Constant to set/get the threshold linear velocity of activity. A body marked "
-"as potentially inactive for both linear and angular velocity will be put to "
-"sleep after the time given."
-msgstr ""
-"常量,用于设置/获取活跃的阈值线速度。一个被标记为线性速度和角速度都可能不活跃"
-"的物体将在给定的时间后进入睡眠状态。"
-
-msgid ""
-"Constant to set/get the threshold angular velocity of activity. A body "
-"marked as potentially inactive for both linear and angular velocity will be "
-"put to sleep after the time given."
-msgstr ""
-"常量,用于设置/获取活动的阈值角速度。一个被标记为线性和角速度都可能不活跃的物"
-"体,在给定的时间后将会进入睡眠状态。"
-
-msgid ""
-"Constant to set/get the maximum time of activity. A body marked as "
-"potentially inactive for both linear and angular velocity will be put to "
-"sleep after this time."
-msgstr ""
-"常量,用于设置/获得最大的活动时间。一个被标记为线速度和角速度都可能不活动的物"
-"体,在这个时间之后将被置入睡眠状态。"
-
-msgid ""
-"Constant to set/get the default solver bias for all physics constraints. A "
-"solver bias is a factor controlling how much two objects \"rebound\", after "
-"violating a constraint, to avoid leaving them in that state because of "
-"numerical imprecision."
-msgstr ""
-"常量,用于设置/获取所有物理约束的默认求解器偏置。解算器偏置是一个控制两个物体"
-"在违反约束后“反弹”程度的因素,以避免由于数值不精确而使它们处于这种状态。"
-
-msgid ""
-"This is the constant for creating circle shapes. A circle shape only has a "
-"radius. It can be used for intersections and inside/outside checks."
-msgstr ""
-"这是创建圆形的常量。一个圆的形状只有一个半径。它可以用于交点和内/外侧检查。"
-
-msgid ""
-"This is the constant for creating rectangle shapes. A rectangle shape is "
-"defined by a width and a height. It can be used for intersections and inside/"
-"outside checks."
-msgstr ""
-"这是用于创建矩形形状的常量。矩形形状是由宽度和高度定义的。它可以用于交点和内/"
-"外侧检查。"
-
-msgid ""
-"This is the constant for creating capsule shapes. A capsule shape is defined "
-"by a radius and a length. It can be used for intersections and inside/"
-"outside checks."
-msgstr ""
-"这是创建胶囊形状的常量。一个胶囊形状由一个半径和一个长度定义。它可以用于交点"
-"和内/外侧检查。"
-
-msgid ""
-"This is the constant for creating convex polygon shapes. A polygon is "
-"defined by a list of points. It can be used for intersections and inside/"
-"outside checks. Unlike the [member CollisionPolygon2D.polygon] property, "
-"polygons modified with [method shape_set_data] do not verify that the points "
-"supplied form is a convex polygon."
-msgstr ""
-"这是用于创建凸多边形的常量。一个多边形是由一个点的列表定义的。它可以用于交点"
-"和内/外侧检查。与 [member CollisionPolygon2D.polygon] 属性不同,用 [method "
-"shape_set_data] 修改的多边形并不验证所提供的点的形式是一个凸形多边形。"
-
-msgid ""
-"This is the constant for creating concave polygon shapes. A polygon is "
-"defined by a list of points. It can be used for intersections checks, but "
-"not for inside/outside checks."
-msgstr ""
-"这是创建凹形多边形的常量。一个多边形是由一个点的列表定义的。它可以用于交叉点"
-"检查,但不能用于内/外侧检查。"
-
-msgid ""
-"This constant is used internally by the engine. Any attempt to create this "
-"kind of shape results in an error."
-msgstr "引擎内部会使用这个常量。任何试图创建这种形状的行为都会导致错误。"
-
-msgid "Constant to set/get gravity strength in an area."
-msgstr "常量,用于设置/获取区域中的重力强度。"
-
-msgid "Constant to set/get gravity vector/center in an area."
-msgstr "常量,用于设置/获取区域中的重力向量/中心。"
-
-msgid ""
-"Constant to set/get whether the gravity vector of an area is a direction, or "
-"a center point."
-msgstr "常量,用于设置/获取区域中的重力向量是方向,还是中心点。"
-
-msgid "Constant to set/get the priority (order of processing) of an area."
-msgstr "常量,用于设置/获取区域的优先级(处理顺序)。"
-
-msgid ""
-"This area does not affect gravity/damp. These are generally areas that exist "
-"only to detect collisions, and objects entering or exiting them."
-msgstr ""
-"这个区域不影响重力/阻尼。这些一般都是只存在于检测碰撞的区域,以及进入或离开它"
-"们的物体。"
-
-msgid ""
-"This area adds its gravity/damp values to whatever has been calculated so "
-"far. This way, many overlapping areas can combine their physics to make "
-"interesting effects."
-msgstr ""
-"此区域把它的重力/阻尼加到目前已经计算过的对象上。这样一来,许多重叠的区域可以"
-"结合它们的物理运算来产生有趣的效果。"
-
-msgid ""
-"This area adds its gravity/damp values to whatever has been calculated so "
-"far. Then stops taking into account the rest of the areas, even the default "
-"one."
-msgstr ""
-"这个区域把它的重力/阻尼加到迄今为止已经计算出来的任何东西上。然后停止考虑其余"
-"的区域,甚至默认的区域。"
-
-msgid ""
-"This area replaces any gravity/damp, even the default one, and stops taking "
-"into account the rest of the areas."
-msgstr "这个区域取代了任何重力/阻尼,甚至是默认的,并停止考虑其余的区域。"
-
-msgid ""
-"This area replaces any gravity/damp calculated so far, but keeps calculating "
-"the rest of the areas, down to the default one."
-msgstr ""
-"这个区域取代了到目前为止计算的任何重力/阻尼,但继续计算其余的区域,直到默认的"
-"区域。"
-
-msgid "Constant to set/get a body's bounce factor."
-msgstr "常量,用于设置/获取物体的反弹系数。"
-
-msgid "Constant to set/get a body's friction."
-msgstr "常量,用于设置/获取物体的摩擦力。"
-
-msgid "Constant to set/get a body's mass."
-msgstr "常量,用于设置/获取物体的质量。"
-
-msgid "Constant to set/get a body's inertia."
-msgstr "常量,用于设置/获取物体的惯性。"
-
-msgid "Constant to set/get a body's gravity multiplier."
-msgstr "常量,用于设置/获取物体的重力倍数。"
-
-msgid "Represents the size of the [enum BodyParameter] enum."
-msgstr "表示 [enum BodyParameter] 枚举的大小。"
-
-msgid "Constant to set/get the current transform matrix of the body."
-msgstr "常量,用于设置/获取物体的当前变换矩阵。"
-
-msgid "Constant to set/get the current linear velocity of the body."
-msgstr "常量,用于设置/获取物体的当前线速度。"
-
-msgid "Constant to set/get the current angular velocity of the body."
-msgstr "常量,用于设置/获取物体的当前角速度。"
-
-msgid "Constant to sleep/wake up a body, or to get whether it is sleeping."
-msgstr "常量,用于使物体沉睡/唤醒,或得到它是否在沉睡。"
-
-msgid "Constant to set/get whether the body can sleep."
-msgstr "常量,用于设置/获取物体是否可以休眠。"
-
-msgid "Constant to create pin joints."
-msgstr "常量,用于创造钉关节。"
-
-msgid "Constant to create groove joints."
-msgstr "常量,用于创造槽关节。"
-
-msgid "Constant to create damped spring joints."
-msgstr "常量,用于创造有阻尼的弹簧关节。"
-
-msgid ""
-"Sets the resting length of the spring joint. The joint will always try to go "
-"to back this length when pulled apart."
-msgstr "设定弹簧关节的静止长度。当拉开时,关节将总是试图回到这个长度。"
-
-msgid ""
-"Sets the stiffness of the spring joint. The joint applies a force equal to "
-"the stiffness times the distance from its resting length."
-msgstr "设置弹簧接头的刚度。该关节施加的力等于刚度乘以离其静止长度的距离。"
-
-msgid ""
-"Sets the damping ratio of the spring joint. A value of 0 indicates an "
-"undamped spring, while 1 causes the system to reach equilibrium as fast as "
-"possible (critical damping)."
-msgstr ""
-"设置弹簧接头的阻尼比率。值为 0 表示无阻尼弹簧,而 1 导致系统尽可能快地达到平"
-"衡(临界阻尼)。"
-
-msgid ""
-"Disables continuous collision detection. This is the fastest way to detect "
-"body collisions, but can miss small, fast-moving objects."
-msgstr ""
-"禁用连续碰撞检测。这是检测物体碰撞的最快方法,但可能会错过小的、快速移动的物"
-"体。"
-
-msgid ""
-"Enables continuous collision detection by raycasting. It is faster than "
-"shapecasting, but less precise."
-msgstr "通过射线投射实现连续的碰撞检测。它比形状投射更快,但不够精确。"
-
-msgid ""
-"Enables continuous collision detection by shapecasting. It is the slowest "
-"CCD method, and the most precise."
-msgstr "通过形变实现连续的碰撞检测。它是最慢的 CCD 方法,也是最精确的。"
-
-msgid ""
-"The value of the first parameter and area callback function receives, when "
-"an object enters one of its shapes."
-msgstr "当对象进入其形状之一时,第一个参数和区域回调函数接收的值。"
-
-msgid ""
-"The value of the first parameter and area callback function receives, when "
-"an object exits one of its shapes."
-msgstr "当对象退出其形状之一时,第一个参数和区域回调函数接收的值。"
-
-msgid "Constant to get the number of objects that are not sleeping."
-msgstr "常量,用以获取未处于睡眠状态的对象的数量。"
-
-msgid "Constant to get the number of possible collisions."
-msgstr "常量,用以获取可能的碰撞数。"
-
-msgid ""
-"Constant to get the number of space regions where a collision could occur."
-msgstr "常量,用以获取可能发生碰撞的空间区域数。"
-
-msgid "Server interface for low-level physics access."
-msgstr "用于低级物理访问的服务器接口。"
-
-msgid ""
-"Returns an area parameter value. A list of available parameters is on the "
-"[enum AreaParameter] constants."
-msgstr "返回区域参数值。可用参数列表位于 [enum AreaParameter] 常量上。"
-
-msgid ""
-"Sets the value for an area parameter. A list of available parameters is on "
-"the [enum AreaParameter] constants."
-msgstr "设置面积参数的值。可用参数列表位于 [enum AreaParameter] 常量上。"
-
-msgid "Sets object pickable with rays."
-msgstr "设置可使用光线拾取的对象。"
-
-msgid ""
-"Returns the value of a body parameter. A list of available parameters is on "
-"the [enum BodyParameter] constants."
-msgstr "返回物体参数的值。可用参数列表位于 [enum BodyParameter] 常量上。"
-
-msgid ""
-"If [code]true[/code], the continuous collision detection mode is enabled."
-msgstr "如果为 [code]true[/code],则启用连续碰撞检测模式。"
-
-msgid ""
-"Removes a body from the list of bodies exempt from collisions.\n"
-"Continuous collision detection tries to predict where a moving body will "
-"collide, instead of moving it and correcting its movement if it collided."
-msgstr ""
-"从免于碰撞的实体列表中删除实体。\n"
-"连续碰撞检测尝试预测运动物体碰撞的位置,而不是在碰撞时移动物体并纠正其运动。"
-
-msgid ""
-"If [code]true[/code], the continuous collision detection mode is enabled.\n"
-"Continuous collision detection tries to predict where a moving body will "
-"collide, instead of moving it and correcting its movement if it collided."
-msgstr ""
-"如果为 [code]true[/code],则启用连续碰撞检测模式。\n"
-"连续碰撞检测尝试预测运动物体碰撞的位置,而不是在碰撞时移动物体并纠正其运动。"
-
-msgid "Sets the body mode, from one of the [enum BodyMode] constants."
-msgstr "从 [enum BodyMode] 常量之一设置主体模式。"
-
-msgid ""
-"Sets a body parameter. A list of available parameters is on the [enum "
-"BodyParameter] constants."
-msgstr "设置物体参数。可用参数列表位于 [enum BodyParameter] 常量上。"
-
msgid "Sets a body state (see [enum BodyState] constants)."
msgstr "设置主体状态(见 [enum BodyState] 常量)。"
@@ -19854,6 +36926,25 @@ msgid "Sets a hinge_joint parameter (see [enum HingeJointParam] constants)."
msgstr "设置 hinge_joint 参数(见 [enum HingeJointParam] 常量)。"
msgid ""
+"Sets whether the bodies attached to the [Joint3D] will collide with each "
+"other."
+msgstr "设置附加至该 [Joint3D] 的物体能否互相碰撞。"
+
+msgid "Gets the priority value of the Joint3D."
+msgstr "获取该 Joint3D 的优先级。"
+
+msgid "Returns the type of the Joint3D."
+msgstr "返回该 Joint3D 的类型。"
+
+msgid ""
+"Returns whether the bodies attached to the [Joint3D] will collide with each "
+"other."
+msgstr "返回附加至该 [Joint3D] 的物体能否互相碰撞。"
+
+msgid "Sets the priority value of the Joint3D."
+msgstr "设置该 Joint3D 的优先级。"
+
+msgid ""
"Returns position of the joint in the local space of body a of the joint."
msgstr "返回关节在关节物体 A 的局部空间中的位置。"
@@ -19876,17 +36967,62 @@ msgstr "设置 pin_joint 参数(见 [enum PinJointParam] 常量)。"
msgid "Activates or deactivates the 3D physics engine."
msgstr "激活或停用 3D 物理引擎。"
+msgid "Returns the shape data."
+msgstr "返回形状数据。"
+
msgid "Returns the type of shape (see [enum ShapeType] constants)."
msgstr "返回形状的类型(见 [enum ShapeType] 常量)。"
+msgid ""
+"Sets the shape data that defines its shape and size. The data to be passed "
+"depends on the kind of shape created [method shape_get_type]."
+msgstr ""
+"设置定义形状和大小的形状数据。要传递的数据取决于创建的形状的类型 [method "
+"shape_get_type]。"
+
msgid "Gets a slider_joint parameter (see [enum SliderJointParam] constants)."
msgstr "获取 slider_joint 参数(见 [enum SliderJointParam] 常量)。"
msgid ""
+"Creates a space. A space is a collection of parameters for the physics "
+"engine that can be assigned to an area or a body. It can be assigned to an "
+"area with [method area_set_space], or to a body with [method body_set_space]."
+msgstr ""
+"创建一个空间。空间是物理引擎的参数集合,可以分配给区域或主体。它可以通过 "
+"[method area_set_space] 分配给一个区域,或者通过 [method body_set_space] 分配"
+"给一个主体。"
+
+msgid "Returns the value of a space parameter."
+msgstr "返回空间参数的值。"
+
+msgid "Returns whether the space is active."
+msgstr "返回该空间是否是活动的。"
+
+msgid ""
+"Marks a space as active. It will not have an effect, unless it is assigned "
+"to an area or body."
+msgstr "将空间标记为活动空间。它不会有效果,除非它被分配到一个区域或物体。"
+
+msgid ""
"Sets the value for a space parameter. A list of available parameters is on "
"the [enum SpaceParameter] constants."
msgstr "设置空间参数的值。可用参数列表位于 [enum SpaceParameter] 常量上。"
+msgid "The [Joint3D] is a [PinJoint3D]."
+msgstr "该 [Joint3D] 为 [PinJoint3D]。"
+
+msgid "The [Joint3D] is a [HingeJoint3D]."
+msgstr "该 [Joint3D] 为 [HingeJoint3D]。"
+
+msgid "The [Joint3D] is a [SliderJoint3D]."
+msgstr "该 [Joint3D] 为 [SliderJoint3D]。"
+
+msgid "The [Joint3D] is a [ConeTwistJoint3D]."
+msgstr "该 [Joint3D] 为 [ConeTwistJoint3D]。"
+
+msgid "The [Joint3D] is a [Generic6DOFJoint3D]."
+msgstr "该 [Joint3D] 为 [Generic6DOFJoint3D]。"
+
msgid ""
"The strength with which the pinned objects try to stay in positional "
"relation to each other.\n"
@@ -20000,7 +37136,7 @@ msgid ""
msgstr "垂直于滑块的轴上的旋转阻尼量。"
msgid "Represents the size of the [enum SliderJointParam] enum."
-msgstr "表示 [enum SliderJointParam] 枚举的大小。"
+msgstr "代表 [enum SliderJointParam] 枚举的大小。"
msgid ""
"A factor that gets applied to the movement across the axes. The lower, the "
@@ -20044,6 +37180,116 @@ msgid ""
"velocity."
msgstr "设置时,存在跨这些轴的线性马达,以指定的速度为目标。"
+msgid "The [Shape3D] is a [WorldBoundaryShape3D]."
+msgstr "该 [Shape3D] 为 [WorldBoundaryShape3D]。"
+
+msgid "The [Shape3D] is a [SeparationRayShape3D]."
+msgstr "该 [Shape3D] 为 [SeparationRayShape3D]。"
+
+msgid "The [Shape3D] is a [SphereShape3D]."
+msgstr "该 [Shape3D] 为 [SphereShape3D]。"
+
+msgid "The [Shape3D] is a [BoxShape3D]."
+msgstr "该 [Shape3D] 为 [BoxShape3D]。"
+
+msgid "The [Shape3D] is a [CapsuleShape3D]."
+msgstr "该 [Shape3D] 为 [CapsuleShape3D]。"
+
+msgid "The [Shape3D] is a [CylinderShape3D]."
+msgstr "该 [Shape3D] 为 [CylinderShape3D]。"
+
+msgid "The [Shape3D] is a [ConvexPolygonShape3D]."
+msgstr "该 [Shape3D] 为 [ConvexPolygonShape3D]。"
+
+msgid "The [Shape3D] is a [ConcavePolygonShape3D]."
+msgstr "该 [Shape3D] 为 [ConcavePolygonShape3D]。"
+
+msgid "The [Shape3D] is a [HeightMapShape3D]."
+msgstr "该 [Shape3D] 为 [HeightMapShape3D]。"
+
+msgid "Constant to set/get gravity strength in an area."
+msgstr "常量,用于设置/获取区域中的重力强度。"
+
+msgid "Constant to set/get gravity vector/center in an area."
+msgstr "常量,用于设置/获取区域中的重力向量/中心。"
+
+msgid ""
+"Constant to set/get whether the gravity vector of an area is a direction, or "
+"a center point."
+msgstr "常量,用于设置/获取区域中的重力向量是方向,还是中心点。"
+
+msgid "Constant to set/get the linear damping factor of an area."
+msgstr "常数,用于设置/获取区域的线性阻尼系数。"
+
+msgid "Constant to set/get the angular damping factor of an area."
+msgstr "常数,用于设置/获取区域的角度阻尼系数。"
+
+msgid "Constant to set/get the priority (order of processing) of an area."
+msgstr "常量,用于设置/获取区域的优先级(处理顺序)。"
+
+msgid "Constant to set/get a body's bounce factor."
+msgstr "常量,用于设置/获取物体的反弹系数。"
+
+msgid "Constant to set/get a body's friction."
+msgstr "常量,用于设置/获取物体的摩擦力。"
+
+msgid "Constant to set/get a body's mass."
+msgstr "常量,用于设置/获取物体的质量。"
+
+msgid "Constant to set/get a body's inertia."
+msgstr "常量,用于设置/获取物体的惯性。"
+
+msgid "Constant to set/get a body's gravity multiplier."
+msgstr "常量,用于设置/获取物体的重力倍数。"
+
+msgid "Constant to set/get a body's linear damping factor."
+msgstr "常数,用于设置/获取物体的线性阻尼系数。"
+
+msgid "Constant to set/get a body's angular damping factor."
+msgstr "常数,用于设置/获取物体的角度阻尼系数。"
+
+msgid ""
+"Constant to set/get the maximum distance a pair of bodies has to move before "
+"their collision status has to be recalculated."
+msgstr "常量,用于设置/获取一对物体在其碰撞状态被重新计算之前的最大移动距离。"
+
+msgid ""
+"Constant to set/get the maximum distance a shape can be from another before "
+"they are considered separated and the contact is discarded."
+msgstr ""
+"常量,用于设置/获取两个形状间的最大距离,超过该距离后它们将被视为分离,接触将"
+"被弃置。"
+
+msgid ""
+"Constant to set/get the maximum distance a shape can penetrate another shape "
+"before it is considered a collision."
+msgstr ""
+"常量,用于设置/获取两个形状互相穿透的最大距离,超过该距离后将视为碰撞。"
+
+msgid ""
+"Constant to set/get the threshold linear velocity of activity. A body marked "
+"as potentially inactive for both linear and angular velocity will be put to "
+"sleep after the time given."
+msgstr ""
+"常量,用于设置/获取活跃的阈值线速度。一个被标记为线性速度和角速度都可能不活跃"
+"的物体将在给定的时间后进入睡眠状态。"
+
+msgid ""
+"Constant to set/get the threshold angular velocity of activity. A body "
+"marked as potentially inactive for both linear and angular velocity will be "
+"put to sleep after the time given."
+msgstr ""
+"常量,用于设置/获取活动的阈值角速度。一个被标记为线性和角速度都可能不活跃的物"
+"体,在给定的时间后将会进入睡眠状态。"
+
+msgid ""
+"Constant to set/get the maximum time of activity. A body marked as "
+"potentially inactive for both linear and angular velocity will be put to "
+"sleep after this time."
+msgstr ""
+"常量,用于设置/获得最大的活动时间。一个被标记为线速度和角速度都可能不活动的物"
+"体,在这个时间之后将被置入睡眠状态。"
+
msgid "Parameters to be sent to a 2D shape physics query."
msgstr "要发送到 2D 形状物理查询的参数。"
@@ -20059,6 +37305,9 @@ msgstr "被查询形状的变换矩阵。"
msgid "Parameters to be sent to a 3D shape physics query."
msgstr "要发送到 3D 形状物理查询的参数。"
+msgid "Returns the colliding body's velocity, if a collision occurred."
+msgstr "如果发生碰撞,则返回碰撞到的物体的速度。"
+
msgid ""
"The higher this value, the more the bond to the pinned partner can flex."
msgstr "这个值越高,与被牵制的两个物体之间的的联系就越灵活。"
@@ -20143,6 +37392,26 @@ msgstr "沿 Z 轴细分的次数。"
msgid "Number of subdivision along the X axis."
msgstr "沿 X 轴细分的次数。"
+msgid "[PlaneMesh] will face the positive X-axis."
+msgstr "[PlaneMesh] 将面向 X 轴正方向。"
+
+msgid ""
+"[PlaneMesh] will face the positive Y-axis. This matches the behavior of the "
+"[PlaneMesh] in Godot 3.x."
+msgstr ""
+"[PlaneMesh] 将面向 Y 轴正方向。与 Godot 3.x 中 [PlaneMesh] 的行为一致。"
+
+msgid ""
+"[PlaneMesh] will face the positive Z-axis. This matches the behavior of the "
+"QuadMesh in Godot 3.x."
+msgstr "[PlaneMesh] 将面向 Z 轴正方向。与 Godot 3.x 中 QuadMesh 的行为一致。"
+
+msgid "[Texture2D] used for the light's appearance."
+msgstr "用于该灯光外观的 [Texture2D]。"
+
+msgid "The [member texture]'s scale factor."
+msgstr "[member texture] 的缩放系数。"
+
msgid "Mesh with a single Point primitive."
msgstr "使用单个点图元的网格。"
@@ -20327,6 +37596,42 @@ msgstr "用于菜单项的 [Font] 字体。"
msgid "[Font] used for the labeled separator."
msgstr "用于带文字分隔线的 [Font] 字体。"
+msgid "Font size of the menu items."
+msgstr "菜单项的字体大小。"
+
+msgid "[Texture2D] icon for the checked checkbox items."
+msgstr "[Texture2D] 图标,用于处于选中状态的复选项。"
+
+msgid "[Texture2D] icon for the checked checkbox items when they are disabled."
+msgstr "[Texture2D] 图标,用于处于选中状态的已禁用复选项。"
+
+msgid "[Texture2D] icon for the checked radio button items."
+msgstr "[Texture2D] 图标,用于处于选中状态的单选项。"
+
+msgid ""
+"[Texture2D] icon for the checked radio button items when they are disabled."
+msgstr "[Texture2D] 图标,用于处于选中状态的已禁用单选项。"
+
+msgid "[Texture2D] icon for the unchecked radio button items."
+msgstr "[Texture2D] 图标,用于处于未选状态的单选项。"
+
+msgid ""
+"[Texture2D] icon for the unchecked radio button items when they are disabled."
+msgstr "[Texture2D] 图标,用于处于未选状态的已禁用单选项。"
+
+msgid "[Texture2D] icon for the submenu arrow (for left-to-right layouts)."
+msgstr "[Texture2D] 图标,用于子菜单箭头(用于从左至右布局)。"
+
+msgid "[Texture2D] icon for the submenu arrow (for right-to-left layouts)."
+msgstr "[Texture2D] 图标,用于子菜单箭头(用于从右至左布局)。"
+
+msgid "[Texture2D] icon for the unchecked checkbox items."
+msgstr "[Texture2D] 图标,用于处于未选状态的复选项。"
+
+msgid ""
+"[Texture2D] icon for the unchecked checkbox items when they are disabled."
+msgstr "[Texture2D] 图标,用于处于未选状态的已禁用复选项。"
+
msgid "[StyleBox] displayed when the [PopupMenu] item is hovered."
msgstr "当 [PopupMenu] 菜单项被悬停时显示的 [StyleBox]。"
@@ -20394,6 +37699,15 @@ msgid ""
"sky_top_color]."
msgstr "从 [member sky_horizon_color] 渐变到 [member sky_top_color] 的速度。"
+msgid "Multiplier for sky color. A higher value will make the sky brighter."
+msgstr "天空颜色的倍数。值越高天空越亮。"
+
+msgid "Color of the sky at the horizon. Blends with [member sky_top_color]."
+msgstr "天空在地平线处的颜色。会与 [member sky_top_color] 混合。"
+
+msgid "Color of the sky at the top. Blends with [member sky_horizon_color]."
+msgstr "天空在顶部的颜色。会与 [member sky_horizon_color] 混合。"
+
msgid "Distance from center of sun where it fades out completely."
msgstr "太阳完全淡出消失的位置与太阳中心的距离。"
@@ -20409,6 +37723,12 @@ msgstr "填充方向。可能的取值见 [enum FillMode]。"
msgid "If [code]true[/code], the fill percentage is displayed on the bar."
msgstr "为 [code]true[/code] 时,将在进度条上显示百分比。"
+msgid "The progress fills from top to bottom."
+msgstr "进度从上到下填充。"
+
+msgid "The progress fills from bottom to top."
+msgstr "进度从下到上填充。"
+
msgid "The color of the text."
msgstr "文本的颜色。"
@@ -20424,9 +37744,51 @@ msgstr "进度的样式(即填充进度条的部分)。"
msgid "3D projection (4x4 matrix)."
msgstr "3D 投影(4×4 矩阵)。"
+msgid ""
+"Constructs a default-initialized [Projection] set to [constant IDENTITY]."
+msgstr "构造默认初始化为 [constant IDENTITY] 的 [Projection]。"
+
msgid "Constructs a [Projection] as a copy of the given [Projection]."
msgstr "构造给定 [Projection] 的副本。"
+msgid ""
+"The projection matrix's W vector (column 3). Equivalent to array index "
+"[code]3[/code]."
+msgstr "投影矩阵的 W 向量(第 3 列)。相当于数组索引 [code]3[/code]。"
+
+msgid ""
+"The projection matrix's X vector (column 0). Equivalent to array index "
+"[code]0[/code]."
+msgstr "投影矩阵的 X 向量(第 0 列)。相当于数组索引 [code]0[/code]。"
+
+msgid ""
+"The projection matrix's Y vector (column 1). Equivalent to array index "
+"[code]1[/code]."
+msgstr "投影矩阵的 Y 向量(第 1 列)。相当于数组索引 [code]1[/code]。"
+
+msgid ""
+"The projection matrix's Z vector (column 2). Equivalent to array index "
+"[code]2[/code]."
+msgstr "投影矩阵的 Z 向量(第 2 列)。相当于数组索引 [code]2[/code]。"
+
+msgid "The index value of the projection's near clipping plane."
+msgstr "该投影的近裁剪平面的索引值。"
+
+msgid "The index value of the projection's far clipping plane."
+msgstr "该投影的远裁剪平面的索引值。"
+
+msgid "The index value of the projection's left clipping plane."
+msgstr "该投影的左裁剪平面的索引值。"
+
+msgid "The index value of the projection's top clipping plane."
+msgstr "该投影的上裁剪平面的索引值。"
+
+msgid "The index value of the projection's right clipping plane."
+msgstr "该投影的右裁剪平面的索引值。"
+
+msgid "The index value of the projection bottom clipping plane."
+msgstr "该投影的下裁剪平面的索引值。"
+
msgid "Contains global variables accessible from everywhere."
msgstr "包含全局变量,可以从任何地方访问。"
@@ -20520,8 +37882,8 @@ msgid ""
"(preserving the aspect ratio) when the engine starts. If [code]false[/code], "
"the engine will leave it at the default pixel size."
msgstr ""
-"如果为 [code]true[/code],引擎启动时会将启动图片缩放到整个窗口的大小(保持长"
-"宽比)。如果为 [code]false[/code],引擎将保持其默认像素大小。"
+"如果为 [code]true[/code],引擎启动时会将启动界面图像缩放到整个窗口的大小(保"
+"持长宽比)。如果为 [code]false[/code],引擎将保持其默认像素大小。"
msgid ""
"Path to an image used as the boot splash. If left empty, the default Godot "
@@ -20529,18 +37891,23 @@ msgid ""
"[b]Note:[/b] Only effective if [member application/boot_splash/show_image] "
"is [code]true[/code]."
msgstr ""
-"用作启动画面的图片的路径。留空时将使用默认的 Godot 引擎启动画面。\n"
+"图像的路径,会作为启动画面使用。留空时将使用默认的 Godot 引擎启动画面。\n"
"[b]注意:[/b]仅在 [member application/boot_splash/show_image] 为 [code]true[/"
"code] 时有效。"
msgid ""
+"Minimum boot splash display time (in milliseconds). It is not recommended to "
+"set too high values for this setting."
+msgstr "启动画面的最小显示时间(单位为毫秒)。不建议设置为过高的值。"
+
+msgid ""
"If [code]true[/code], displays the image specified in [member application/"
"boot_splash/image] when the engine starts. If [code]false[/code], only "
"displays the plain color specified in [member application/boot_splash/"
"bg_color]."
msgstr ""
-"为 [code]true[/code] 时,将在引擎启动时显示 [member application/boot_splash/"
-"image] 所指定的图片。为 [code]false[/code] 时,仅显示 [member application/"
+"如果为 [code]true[/code],将在引擎启动时显示 [member application/boot_splash/"
+"image] 所指定的图像。为 [code]false[/code] 时,仅显示 [member application/"
"boot_splash/bg_color] 所指定的纯色。"
msgid ""
@@ -20548,8 +37915,8 @@ msgid ""
"(recommended for high-resolution artwork). If [code]false[/code], uses "
"nearest-neighbor interpolation (recommended for pixel art)."
msgstr ""
-"如果为 [code]true[/code],缩放图像时会应用线性过滤(推荐用于高分辨率图稿)。"
-"如果为 [code]false[/code],则使用最近邻插值(推荐用于像素画)。"
+"如果为 [code]true[/code],则在缩放图像时会应用线性过滤(推荐用于高分辨率图"
+"稿)。如果为 [code]false[/code],则使用最近邻插值(推荐用于像素画)。"
msgid ""
"The project's description, displayed as a tooltip in the Project Manager "
@@ -20562,6 +37929,14 @@ msgid ""
msgstr "项目所使用的图标,在项目加载时设置。导出时也将尽可能使用此图标。"
msgid ""
+"Icon set in [code].icns[/code] format used on macOS to set the game's icon. "
+"This is done automatically on start by calling [method DisplayServer."
+"set_native_icon]."
+msgstr ""
+"设置 macOS 上游戏的图标,使用 [code].icns[/code] 图标集格式。启动时会通过调"
+"用 [method DisplayServer.set_native_icon] 自动完成。"
+
+msgid ""
"The project's name. It is used both by the Project Manager and by exporters. "
"The project name can be translated by translating its value in localization "
"files. The window title will be set to match the project name automatically "
@@ -20582,6 +37957,13 @@ msgstr ""
"html]《数据路径》[/url]。"
msgid ""
+"Translations of the project's name. This setting is used by OS tools to "
+"translate application name on Android, iOS and macOS."
+msgstr ""
+"项目名称的翻译。操作系统工具会使用此设置来翻译 Android、iOS 和 macOS 上的应用"
+"程序名称。"
+
+msgid ""
"Specifies a file to override project settings. For example: [code]user://"
"custom_settings.cfg[/code]. See \"Overriding\" in the [ProjectSettings] "
"class description at the top for more information.\n"
@@ -20594,6 +37976,14 @@ msgstr ""
"取来覆盖项目设置。"
msgid ""
+"Icon set in [code].ico[/code] format used on Windows to set the game's icon. "
+"This is done automatically on start by calling [method DisplayServer."
+"set_native_icon]."
+msgstr ""
+"设置 Windows 上游戏的图标,使用 [code].ico[/code] 图标集格式。启动时会通过调"
+"用 [method DisplayServer.set_native_icon] 自动完成。"
+
+msgid ""
"If [code]true[/code], flushes the standard output stream every time a line "
"is printed. This affects both terminal logging and file logging.\n"
"When running a project, this setting must be enabled if you want logs to be "
@@ -20730,8 +38120,8 @@ msgid ""
"Enables [url=https://github.com/facebook/zstd/releases/tag/v1.3.2]long-"
"distance matching[/url] in Zstandard."
msgstr ""
-"在 Zstandard 中启用[url=https://github.com/facebook/zstd/releases/tag/v1.3.2]"
-"长距离匹配[/url] 。"
+"启用 Zstandard 的[url=https://github.com/facebook/zstd/releases/tag/v1.3.2]长"
+"距离匹配[/url]。"
msgid ""
"Largest size limit (in power of 2) allowed when compressing using long-"
@@ -20745,6 +38135,21 @@ msgid "If [code]true[/code], logs all output to files."
msgstr "如果为 [code]true[/code],将所有输出记录到文件中。"
msgid ""
+"Desktop override for [member debug/file_logging/enable_file_logging], as log "
+"files are not readily accessible on mobile/Web platforms."
+msgstr ""
+"[member debug/file_logging/enable_file_logging] 在桌面平台的覆盖项,因为在移"
+"动/Web 平台上不容易访问日志文件。"
+
+msgid ""
+"Path at which to store log files for the project. Using a path under "
+"[code]user://[/code] is recommended."
+msgstr "项目日志的存储路径。建议使用 [code]user://[/code] 下的路径。"
+
+msgid "Specifies the maximum number of log files allowed (used for rotation)."
+msgstr "指定允许的最大日志文件数量(用于轮换)。"
+
+msgid ""
"If [code]true[/code], enables specific GDScript warnings (see [code]debug/"
"gdscript/warnings/*[/code] settings). If [code]false[/code], disables all "
"GDScript warnings."
@@ -20802,6 +38207,45 @@ msgid ""
"enabled in the Debug menu."
msgstr "碰撞形状的颜色,当在调试菜单中启用“显示碰撞形状”时可见。"
+msgid ""
+"Rasterized size (pixel) used to render navigation agent path points when an "
+"agent has debug enabled."
+msgstr "栅格大小(像素),如果导航代理启用了调试,则会用于渲染该代理的路径点。"
+
+msgid ""
+"Color to display enabled navigation mesh polygon edges, visible when "
+"\"Visible Navigation\" is enabled in the Debug menu."
+msgstr ""
+"用于显示已启用导航网格多边形边缘的颜色,在“调试”菜单中启用“显示导航”时可见。"
+
+msgid ""
+"Color to display disabled navigation mesh polygon edges, visible when "
+"\"Visible Navigation\" is enabled in the Debug menu."
+msgstr ""
+"用于显示已禁用导航网格多边形边缘的颜色,在“调试”菜单中启用“显示导航”时可见。"
+
+msgid ""
+"Color to display enabled navigation mesh polygon faces, visible when "
+"\"Visible Navigation\" is enabled in the Debug menu."
+msgstr ""
+"用于显示已启用导航网格多边形面的颜色,在“调试”菜单中启用“显示导航”时可见。"
+
+msgid ""
+"Color to display disabled navigation mesh polygon faces, visible when "
+"\"Visible Navigation\" is enabled in the Debug menu."
+msgstr ""
+"用于显示已禁用导航网格多边形面的颜色,在“调试”菜单中启用“显示导航”时可见。"
+
+msgid ""
+"Color to use to display navigation link connections, visible when \"Visible "
+"Navigation\" is enabled in the Debug menu."
+msgstr "导航链接连接的颜色,在调试菜单中启用“显示导航”时可见。"
+
+msgid ""
+"Color to use to display disabled navigation link connections, visible when "
+"\"Visible Navigation\" is enabled in the Debug menu."
+msgstr "被禁用的导航链接连接的颜色,在调试菜单中启用“显示导航”时可见。"
+
msgid "Custom image for the mouse cursor (limited to 256×256)."
msgstr "鼠标光标的自定义图像(最大 256×256)。"
@@ -20812,6 +38256,24 @@ msgid "Position offset for tooltips, relative to the mouse cursor's hotspot."
msgstr "工具提示相对于鼠标光标热点的位置偏移量。"
msgid ""
+"If [code]true[/code], allows HiDPI display on Windows, macOS, Android, iOS "
+"and Web. If [code]false[/code], the platform's low-DPI fallback will be used "
+"on HiDPI displays, which causes the window to be displayed in a blurry or "
+"pixelated manner (and can cause various window management bugs). Therefore, "
+"it is recommended to make your project scale to [url=$DOCS_URL/tutorials/"
+"rendering/multiple_resolutions.html]multiple resolutions[/url] instead of "
+"disabling this setting.\n"
+"[b]Note:[/b] This setting has no effect on Linux as DPI-awareness fallbacks "
+"are not supported there."
+msgstr ""
+"如果为 [code]true[/code] ,则允许在 Windows、macOS、Android、iOS 和 Web 上使"
+"用 HiDPI 显示器。如果为 [code]false[/code] ,则在 HiDPI 显示器上将使用该平台"
+"的低 DPI 回退,这样会导致窗口模糊或像素化的方式显示(并且可能导致各种窗口管理"
+"问题)。因此,建议你让项目支持[url=$DOCS_URL/tutorials/rendering/"
+"multiple_resolutions.html]多个分辨率[/url],而不是禁用此设置。\n"
+"[b]注意:[/b]这个设置在 Linux 上无效,因为 Linux 不支持 DPI 感知回退。"
+
+msgid ""
"If [code]true[/code], keeps the screen on (even in case of inactivity), so "
"the screensaver does not take over. Works on desktop and mobile platforms."
msgstr ""
@@ -20819,6 +38281,20 @@ msgstr ""
"护程序不会接管。适用于桌面和移动平台。"
msgid ""
+"The default screen orientation to use on mobile devices. See [enum "
+"DisplayServer.ScreenOrientation] for possible values.\n"
+"[b]Note:[/b] When set to a portrait orientation, this project setting does "
+"not flip the project resolution's width and height automatically. Instead, "
+"you have to set [member display/window/size/viewport_width] and [member "
+"display/window/size/viewport_height] accordingly."
+msgstr ""
+"在移动设备上使用的默认屏幕朝向。可能的取值见 [enum DisplayServer."
+"ScreenOrientation]。\n"
+"[b]注意:[/b]设为竖屏时,该项目设置不会自动翻转项目分辨率的宽度和高度。你必须"
+"设置与之相对应的 [member display/window/size/viewport_width] 和 [member "
+"display/window/size/viewport_height]。"
+
+msgid ""
"If [code]true[/code], the home indicator is hidden automatically. This only "
"affects iOS devices without a physical home button."
msgstr ""
@@ -20826,6 +38302,69 @@ msgstr ""
"iOS 设备。"
msgid ""
+"If [code]true[/code], allows per-pixel transparency for the window "
+"background. This affects performance, so leave it on [code]false[/code] "
+"unless you need it. See also [member display/window/size/transparent] and "
+"[member rendering/viewport/transparent_background]."
+msgstr ""
+"如果为 [code]true[/code],则允许窗口背景的逐像素透明度。这样会影响性能,因此"
+"除非需要,否则请将其保留为 [code]false[/code]。另见 [member display/window/"
+"size/transparent] 和 [member rendering/viewport/transparent_background]。"
+
+msgid ""
+"Forces the main window to be always on top.\n"
+"[b]Note:[/b] This setting is ignored on iOS, Android, and Web."
+msgstr ""
+"强制主窗口始终置顶。\n"
+"[b]注意:[/b]该设置在 iOS、Android 和 Web 上被忽略。"
+
+msgid ""
+"Forces the main window to be borderless.\n"
+"[b]Note:[/b] This setting is ignored on iOS, Android, and Web."
+msgstr ""
+"强制主窗口无边框。\n"
+"[b]注意:[/b]该设置在 iOS、Android 和 Web 上被忽略。"
+
+msgid ""
+"Main window content is expanded to the full size of the window. Unlike a "
+"borderless window, the frame is left intact and can be used to resize the "
+"window, and the title bar is transparent, but has minimize/maximize/close "
+"buttons.\n"
+"[b]Note:[/b] This setting is implemented only on macOS."
+msgstr ""
+"主窗口的内容会扩展到整个窗口的大小。与无边框窗口不同的是,窗口的框架仍是完整"
+"的,可以用来调整窗口的大小,标题栏是透明的,但有最小/最大/关闭按钮。\n"
+"[b]注意:[/b]该设置只在 macOS 上实现。"
+
+msgid ""
+"Main window initial position (in virtual desktop coordinates), this settings "
+"is used only if [member display/window/size/initial_position_type] is set to "
+"\"Absolute\" ([code]0[/code])."
+msgstr ""
+"主窗口的初始位置(使用虚拟桌面坐标),该设置仅在 [member display/window/size/"
+"initial_position_type] 设置为“Absolute”([code]2[/code] )时使用。"
+
+msgid ""
+"Main window initial screen, this settings is used only if [member display/"
+"window/size/initial_position_type] is set to \"Other Screen "
+"Center\" ([code]2[/code])."
+msgstr ""
+"主窗口的初始屏幕,该设置仅在 [member display/window/size/"
+"initial_position_type] 设置为“Other Screen Center”([code]2[/code] )时使用。"
+
+msgid ""
+"Main window mode. See [enum DisplayServer.WindowMode] for possible values "
+"and how each mode behaves."
+msgstr ""
+"主窗口的模式。可能的取值以及各个模式的行为请参阅 [enum DisplayServer."
+"WindowMode]。"
+
+msgid ""
+"Main window can't be focused. No-focus window will ignore all input, except "
+"mouse clicks."
+msgstr "主窗口无法成为焦点。无焦点的窗口将忽略除鼠标点击之外的所有输入。"
+
+msgid ""
"Allows the window to be resizable by default.\n"
"[b]Note:[/b] This setting is ignored on iOS."
msgstr ""
@@ -20833,6 +38372,146 @@ msgstr ""
"[b]注意:[/b]这个设置在 iOS 上将忽略。"
msgid ""
+"Sets the game's main viewport height. On desktop platforms, this is also the "
+"initial window height, represented by an indigo-colored rectangle in the 2D "
+"editor. Stretch mode settings also use this as a reference when using the "
+"[code]canvas_items[/code] or [code]viewport[/code] stretch modes. See also "
+"[member display/window/size/viewport_width], [member display/window/size/"
+"window_width_override] and [member display/window/size/"
+"window_height_override]."
+msgstr ""
+"设置游戏的主视口高度。在桌面平台上,这也是初始窗口高度,在 2D 编辑器中使用靛"
+"蓝色的矩形表示。使用 [code]canvas_items[/code] 和 [code]viewport[/code] 拉伸"
+"模式时也会以此作为参考。另见 [member display/window/size/viewport_width]、"
+"[member display/window/size/window_width_override] 和 [member display/window/"
+"size/window_height_override]。"
+
+msgid ""
+"Sets the game's main viewport width. On desktop platforms, this is also the "
+"initial window width, represented by an indigo-colored rectangle in the 2D "
+"editor. Stretch mode settings also use this as a reference when using the "
+"[code]canvas_items[/code] or [code]viewport[/code] stretch modes. See also "
+"[member display/window/size/viewport_height], [member display/window/size/"
+"window_width_override] and [member display/window/size/"
+"window_height_override]."
+msgstr ""
+"设置游戏的主视口宽度。在桌面平台上,这也是初始窗口宽度,在 2D 编辑器中使用靛"
+"蓝色的矩形表示。使用 [code]canvas_items[/code] 和 [code]viewport[/code] 拉伸"
+"模式时也会以此作为参考。另见 [member display/window/size/viewport_height]、"
+"[member display/window/size/window_width_override] 和 [member display/window/"
+"size/window_height_override]。"
+
+msgid ""
+"On desktop platforms, overrides the game's initial window height. See also "
+"[member display/window/size/window_width_override], [member display/window/"
+"size/viewport_width] and [member display/window/size/viewport_height].\n"
+"[b]Note:[/b] By default, or when set to [code]0[/code], the initial window "
+"height is the [member display/window/size/viewport_height]. This setting is "
+"ignored on iOS, Android, and Web."
+msgstr ""
+"在桌面平台上,覆盖游戏的初始窗口高度。另见 [member display/window/size/"
+"window_width_override]、[member display/window/size/viewport_width] 和 "
+"[member display/window/size/viewport_height]。\n"
+"[b]注意:[/b]默认情况下,或者当设置为[code]0[/code] 时,初始窗口高度为 "
+"[member display/window/size/viewport_height]。在 iOS、Android 和 Web 上会忽略"
+"这个设置。"
+
+msgid ""
+"On desktop platforms, overrides the game's initial window width. See also "
+"[member display/window/size/window_height_override], [member display/window/"
+"size/viewport_width] and [member display/window/size/viewport_height].\n"
+"[b]Note:[/b] By default, or when set to [code]0[/code], the initial window "
+"width is the viewport [member display/window/size/viewport_width]. This "
+"setting is ignored on iOS, Android, and Web."
+msgstr ""
+"在桌面平台上,覆盖游戏的初始窗口宽度。另见 [member display/window/size/"
+"window_height_override]、[member display/window/size/viewport_width] 和 "
+"[member display/window/size/viewport_height]。\n"
+"[b]注意:[/b]默认情况下,或者当设置为[code]0[/code] 时,初始窗口宽度为 "
+"[member display/window/size/viewport_width]。在 iOS、Android 和 Web 上会忽略"
+"这个设置。"
+
+msgid ""
+"If [code]true[/code], requests V-Sync to be disabled when writing a movie "
+"(similar to setting [member display/window/vsync/vsync_mode] to [b]Disabled[/"
+"b]). This can speed up video writing if the hardware is fast enough to "
+"render, encode and save the video at a framerate higher than the monitor's "
+"refresh rate.\n"
+"[b]Note:[/b] [member editor/movie_writer/disable_vsync] has no effect if the "
+"operating system or graphics driver forces V-Sync with no way for "
+"applications to disable it."
+msgstr ""
+"如果为 [code]true[/code],则在写入电影时会请求禁用垂直同步(类似于将 [member "
+"display/window/vsync/vsync_mode] 设置为 [b]Disabled[/b])。如果硬件的渲染速度"
+"足够快,那么就可以加速视频的写入,以高于显示器刷新率的帧速率渲染、编码和保存"
+"视频。\n"
+"[b]注意:[/b]如果操作系统或图形驱动程序强制垂直同步,则应用程序无法禁用,"
+"[member editor/movie_writer/disable_vsync] 无效。"
+
+msgid ""
+"The number of frames per second to record in the video when writing a movie. "
+"Simulation speed will adjust to always match the specified framerate, which "
+"means the engine will appear to run slower at higher [member editor/"
+"movie_writer/fps] values. Certain FPS values will require you to adjust "
+"[member editor/movie_writer/mix_rate] to prevent audio from desynchronizing "
+"over time.\n"
+"This can be specified manually on the command line using the [code]--fixed-"
+"fps <fps>[/code] [url=$DOCS_URL/tutorials/editor/command_line_tutorial."
+"html]command line argument[/url]."
+msgstr ""
+"输出电影时,在视频中每秒记录的帧数。仿真速度将调整为始终与指定的帧数相匹配,"
+"这意味着引擎在较高的 [member editor/movie_writer/fps] 值下会显得运行较慢。部"
+"分 FPS 值将需要你调整 [member editor/movie_writer/mix_rate],防止音频随着时间"
+"的推移而出现不同步。\n"
+"可以在命令行中使用 [code]--fixed-fps <fps>[/code] [url=$DOCS_URL/tutorials/"
+"editor/command_line_tutorial.html]命令行参数[/url]手动指定。"
+
+msgid ""
+"The JPEG quality to use when writing a video to an AVI file, between "
+"[code]0.01[/code] and [code]1.0[/code] (inclusive). Higher [code]quality[/"
+"code] values result in better-looking output at the cost of larger file "
+"sizes. Recommended [code]quality[/code] values are between [code]0.75[/code] "
+"and [code]0.9[/code]. Even at quality [code]1.0[/code], JPEG compression "
+"remains lossy.\n"
+"[b]Note:[/b] This does not affect the audio quality or writing PNG image "
+"sequences."
+msgstr ""
+"JPEG 质量,将视频写入 AVI 文件时使用,介于 [code]0.01[/code] 和 [code]1.0[/"
+"code](含)之间。[code]quality[/code] 值越高,输出效果越好看,但文件大小也越"
+"大。[code]quality[/code] 的推荐值为 [code]0.75[/code] 和 [code]0.9[/code] 之"
+"间。即使质量为 [code]1.0[/code],JPEG 压缩仍然有损。\n"
+"[b]注意:[/b]这不会影响音频质量和 PNG 图像序列的写入。"
+
+msgid ""
+"The speaker mode to use in the recorded audio when writing a movie. See "
+"[enum AudioServer.SpeakerMode] for possible values."
+msgstr ""
+"保存电影时,录制的音频中所使用的扬声器模式。可能的值见 [enum AudioServer."
+"SpeakerMode]。"
+
+msgid ""
+"The format of the default signal callback name (in the Signal Connection "
+"Dialog). The following substitutions are available: [code]{NodeName}[/code], "
+"[code]{nodeName}[/code], [code]{node_name}[/code], [code]{SignalName}[/"
+"code], [code]{signalName}[/code], and [code]{signal_name}[/code]."
+msgstr ""
+"信号回调名称的默认格式(在信号连接对话框中使用)。可以使用以下替换:[code]"
+"{NodeName}[/code]、[code]{nodeName}[/code]、[code]{node_name}[/code]、[code]"
+"{SignalName}[/code]、[code]{signalName}[/code]、[code]{signal_name}[/code]。"
+
+msgid ""
+"The format of the default signal callback name when a signal connects to the "
+"same node that emits it (in the Signal Connection Dialog). The following "
+"substitutions are available: [code]{NodeName}[/code], [code]{nodeName}[/"
+"code], [code]{node_name}[/code], [code]{SignalName}[/code], [code]"
+"{signalName}[/code], and [code]{signal_name}[/code]."
+msgstr ""
+"信号回调名称的默认格式,用于连接到与发出信号相同节点的情况(在信号连接对话框"
+"中使用)。可以使用以下替换:[code]{NodeName}[/code]、[code]{nodeName}[/"
+"code]、[code]{node_name}[/code]、[code]{SignalName}[/code]、[code]"
+"{signalName}[/code]、[code]{signal_name}[/code]。"
+
+msgid ""
"When creating node names automatically, set the type of casing in this "
"project. This is mostly an editor setting."
msgstr ""
@@ -20886,6 +38565,29 @@ msgstr ""
"搜索。"
msgid ""
+"If [code]true[/code], Blender 3D scene files with the [code].blend[/code] "
+"extension will be imported by converting them to glTF 2.0.\n"
+"This requires configuring a path to a Blender executable in the editor "
+"settings at [code]filesystem/import/blender/blender3_path[/code]. Blender "
+"3.0 or later is required."
+msgstr ""
+"如果为 [code]true[/code],扩展名为 [code].blend[/code] 的 Blender 3D 场景文件"
+"会通过转换为 glTF 2.0 来导入。\n"
+"需要在编辑器设置 [code]filesystem/import/blender/blender3_path[/code] 中,配"
+"置 Blender 可执行文件的路径。需要 Blender 3.0 或更高版本。"
+
+msgid ""
+"If [code]true[/code], Autodesk FBX 3D scene files with the [code].fbx[/code] "
+"extension will be imported by converting them to glTF 2.0.\n"
+"This requires configuring a path to a FBX2glTF executable in the editor "
+"settings at [code]filesystem/import/fbx/fbx2gltf_path[/code]."
+msgstr ""
+"如果为 [code]true[/code],扩展名为 [code].fbx[/code] 的 Autodesk FBX 3D 场景"
+"文件会通过转换为 glTF 2.0 来导入。\n"
+"需要在编辑器设置 [code]filesystem/import/blender/fbx2gltf_path[/code] 中,配"
+"置 FBX2glTF 可执行文件的路径。"
+
+msgid ""
"Default value for [member ScrollContainer.scroll_deadzone], which will be "
"used for all [ScrollContainer]s unless overridden."
msgstr ""
@@ -20893,9 +38595,36 @@ msgstr ""
"非fug。"
msgid ""
+"Path to a custom [Theme] resource file to use for the project ([code].theme[/"
+"code] or generic [code].tres[/code]/[code].res[/code] extension)."
+msgstr ""
+"[Theme] 资源文件的路径,用于自定义项目主题(扩展名为 [code].theme[/code] 或通"
+"用的 [code].tres[/code]/[code].res[/code])。"
+
+msgid ""
"Path to a custom [Font] resource to use as default for all GUI elements of "
"the project."
-msgstr "自定义 [Font] 资源的路径,用于项目的所有 GUI 元素的默认字体。"
+msgstr "自定义 [Font] 资源的路径,用作项目中所有 GUI 元素的默认字体。"
+
+msgid "Default font hinting mode. See [member FontFile.hinting]."
+msgstr "默认字体微调模式。见 [member FontFile.hinting]。"
+
+msgid ""
+"The default scale factor for [Control]s, when not overridden by a [Theme].\n"
+"[b]Note:[/b] This property is only read when the project starts. To change "
+"the default scale at runtime, set [member ThemeDB.fallback_base_scale] "
+"instead."
+msgstr ""
+"[Theme] 中没有覆盖缩放系数时,[Control] 的默认缩放系数。\n"
+"[b]注意:[/b]这个属性只在项目启动时读取。要在运行时改变默认缩放,请改为设置 "
+"[member ThemeDB.fallback_base_scale]。"
+
+msgid ""
+"When [member BaseButton.shortcut_feedback] is enabled, this is the time the "
+"[BaseButton] will remain highlighted after a shortcut."
+msgstr ""
+"启用 [member BaseButton.shortcut_feedback] 时,按下快捷键后 [BaseButton] 保持"
+"高亮的时间。"
msgid ""
"Timer setting for incremental search in [Tree], [ItemList], etc. controls "
@@ -21068,9 +38797,6 @@ msgid ""
"mouse."
msgstr "如果为 [code]true[/code],则在点击或拖动鼠标时发送触摸输入事件。"
-msgid "Default delay for touch events. This only affects iOS devices."
-msgstr "触摸事件的默认延迟(单位为秒)。仅影响 iOS 设备。"
-
msgid ""
"The locale to fall back to if a translation isn't available in a given "
"language. If left empty, [code]en[/code] (English) will be used."
@@ -21083,6 +38809,12 @@ msgid ""
"editor."
msgstr "如果不为空,那么当从编辑器中运行项目时,将使用该区域设置。"
+msgid "Prefix that will be prepended to the pseudolocalized string."
+msgstr "将被前置到伪本地化字符串的前缀。"
+
+msgid "Suffix that will be appended to the pseudolocalized string."
+msgstr "将被追加到伪本地化字符串的后缀。"
+
msgid ""
"Optional name for the 2D navigation layer 1. If left empty, the layer will "
"display as \"Layer 1\"."
@@ -21244,6 +38976,266 @@ msgid ""
msgstr "2D 导航层 9 的可选名称。留空则会显示为“层 9”。"
msgid ""
+"Optional name for the 2D physics layer 1. If left empty, the layer will "
+"display as \"Layer 1\"."
+msgstr "2D 物理层 1 的可选名称。留空则会显示为“层 1”。"
+
+msgid ""
+"Optional name for the 2D physics layer 10. If left empty, the layer will "
+"display as \"Layer 10\"."
+msgstr "2D 物理层 10 的可选名称。留空则会显示为“层 10”。"
+
+msgid ""
+"Optional name for the 2D physics layer 11. If left empty, the layer will "
+"display as \"Layer 11\"."
+msgstr "2D 物理层 11 的可选名称。留空则会显示为“层 11”。"
+
+msgid ""
+"Optional name for the 2D physics layer 12. If left empty, the layer will "
+"display as \"Layer 12\"."
+msgstr "2D 物理层 12 的可选名称。留空则会显示为“层 12”。"
+
+msgid ""
+"Optional name for the 2D physics layer 13. If left empty, the layer will "
+"display as \"Layer 13\"."
+msgstr "2D 物理层 13 的可选名称。留空则会显示为“层 13”。"
+
+msgid ""
+"Optional name for the 2D physics layer 14. If left empty, the layer will "
+"display as \"Layer 14\"."
+msgstr "2D 物理层 14 的可选名称。留空则会显示为“层 14”。"
+
+msgid ""
+"Optional name for the 2D physics layer 15. If left empty, the layer will "
+"display as \"Layer 15\"."
+msgstr "2D 物理层 15 的可选名称。留空则会显示为“层 15”。"
+
+msgid ""
+"Optional name for the 2D physics layer 16. If left empty, the layer will "
+"display as \"Layer 16\"."
+msgstr "2D 物理层 16 的可选名称。留空则会显示为“层 16”。"
+
+msgid ""
+"Optional name for the 2D physics layer 17. If left empty, the layer will "
+"display as \"Layer 17\"."
+msgstr "2D 物理层 17 的可选名称。留空则会显示为“层 17”。"
+
+msgid ""
+"Optional name for the 2D physics layer 18. If left empty, the layer will "
+"display as \"Layer 18\"."
+msgstr "2D 物理层 18 的可选名称。留空则会显示为“层 18”。"
+
+msgid ""
+"Optional name for the 2D physics layer 19. If left empty, the layer will "
+"display as \"Layer 19\"."
+msgstr "2D 物理层 19 的可选名称。留空则会显示为“层 19”。"
+
+msgid ""
+"Optional name for the 2D physics layer 2. If left empty, the layer will "
+"display as \"Layer 2\"."
+msgstr "2D 物理层 2 的可选名称。留空则会显示为“层 2”。"
+
+msgid ""
+"Optional name for the 2D physics layer 20. If left empty, the layer will "
+"display as \"Layer 20\"."
+msgstr "2D 物理层 20 的可选名称。留空则会显示为“层 20”。"
+
+msgid ""
+"Optional name for the 2D physics layer 21. If left empty, the layer will "
+"display as \"Layer 21\"."
+msgstr "2D 物理层 21 的可选名称。留空则会显示为“层 21”。"
+
+msgid ""
+"Optional name for the 2D physics layer 22. If left empty, the layer will "
+"display as \"Layer 22\"."
+msgstr "2D 物理层 22 的可选名称。留空则会显示为“层 22”。"
+
+msgid ""
+"Optional name for the 2D physics layer 23. If left empty, the layer will "
+"display as \"Layer 23\"."
+msgstr "2D 物理层 23 的可选名称。留空则会显示为“层 23”。"
+
+msgid ""
+"Optional name for the 2D physics layer 24. If left empty, the layer will "
+"display as \"Layer 24\"."
+msgstr "2D 物理层 24 的可选名称。留空则会显示为“层 24”。"
+
+msgid ""
+"Optional name for the 2D physics layer 25. If left empty, the layer will "
+"display as \"Layer 25\"."
+msgstr "2D 物理层 25 的可选名称。留空则会显示为“层 25”。"
+
+msgid ""
+"Optional name for the 2D physics layer 26. If left empty, the layer will "
+"display as \"Layer 26\"."
+msgstr "2D 物理层 26 的可选名称。留空则会显示为“层 26”。"
+
+msgid ""
+"Optional name for the 2D physics layer 27. If left empty, the layer will "
+"display as \"Layer 27\"."
+msgstr "2D 物理层 27 的可选名称。留空则会显示为“层 27”。"
+
+msgid ""
+"Optional name for the 2D physics layer 28. If left empty, the layer will "
+"display as \"Layer 28\"."
+msgstr "2D 物理层 28 的可选名称。留空则会显示为“层 28”。"
+
+msgid ""
+"Optional name for the 2D physics layer 29. If left empty, the layer will "
+"display as \"Layer 29\"."
+msgstr "2D 物理层 29 的可选名称。留空则会显示为“层 29”。"
+
+msgid ""
+"Optional name for the 2D physics layer 3. If left empty, the layer will "
+"display as \"Layer 3\"."
+msgstr "2D 物理层 3 的可选名称。留空则会显示为“层 3”。"
+
+msgid ""
+"Optional name for the 2D physics layer 30. If left empty, the layer will "
+"display as \"Layer 30\"."
+msgstr "2D 物理层 30 的可选名称。留空则会显示为“层 30”。"
+
+msgid ""
+"Optional name for the 2D physics layer 31. If left empty, the layer will "
+"display as \"Layer 31\"."
+msgstr "2D 物理层 31 的可选名称。留空则会显示为“层 31”。"
+
+msgid ""
+"Optional name for the 2D physics layer 32. If left empty, the layer will "
+"display as \"Layer 32\"."
+msgstr "2D 物理层 32 的可选名称。留空则会显示为“层 32”。"
+
+msgid ""
+"Optional name for the 2D physics layer 4. If left empty, the layer will "
+"display as \"Layer 4\"."
+msgstr "2D 物理层 4 的可选名称。留空则会显示为“层 4”。"
+
+msgid ""
+"Optional name for the 2D physics layer 5. If left empty, the layer will "
+"display as \"Layer 5\"."
+msgstr "2D 物理层 5 的可选名称。留空则会显示为“层 5”。"
+
+msgid ""
+"Optional name for the 2D physics layer 6. If left empty, the layer will "
+"display as \"Layer 6\"."
+msgstr "2D 物理层 6 的可选名称。留空则会显示为“层 6”。"
+
+msgid ""
+"Optional name for the 2D physics layer 7. If left empty, the layer will "
+"display as \"Layer 7\"."
+msgstr "2D 物理层 7 的可选名称。留空则会显示为“层 7”。"
+
+msgid ""
+"Optional name for the 2D physics layer 8. If left empty, the layer will "
+"display as \"Layer 8\"."
+msgstr "2D 物理层 8 的可选名称。留空则会显示为“层 8”。"
+
+msgid ""
+"Optional name for the 2D physics layer 9. If left empty, the layer will "
+"display as \"Layer 9\"."
+msgstr "2D 物理层 9 的可选名称。留空则会显示为“层 9”。"
+
+msgid ""
+"Optional name for the 2D render layer 1. If left empty, the layer will "
+"display as \"Layer 1\"."
+msgstr "2D 渲染层 1 的可选名称。留空则会显示为“层 1”。"
+
+msgid ""
+"Optional name for the 2D render layer 10. If left empty, the layer will "
+"display as \"Layer 10\"."
+msgstr "2D 渲染层 10 的可选名称。留空则会显示为“层 10”。"
+
+msgid ""
+"Optional name for the 2D render layer 11. If left empty, the layer will "
+"display as \"Layer 11\"."
+msgstr "2D 渲染层 11 的可选名称。留空则会显示为“层 11”。"
+
+msgid ""
+"Optional name for the 2D render layer 12. If left empty, the layer will "
+"display as \"Layer 12\"."
+msgstr "2D 渲染层 12 的可选名称。留空则会显示为“层 12”。"
+
+msgid ""
+"Optional name for the 2D render layer 13. If left empty, the layer will "
+"display as \"Layer 13\"."
+msgstr "2D 渲染层 13 的可选名称。留空则会显示为“层 13”。"
+
+msgid ""
+"Optional name for the 2D render layer 14. If left empty, the layer will "
+"display as \"Layer 14\"."
+msgstr "2D 渲染层 14 的可选名称。留空则会显示为“层 14”。"
+
+msgid ""
+"Optional name for the 2D render layer 15. If left empty, the layer will "
+"display as \"Layer 15\"."
+msgstr "2D 渲染层 15 的可选名称。留空则会显示为“层 15”。"
+
+msgid ""
+"Optional name for the 2D render layer 16. If left empty, the layer will "
+"display as \"Layer 16\"."
+msgstr "2D 渲染层 16 的可选名称。留空则会显示为“层 16”。"
+
+msgid ""
+"Optional name for the 2D render layer 17. If left empty, the layer will "
+"display as \"Layer 17\"."
+msgstr "2D 渲染层 17 的可选名称。留空则会显示为“层 17”。"
+
+msgid ""
+"Optional name for the 2D render layer 18. If left empty, the layer will "
+"display as \"Layer 18\"."
+msgstr "2D 渲染层 18 的可选名称。留空则会显示为“层 18”。"
+
+msgid ""
+"Optional name for the 2D render layer 19. If left empty, the layer will "
+"display as \"Layer 19\"."
+msgstr "2D 渲染层 19 的可选名称。留空则会显示为“层 19”。"
+
+msgid ""
+"Optional name for the 2D render layer 2. If left empty, the layer will "
+"display as \"Layer 2\"."
+msgstr "2D 渲染层 2 的可选名称。留空则会显示为“层 2”。"
+
+msgid ""
+"Optional name for the 2D render layer 20. If left empty, the layer will "
+"display as \"Layer 20\"."
+msgstr "2D 渲染层 20 的可选名称。留空则会显示为“层 20”。"
+
+msgid ""
+"Optional name for the 2D render layer 3. If left empty, the layer will "
+"display as \"Layer 3\"."
+msgstr "2D 渲染层 3 的可选名称。留空则会显示为“层 3”。"
+
+msgid ""
+"Optional name for the 2D render layer 4. If left empty, the layer will "
+"display as \"Layer 4\"."
+msgstr "2D 渲染层 4 的可选名称。留空则会显示为“层 4”。"
+
+msgid ""
+"Optional name for the 2D render layer 5. If left empty, the layer will "
+"display as \"Layer 5\"."
+msgstr "2D 渲染层 5 的可选名称。留空则会显示为“层 5”。"
+
+msgid ""
+"Optional name for the 2D render layer 6. If left empty, the layer will "
+"display as \"Layer 6\"."
+msgstr "2D 渲染层 6 的可选名称。留空则会显示为“层 6”。"
+
+msgid ""
+"Optional name for the 2D render layer 7. If left empty, the layer will "
+"display as \"Layer 7\"."
+msgstr "2D 渲染层 7 的可选名称。留空则会显示为“层 7”。"
+
+msgid ""
+"Optional name for the 2D render layer 8. If left empty, the layer will "
+"display as \"Layer 8\"."
+msgstr "2D 渲染层 8 的可选名称。留空则会显示为“层 8”。"
+
+msgid ""
+"Optional name for the 2D render layer 9. If left empty, the layer will "
+"display as \"Layer 9\"."
+msgstr "2D 渲染层 9 的可选名称。留空则会显示为“层 9”。"
+
+msgid ""
"Optional name for the 3D navigation layer 1. If left empty, the layer will "
"display as \"Layer 1\"."
msgstr "3D 导航层 1 的可选名称。留空则会显示为“层 1”。"
@@ -21404,6 +39396,261 @@ msgid ""
msgstr "3D 导航层 9 的可选名称。留空则会显示为“层 9”。"
msgid ""
+"Optional name for the 3D physics layer 1. If left empty, the layer will "
+"display as \"Layer 1\"."
+msgstr "3D 物理层 1 的可选名称。留空则会显示为“层 1”。"
+
+msgid ""
+"Optional name for the 3D physics layer 10. If left empty, the layer will "
+"display as \"Layer 10\"."
+msgstr "3D 物理层 10 的可选名称。留空则会显示为“层 10”。"
+
+msgid ""
+"Optional name for the 3D physics layer 11. If left empty, the layer will "
+"display as \"Layer 11\"."
+msgstr "3D 物理层 11 的可选名称。留空则会显示为“层 11”。"
+
+msgid ""
+"Optional name for the 3D physics layer 12. If left empty, the layer will "
+"display as \"Layer 12\"."
+msgstr "3D 物理层 12 的可选名称。留空则会显示为“层 12”。"
+
+msgid ""
+"Optional name for the 3D physics layer 13. If left empty, the layer will "
+"display as \"Layer 13\"."
+msgstr "3D 物理层 13 的可选名称。留空则会显示为“层 13”。"
+
+msgid ""
+"Optional name for the 3D physics layer 14. If left empty, the layer will "
+"display as \"Layer 14\"."
+msgstr "3D 物理层 14 的可选名称。留空则会显示为“层 14”。"
+
+msgid ""
+"Optional name for the 3D physics layer 15. If left empty, the layer will "
+"display as \"Layer 15\"."
+msgstr "3D 物理层 15 的可选名称。留空则会显示为“层 15”。"
+
+msgid ""
+"Optional name for the 3D physics layer 16. If left empty, the layer will "
+"display as \"Layer 16\"."
+msgstr "3D 物理层 16 的可选名称。留空则会显示为“层 16”。"
+
+msgid ""
+"Optional name for the 3D physics layer 17. If left empty, the layer will "
+"display as \"Layer 17\"."
+msgstr "3D 物理层 17 的可选名称。留空则会显示为“层 17”。"
+
+msgid ""
+"Optional name for the 3D physics layer 18. If left empty, the layer will "
+"display as \"Layer 18\"."
+msgstr "3D 物理层 18 的可选名称。留空则会显示为“层 18”。"
+
+msgid ""
+"Optional name for the 3D physics layer 19. If left empty, the layer will "
+"display as \"Layer 19\"."
+msgstr "3D 物理层 19 的可选名称。留空则会显示为“层 19”。"
+
+msgid ""
+"Optional name for the 3D physics layer 2. If left empty, the layer will "
+"display as \"Layer 2\"."
+msgstr "3D 物理层 2 的可选名称。留空则会显示为“层 2”。"
+
+msgid ""
+"Optional name for the 3D physics layer 20. If left empty, the layer will "
+"display as \"Layer 20\"."
+msgstr "3D 物理层 20 的可选名称。留空则会显示为“层 20”。"
+
+msgid ""
+"Optional name for the 3D physics layer 21. If left empty, the layer will "
+"display as \"Layer 21\"."
+msgstr "3D 物理层 21 的可选名称。留空则会显示为“层 21”。"
+
+msgid ""
+"Optional name for the 3D physics layer 22. If left empty, the layer will "
+"display as \"Layer 22\"."
+msgstr "3D 物理层 22 的可选名称。留空则会显示为“层 22”。"
+
+msgid ""
+"Optional name for the 3D physics layer 23. If left empty, the layer will "
+"display as \"Layer 23\"."
+msgstr "3D 物理层 23 的可选名称。留空则会显示为“层 23”。"
+
+msgid ""
+"Optional name for the 3D physics layer 24. If left empty, the layer will "
+"display as \"Layer 24\"."
+msgstr "3D 物理层 24 的可选名称。留空则会显示为“层 24”。"
+
+msgid ""
+"Optional name for the 3D physics layer 25. If left empty, the layer will "
+"display as \"Layer 25\"."
+msgstr "3D 物理层 25 的可选名称。留空则会显示为“层 25”。"
+
+msgid ""
+"Optional name for the 3D physics layer 26. If left empty, the layer will "
+"display as \"Layer 26\"."
+msgstr "3D 物理层 26 的可选名称。留空则会显示为“层 26”。"
+
+msgid ""
+"Optional name for the 3D physics layer 27. If left empty, the layer will "
+"display as \"Layer 27\"."
+msgstr "3D 物理层 27 的可选名称。留空则会显示为“层 27”。"
+
+msgid ""
+"Optional name for the 3D physics layer 28. If left empty, the layer will "
+"display as \"Layer 28\"."
+msgstr "3D 物理层 28 的可选名称。留空则会显示为“层 28”。"
+
+msgid ""
+"Optional name for the 3D physics layer 29. If left empty, the layer will "
+"display as \"Layer 29\"."
+msgstr "3D 物理层 29 的可选名称。留空则会显示为“层 29”。"
+
+msgid ""
+"Optional name for the 3D physics layer 3. If left empty, the layer will "
+"display as \"Layer 3\"."
+msgstr "3D 物理层 3 的可选名称。留空则会显示为“层 3”。"
+
+msgid ""
+"Optional name for the 3D physics layer 30. If left empty, the layer will "
+"display as \"Layer 30\"."
+msgstr "3D 物理层 30 的可选名称。留空则会显示为“层 30”。"
+
+msgid ""
+"Optional name for the 3D physics layer 31. If left empty, the layer will "
+"display as \"Layer 31\"."
+msgstr "3D 物理层 31 的可选名称。留空则会显示为“层 31”。"
+
+msgid ""
+"Optional name for the 3D physics layer 32. If left empty, the layer will "
+"display as \"Layer 32\"."
+msgstr "3D 物理层 32 的可选名称。留空则会显示为“层 32”。"
+
+msgid ""
+"Optional name for the 3D physics layer 4. If left empty, the layer will "
+"display as \"Layer 4\"."
+msgstr "3D 物理层 4 的可选名称。留空则会显示为“层 4”。"
+
+msgid ""
+"Optional name for the 3D physics layer 5. If left empty, the layer will "
+"display as \"Layer 5\"."
+msgstr "3D 物理层 5 的可选名称。留空则会显示为“层 5”。"
+
+msgid ""
+"Optional name for the 3D physics layer 6. If left empty, the layer will "
+"display as \"Layer 6\"."
+msgstr "3D 物理层 6 的可选名称。留空则会显示为“层 6”。"
+
+msgid ""
+"Optional name for the 3D physics layer 7. If left empty, the layer will "
+"display as \"Layer 7\"."
+msgstr "3D 物理层 7 的可选名称。留空则会显示为“层 7”。"
+
+msgid ""
+"Optional name for the 3D physics layer 8. If left empty, the layer will "
+"display as \"Layer 8\"."
+msgstr "3D 物理层 8 的可选名称。留空则会显示为“层 8”。"
+
+msgid ""
+"Optional name for the 3D physics layer 9. If left empty, the layer will "
+"display as \"Layer 9\"."
+msgstr "3D 物理层 9 的可选名称。留空则会显示为“层 9”。"
+
+msgid ""
+"Optional name for the 3D render layer 1. If left empty, the layer will "
+"display as \"Layer 1\"."
+msgstr "3D 渲染层 1 的可选名称。留空则会显示为“层 1”。"
+
+msgid ""
+"Optional name for the 3D render layer 10. If left empty, the layer will "
+"display as \"Layer 10\"."
+msgstr "3D 渲染层 10 的可选名称。留空则会显示为“层 10”。"
+
+msgid ""
+"Optional name for the 3D render layer 11. If left empty, the layer will "
+"display as \"Layer 11\"."
+msgstr "3D 渲染层 11 的可选名称。留空则会显示为“层 11”。"
+
+msgid ""
+"Optional name for the 3D render layer 12. If left empty, the layer will "
+"display as \"Layer 12\"."
+msgstr "3D 渲染层 12 的可选名称。留空则会显示为“层 12”。"
+
+msgid ""
+"Optional name for the 3D render layer 13. If left empty, the layer will "
+"display as \"Layer 13\"."
+msgstr "3D 渲染层 13 的可选名称。留空则会显示为“层 13”。"
+
+msgid ""
+"Optional name for the 3D render layer 15. If left empty, the layer will "
+"display as \"Layer 15\"."
+msgstr "3D 渲染层 15 的可选名称。留空则会显示为“层 15”。"
+
+msgid ""
+"Optional name for the 3D render layer 16. If left empty, the layer will "
+"display as \"Layer 16\"."
+msgstr "3D 渲染层 16 的可选名称。留空则会显示为“层 16”。"
+
+msgid ""
+"Optional name for the 3D render layer 17. If left empty, the layer will "
+"display as \"Layer 17\"."
+msgstr "3D 渲染层 17 的可选名称。留空则会显示为“层 17”。"
+
+msgid ""
+"Optional name for the 3D render layer 18. If left empty, the layer will "
+"display as \"Layer 18\"."
+msgstr "3D 渲染层 18 的可选名称。留空则会显示为“层 18”。"
+
+msgid ""
+"Optional name for the 3D render layer 19. If left empty, the layer will "
+"display as \"Layer 19\"."
+msgstr "3D 渲染层 19 的可选名称。留空则会显示为“层 19”。"
+
+msgid ""
+"Optional name for the 3D render layer 2. If left empty, the layer will "
+"display as \"Layer 2\"."
+msgstr "3D 渲染层 2 的可选名称。留空则会显示为“层 2”。"
+
+msgid ""
+"Optional name for the 3D render layer 20. If left empty, the layer will "
+"display as \"Layer 20\"."
+msgstr "3D 渲染层 20 的可选名称。留空则会显示为“层 20”。"
+
+msgid ""
+"Optional name for the 3D render layer 3. If left empty, the layer will "
+"display as \"Layer 3\"."
+msgstr "3D 渲染层 3 的可选名称。留空则会显示为“层 3”。"
+
+msgid ""
+"Optional name for the 3D render layer 4. If left empty, the layer will "
+"display as \"Layer 4\"."
+msgstr "3D 渲染层 4 的可选名称。留空则会显示为“层 4”。"
+
+msgid ""
+"Optional name for the 3D render layer 5. If left empty, the layer will "
+"display as \"Layer 5\"."
+msgstr "3D 渲染层 5 的可选名称。留空则会显示为“层 5”。"
+
+msgid ""
+"Optional name for the 3D render layer 6. If left empty, the layer will "
+"display as \"Layer 6\"."
+msgstr "3D 渲染层 6 的可选名称。留空则会显示为“层 6”。"
+
+msgid ""
+"Optional name for the 3D render layer 7. If left empty, the layer will "
+"display as \"Layer 7\"."
+msgstr "3D 渲染层 7 的可选名称。留空则会显示为“层 7”。"
+
+msgid ""
+"Optional name for the 3D render layer 8. If left empty, the layer will "
+"display as \"Layer 8\"."
+msgstr "3D 渲染层 8 的可选名称。留空则会显示为“层 8”。"
+
+msgid ""
+"Optional name for the 3D render layer 9. If left empty, the layer will "
+"display as \"Layer 9\"."
+msgstr "3D 渲染层 9 的可选名称。留空则会显示为“层 9”。"
+
+msgid ""
"Godot uses a message queue to defer some function calls. If you run out of "
"space on it (you will see an error), you can increase the size here."
msgstr ""
@@ -21421,6 +39668,48 @@ msgstr ""
"增加此数字。"
msgid ""
+"Default cell size for 2D navigation maps. See [method NavigationServer2D."
+"map_set_cell_size]."
+msgstr ""
+"2D 导航地图的默认单元格大小。见 [method NavigationServer2D."
+"map_set_cell_size]。"
+
+msgid ""
+"Default edge connection margin for 2D navigation maps. See [method "
+"NavigationServer2D.map_set_edge_connection_margin]."
+msgstr ""
+"2D 导航地图的默认边界链接边距。见 [method NavigationServer2D."
+"map_set_edge_connection_margin]。"
+
+msgid ""
+"Default link connection radius for 2D navigation maps. See [method "
+"NavigationServer2D.map_set_link_connection_radius]."
+msgstr ""
+"2D 导航地图的默认链接连接半径。见 [method NavigationServer2D."
+"map_set_link_connection_radius]。"
+
+msgid ""
+"Default cell size for 3D navigation maps. See [method NavigationServer3D."
+"map_set_cell_size]."
+msgstr ""
+"3D 导航地图的默认单元格大小。见 [method NavigationServer3D."
+"map_set_cell_size]。"
+
+msgid ""
+"Default edge connection margin for 3D navigation maps. See [method "
+"NavigationServer3D.map_set_edge_connection_margin]."
+msgstr ""
+"3D 导航地图的默认边界链接边距。见 [method NavigationServer3D."
+"map_set_edge_connection_margin]。"
+
+msgid ""
+"Default link connection radius for 3D navigation maps. See [method "
+"NavigationServer3D.map_set_link_connection_radius]."
+msgstr ""
+"3D 导航地图的默认链接连接半径。见 [method NavigationServer3D."
+"map_set_link_connection_radius]。"
+
+msgid ""
"Default size of packet peer stream for deserializing Godot data (in bytes, "
"specified as a power of two). The default value [code]16[/code] is equal to "
"65,536 bytes. Over this size, data is dropped."
@@ -21445,10 +39734,336 @@ msgstr ""
msgid "Page size used by remote filesystem (in bytes)."
msgstr "远程文件系统使用的页面大小(字节)。"
+msgid ""
+"The default gravity strength in 2D (in pixels per second squared).\n"
+"[b]Note:[/b] This property is only read when the project starts. To change "
+"the default gravity at runtime, use the following code sample:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Set the default gravity strength to 980.\n"
+"PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, "
+"PhysicsServer2D.AREA_PARAM_GRAVITY, 980)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Set the default gravity strength to 980.\n"
+"PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, "
+"PhysicsServer2D.AreaParameter.Gravity, 980);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"2D 默认重力强度(单位为像素每平方秒)。\n"
+"[b]注意:[/b]这个属性只在项目启动时读取。要在运行时改变默认重力,请使用以下代"
+"码示例:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 将默认重力强度设置为 980。\n"
+"PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, "
+"PhysicsServer2D.AREA_PARAM_GRAVITY, 980)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 将默认重力强度设置为 980。\n"
+"PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, "
+"PhysicsServer2D.AreaParameter.Gravity, 980);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"The default gravity direction in 2D.\n"
+"[b]Note:[/b] This property is only read when the project starts. To change "
+"the default gravity vector at runtime, use the following code sample:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Set the default gravity direction to `Vector2(0, 1)`.\n"
+"PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, "
+"PhysicsServer2D.AREA_PARAM_GRAVITY_VECTOR, Vector2.DOWN)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Set the default gravity direction to `Vector2(0, 1)`.\n"
+"PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, "
+"PhysicsServer2D.AreaParameter.GravityVector, Vector2.Down)\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"2D 默认重力方向。\n"
+"[b]注意:[/b]这个属性只在项目启动时读取。要在运行时改变默认重力向量,请使用以"
+"下代码示例:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 将默认整理方向设置为 `Vector2(0, 1)`。\n"
+"PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, "
+"PhysicsServer2D.AREA_PARAM_GRAVITY_VECTOR, Vector2.DOWN)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 将默认整理方向设置为 `Vector2(0, 1)`。\n"
+"PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, "
+"PhysicsServer2D.AreaParameter.GravityVector, Vector2.Down)\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Sets which physics engine to use for 2D physics.\n"
+"\"DEFAULT\" and \"GodotPhysics2D\" are the same, as there is currently no "
+"alternative 2D physics server implemented."
+msgstr ""
+"设置 2D 物理使用哪个物理引擎。\n"
+"“DEFAULT”和“GodotPhysics2D”是相同的,因为目前尚未实现备选 2D 物理服务器。"
+
+msgid ""
+"If [code]true[/code], the 2D physics server runs on a separate thread, "
+"making better use of multi-core CPUs. If [code]false[/code], the 2D physics "
+"server runs on the main thread. Running the physics server on a separate "
+"thread can increase performance, but restricts API access to only physics "
+"process."
+msgstr ""
+"如果为 [code]true[/code],则 2D 物理服务器会在单独的线程上运行,能够更好地利"
+"用多核 CPU。如果为 [code]false[/code],则 2D 物理服务器会在主线程上运行。在单"
+"独的线程上运行物理服务器能够提高性能,但会把对 API 的访问限制在物理处理中。"
+
+msgid ""
+"Threshold angular velocity under which a 2D physics body will be considered "
+"inactive. See [constant PhysicsServer2D."
+"SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD]."
+msgstr ""
+"角速度的阈值,在该阈值以下的 2D 物理体将被视为不活动。见 [constant "
+"PhysicsServer2D.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD]。"
+
+msgid ""
+"Threshold linear velocity under which a 2D physics body will be considered "
+"inactive. See [constant PhysicsServer2D."
+"SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]."
+msgstr ""
+"线速度的阈值,在该阈值以下的 2D 物理体将被视为不活动。见 [constant "
+"PhysicsServer2D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]。"
+
+msgid ""
+"Maximum distance a shape can penetrate another shape before it is considered "
+"a collision. See [constant PhysicsServer2D."
+"SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION]."
+msgstr ""
+"两个形状互相穿透的最大距离,超过该距离后将视为碰撞。见 [constant "
+"PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION]。"
+
+msgid ""
+"Maximum distance a shape can be from another before they are considered "
+"separated and the contact is discarded. See [constant PhysicsServer2D."
+"SPACE_PARAM_CONTACT_MAX_SEPARATION]."
+msgstr ""
+"两个形状间的最大距离,超过该距离后它们将被视为分离,接触将被弃置。见 "
+"[constant PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_SEPARATION]。"
+
+msgid ""
+"Maximum distance a pair of bodies has to move before their collision status "
+"has to be recalculated. See [constant PhysicsServer2D."
+"SPACE_PARAM_CONTACT_RECYCLE_RADIUS]."
+msgstr ""
+"一对物体在其碰撞状态被重新计算之前的最大移动距离。见 [constant "
+"PhysicsServer2D.SPACE_PARAM_CONTACT_RECYCLE_RADIUS]。"
+
+msgid ""
+"Time (in seconds) of inactivity before which a 2D physics body will put to "
+"sleep. See [constant PhysicsServer2D.SPACE_PARAM_BODY_TIME_TO_SLEEP]."
+msgstr ""
+"2D 物理物体进入睡眠状态之前,所需的不活动时间(以秒为单位)。请参阅 "
+"[constant PhysicsServer2D.SPACE_PARAM_BODY_TIME_TO_SLEEP]。"
+
+msgid ""
+"The default gravity strength in 3D (in meters per second squared).\n"
+"[b]Note:[/b] This property is only read when the project starts. To change "
+"the default gravity at runtime, use the following code sample:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Set the default gravity strength to 9.8.\n"
+"PhysicsServer3D.area_set_param(get_viewport().find_world().space, "
+"PhysicsServer3D.AREA_PARAM_GRAVITY, 9.8)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Set the default gravity strength to 9.8.\n"
+"PhysicsServer3D.AreaSetParam(GetViewport().FindWorld().Space, "
+"PhysicsServer3D.AreaParameter.Gravity, 9.8);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"3D 默认重力强度(单位为米每平方秒)。\n"
+"[b]注意:[/b]这个属性只在项目启动时读取。要在运行时改变默认重力,请使用以下代"
+"码示例:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 将默认重力强度设置为 980。\n"
+"PhysicsServer3D.area_set_param(get_viewport().find_world().space, "
+"PhysicsServer3D.AREA_PARAM_GRAVITY, 9.8)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 将默认重力强度设置为 980。\n"
+"PhysicsServer3D.AreaSetParam(GetViewport().FindWorld().Space, "
+"PhysicsServer3D.AreaParameter.Gravity, 9.8);\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"The default gravity direction in 3D.\n"
+"[b]Note:[/b] This property is only read when the project starts. To change "
+"the default gravity vector at runtime, use the following code sample:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Set the default gravity direction to `Vector3(0, -1, 0)`.\n"
+"PhysicsServer3D.area_set_param(get_viewport().find_world().get_space(), "
+"PhysicsServer3D.AREA_PARAM_GRAVITY_VECTOR, Vector3.DOWN)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Set the default gravity direction to `Vector3(0, -1, 0)`.\n"
+"PhysicsServer3D.AreaSetParam(GetViewport().FindWorld().Space, "
+"PhysicsServer3D.AreaParameter.GravityVector, Vector3.Down)\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"3D 默认重力方向。\n"
+"[b]注意:[/b]这个属性只在项目启动时读取。要在运行时改变默认重力向量,请使用以"
+"下代码示例:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 将默认整理方向设置为 `Vector3(0, -1, 0)`。\n"
+"PhysicsServer3D.area_set_param(get_viewport().find_world().get_space(), "
+"PhysicsServer3D.AREA_PARAM_GRAVITY_VECTOR, Vector3.DOWN)\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 将默认整理方向设置为 `Vector3(0, -1, 0)`。\n"
+"PhysicsServer3D.AreaSetParam(GetViewport().FindWorld().Space, "
+"PhysicsServer3D.AreaParameter.GravityVector, Vector3.Down)\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Sets which physics engine to use for 3D physics.\n"
+"\"DEFAULT\" and \"GodotPhysics3D\" are the same, as there is currently no "
+"alternative 3D physics server implemented."
+msgstr ""
+"设置 3D 物理使用哪个物理引擎。\n"
+"“DEFAULT”和“GodotPhysics3D”是相同的,因为目前尚未实现备选 3D 物理服务器。"
+
+msgid ""
+"If [code]true[/code], the 3D physics server runs on a separate thread, "
+"making better use of multi-core CPUs. If [code]false[/code], the 3D physics "
+"server runs on the main thread. Running the physics server on a separate "
+"thread can increase performance, but restricts API access to only physics "
+"process."
+msgstr ""
+"如果为 [code]true[/code],则 3D 物理服务器会在单独的线程上运行,能够更好地利"
+"用多核 CPU。如果为 [code]false[/code],则 3D 物理服务器会在主线程上运行。在单"
+"独的线程上运行物理服务器能够提高性能,但会把对 API 的访问限制在物理处理中。"
+
+msgid ""
+"Threshold angular velocity under which a 3D physics body will be considered "
+"inactive. See [constant PhysicsServer3D."
+"SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD]."
+msgstr ""
+"角速度的阈值,在该阈值以下的 3D 物理体将被视为不活动。见 [constant "
+"PhysicsServer3D.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD]。"
+
+msgid ""
+"Threshold linear velocity under which a 3D physics body will be considered "
+"inactive. See [constant PhysicsServer3D."
+"SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]."
+msgstr ""
+"线速度的阈值,在该阈值以下的 3D 物理体将被视为不活动。见 [constant "
+"PhysicsServer3D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]。"
+
+msgid ""
+"Maximum distance a shape can penetrate another shape before it is considered "
+"a collision. See [constant PhysicsServer3D."
+"SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION]."
+msgstr ""
+"两个形状互相穿透的最大距离,超过该距离后将视为碰撞。见 [constant "
+"PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION]。 [constant "
+"PhysicsServer3D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION]。"
+
+msgid ""
+"Maximum distance a shape can be from another before they are considered "
+"separated and the contact is discarded. See [constant PhysicsServer3D."
+"SPACE_PARAM_CONTACT_MAX_SEPARATION]."
+msgstr ""
+"两个形状间的最大距离,超过该距离后它们将被视为分离,接触将被弃置。见 "
+"[constant PhysicsServer3D.SPACE_PARAM_CONTACT_MAX_SEPARATION]。"
+
+msgid ""
+"Maximum distance a pair of bodies has to move before their collision status "
+"has to be recalculated. See [constant PhysicsServer3D."
+"SPACE_PARAM_CONTACT_RECYCLE_RADIUS]."
+msgstr ""
+"一对物体在其碰撞状态被重新计算之前的最大移动距离。见 [constant "
+"PhysicsServer3D.SPACE_PARAM_CONTACT_RECYCLE_RADIUS]。"
+
+msgid ""
+"Number of solver iterations for all contacts and constraints. The greater "
+"the number of iterations, the more accurate the collisions will be. However, "
+"a greater number of iterations requires more CPU power, which can decrease "
+"performance. See [constant PhysicsServer3D.SPACE_PARAM_SOLVER_ITERATIONS]."
+msgstr ""
+"所有接触与约束的求解器迭代数。迭代次数越多,碰撞越准确。但是,大量的迭代会需"
+"要更多的 CPU 能力,会降低性能。见 [constant PhysicsServer3D."
+"SPACE_PARAM_SOLVER_ITERATIONS]。"
+
+msgid ""
+"Time (in seconds) of inactivity before which a 3D physics body will put to "
+"sleep. See [constant PhysicsServer3D.SPACE_PARAM_BODY_TIME_TO_SLEEP]."
+msgstr ""
+"3D 物理物体进入睡眠状态之前,所需的不活动时间(以秒为单位)。请参阅 "
+"[constant PhysicsServer3D.SPACE_PARAM_BODY_TIME_TO_SLEEP]。"
+
msgid "Enables [member Viewport.physics_object_picking] on the root viewport."
msgstr "在根视图上启用 [member Viewport.physics_object_picking]。"
msgid ""
+"Controls the maximum number of physics steps that can be simulated each "
+"rendered frame. The default value is tuned to avoid \"spiral of death\" "
+"situations where expensive physics simulations trigger more expensive "
+"simulations indefinitely. However, the game will appear to slow down if the "
+"rendering FPS is less than [code]1 / max_physics_steps_per_frame[/code] of "
+"[member physics/common/physics_ticks_per_second]. This occurs even if "
+"[code]delta[/code] is consistently used in physics calculations. To avoid "
+"this, increase [member physics/common/max_physics_steps_per_frame] if you "
+"have increased [member physics/common/physics_ticks_per_second] "
+"significantly above its default value.\n"
+"[b]Note:[/b] This property is only read when the project starts. To change "
+"the maximum number of simulated physics steps per frame at runtime, set "
+"[member Engine.max_physics_steps_per_frame] instead."
+msgstr ""
+"控制每个渲染帧所能模拟的最大物理步骤数。默认值经过调试,可以避免“死亡螺旋”,"
+"防止开销较大的物理仿真无限触发开销更大的仿真。不过如果渲染 FPS 小于 [member "
+"physics/common/physics_ticks_per_second] 的 [code]1 / "
+"max_physics_steps_per_frame[/code],游戏看上去会是降速的。即便在物理计算中始"
+"终使用 [code]delta[/code] 也一样会发生。要避免这种情况,如果增大了 [member "
+"physics/common/physics_ticks_per_second],而且远大于默认值,那么建议将 "
+"[member physics/common/max_physics_steps_per_frame] 也调大。\n"
+"[b]注意:[/b]这个属性只在项目启动时读取。要在运行时改变每帧模拟的最大物理步骤"
+"数,请改为设置 [member Engine.max_physics_steps_per_frame]。"
+
+msgid ""
+"The number of fixed iterations per second. This controls how often physics "
+"simulation and [method Node._physics_process] methods are run. See also "
+"[member application/run/max_fps].\n"
+"[b]Note:[/b] This property is only read when the project starts. To change "
+"the physics FPS at runtime, set [member Engine.physics_ticks_per_second] "
+"instead.\n"
+"[b]Note:[/b] Only [member physics/common/max_physics_steps_per_frame] "
+"physics ticks may be simulated per rendered frame at most. If more physics "
+"ticks have to be simulated per rendered frame to keep up with rendering, the "
+"project will appear to slow down (even if [code]delta[/code] is used "
+"consistently in physics calculations). Therefore, it is recommended to also "
+"increase [member physics/common/max_physics_steps_per_frame] if increasing "
+"[member physics/common/physics_ticks_per_second] significantly above its "
+"default value."
+msgstr ""
+"每秒执行的固定迭代次数。用于控制物理仿真和 [method Node._physics_process] 的"
+"执行频率。另见 [member application/run/max_fps]。\n"
+"[b]注意:[/b]这个属性只在项目启动时读取。要在运行时改变物理 FPS,请改为设置 "
+"[member Engine.iterations_per_second]。\n"
+"[b]注意:[/b]每个渲染帧最多只能模拟 [member max_physics_steps_per_frame] 个物"
+"理周期。如果为了追赶渲染,需要在每个渲染帧中模拟更多物理周期,游戏看上去会是"
+"降速的(即便在物理计算中始终使用 [code]delta[/code])。因此,如果增大了 "
+"[member physics/common/physics_ticks_per_second],而且远大于默认值,那么建议"
+"将 [member physics/common/max_physics_steps_per_frame] 也调大。"
+
+msgid ""
"Thread model for rendering. Rendering on a thread can vastly improve "
"performance, but synchronizing to the main thread can cause a bit more "
"jitter."
@@ -21457,11 +40072,197 @@ msgstr ""
"多的抖动。"
msgid ""
+"Default background clear color. Overridable per [Viewport] using its "
+"[Environment]. See [member Environment.background_mode] and [member "
+"Environment.background_color] in particular. To change this default color "
+"programmatically, use [method RenderingServer.set_default_clear_color]."
+msgstr ""
+"默认清屏颜色。[Viewport] 可使用其 [Environment] 进行覆盖。具体见 [member "
+"Environment.background_mode] 和 [member Environment.background_color]。要通过"
+"代码更改此默认颜色,请使用 [method RenderingServer.set_default_clear_color]。"
+
+msgid ""
+"Quality target to use when [member rendering/environment/ssao/quality] is "
+"set to [code]Ultra[/code]. A value of [code]0.0[/code] provides a quality "
+"and speed similar to [code]Medium[/code] while a value of [code]1.0[/code] "
+"provides much higher quality than any of the other settings at the cost of "
+"performance."
+msgstr ""
+"当 [member rendering/environment/ssao/quality] 被设置为 [code]Ultra[/code] 时"
+"所使用的质量目标。值为 [code]0.0[/code] 时的质量和速度与 [code]Medium[/code] "
+"相似,而值为 [code]1.0[/code] 时的质量比其他任何设置都要高得多,代价是牺牲性"
+"能。"
+
+msgid ""
+"Number of blur passes to use when computing screen-space ambient occlusion. "
+"A higher number will result in a smoother look, but will be slower to "
+"compute and will have less high-frequency detail."
+msgstr ""
+"模糊通道数,在计算屏幕空间环境光遮蔽时使用。数值越大,外观越平滑,但计算速度"
+"会变慢,高频细节也会变少。"
+
+msgid ""
+"Distance at which the screen-space ambient occlusion effect starts to fade "
+"out. Use this hide ambient occlusion at great distances."
+msgstr ""
+"屏幕空间环境光遮蔽效果开始淡出的距离。使用该属性可以在远距离处隐藏环境光遮"
+"蔽。"
+
+msgid ""
+"Distance at which the screen-space ambient occlusion is fully faded out. Use "
+"this hide ambient occlusion at great distances."
+msgstr ""
+"屏幕空间环境光遮蔽效果完全淡出的距离。使用该属性可以在远距离处隐藏环境光遮"
+"蔽。"
+
+msgid ""
+"If [code]true[/code], screen-space ambient occlusion will be rendered at "
+"half size and then upscaled before being added to the scene. This is "
+"significantly faster but may miss small details. If [code]false[/code], "
+"screen-space ambient occlusion will be rendered at full size."
+msgstr ""
+"如果为 [code]true[/code],屏幕空间环境光遮蔽将以一半大小渲染,然后在被添加到"
+"场景之前放大。这明显更快,但可能会遗漏一些小细节。如果为 [code]false[/code],"
+"屏幕空间环境光遮蔽将以全尺寸渲染。"
+
+msgid ""
+"Quality target to use when [member rendering/environment/ssil/quality] is "
+"set to [code]Ultra[/code]. A value of [code]0.0[/code] provides a quality "
+"and speed similar to [code]Medium[/code] while a value of [code]1.0[/code] "
+"provides much higher quality than any of the other settings at the cost of "
+"performance. When using the adaptive target, the performance cost scales "
+"with the complexity of the scene."
+msgstr ""
+"当 [member rendering/environment/ssil/quality] 被设置为 [code]Ultra[/code] 时"
+"所使用的质量目标。值为 [code]0.0[/code] 时的质量和速度与 [code]Medium[/code] "
+"相似,而值为 [code]1.0[/code] 时的质量比其他任何设置都要高得多,代价是牺牲性"
+"能。使用适应目标时,性能损耗与场景复杂度成正比。"
+
+msgid ""
+"Number of blur passes to use when computing screen-space indirect lighting. "
+"A higher number will result in a smoother look, but will be slower to "
+"compute and will have less high-frequency detail."
+msgstr ""
+"模糊通道数,在计算屏幕空间间接光照时使用。数值越大,外观越平滑,但计算速度会"
+"变慢,高频细节也会变少。"
+
+msgid ""
+"Distance at which the screen-space indirect lighting effect starts to fade "
+"out. Use this hide screen-space indirect lighting at great distances."
+msgstr ""
+"屏幕空间间接光照效果开始淡出的距离。使用该属性可以在远距离处隐藏屏幕空间间接"
+"光照。"
+
+msgid ""
+"Distance at which the screen-space indirect lighting is fully faded out. Use "
+"this hide screen-space indirect lighting at great distances."
+msgstr ""
+"屏幕空间间接光照效果完全淡出的距离。使用该属性可以在远距离处隐藏屏幕空间间接"
+"光照。"
+
+msgid ""
+"If [code]true[/code], screen-space indirect lighting will be rendered at "
+"half size and then upscaled before being added to the scene. This is "
+"significantly faster but may miss small details and may result in some "
+"objects appearing to glow at their edges."
+msgstr ""
+"如果为 [code]true[/code],屏幕空间间接光照将以一半大小渲染,然后在被添加到场"
+"景之前放大。这明显更快,但可能会遗漏一些小细节,部分对象的边缘也会出现发光的"
+"情况。"
+
+msgid ""
+"Sets the driver to be used by the renderer when using the Compatibility "
+"renderer. This property can not be edited directly, instead, set the driver "
+"using the platform-specific overrides."
+msgstr ""
+"设置渲染器驱动程序,在使用 Compatibility(兼容性)渲染器时使用。这个属性不能"
+"直接编辑,请改用特定平台的覆盖项来设置驱动程序。"
+
+msgid "Android override for [member rendering/gl_compatibility/driver]."
+msgstr "[member rendering/gl_compatibility/driver] 在 Android 的覆盖项。"
+
+msgid "iOS override for [member rendering/gl_compatibility/driver]."
+msgstr "[member rendering/gl_compatibility/driver] 在 iOS 的覆盖项。"
+
+msgid "LinuxBSD override for [member rendering/gl_compatibility/driver]."
+msgstr "[member rendering/gl_compatibility/driver] 在 LinuxBSD 的覆盖项。"
+
+msgid "macOS override for [member rendering/gl_compatibility/driver]."
+msgstr "[member rendering/gl_compatibility/driver] 在 macOS 的覆盖项。"
+
+msgid "Web override for [member rendering/gl_compatibility/driver]."
+msgstr "[member rendering/gl_compatibility/driver] 在 Web 的覆盖项。"
+
+msgid "Windows override for [member rendering/gl_compatibility/driver]."
+msgstr "[member rendering/gl_compatibility/driver] 在 Windows 的覆盖项。"
+
+msgid ""
+"Maximum number of canvas items commands that can be drawn in a single "
+"viewport update. If more render commands are issued they will be ignored. "
+"Decreasing this limit may improve performance on bandwidth limited devices. "
+"Increase this limit if you find that not all objects are being drawn in a "
+"frame."
+msgstr ""
+"单次视口更新中能够绘制的画布项目命令的最大数量。如果发出了更多的渲染命令,就"
+"会被忽略。降低这个限制可以在带宽有限的设备上提高性能。如果你发现不是所有的对"
+"象都在同一帧中被绘制,请提高这个限制。"
+
+msgid ""
"Subdivision quadrant size for shadow mapping. See shadow mapping "
"documentation."
msgstr "阴影贴图的细分象限大小。请参阅阴影映射文档。"
msgid ""
+"Sets the renderer that will be used by the project. Options are:\n"
+"[b]Forward Plus[/b]: High-end renderer designed for Desktop devices. Has a "
+"higher base overhead, but scales well with complex scenes. Not suitable for "
+"older devices or mobile.\n"
+"[b]Mobile[/b]: Modern renderer designed for mobile devices. Has a lower base "
+"overhead than Forward Plus, but does not scale as well to large scenes with "
+"many elements.\n"
+"[b]GL Compatibility[/b]: Low-end renderer designed for older devices. Based "
+"on the limitations of the OpenGL 3.3/ OpenGL ES 3.0 / WebGL 2 APIs."
+msgstr ""
+"设置项目将使用的渲染器。选项有:\n"
+"[b]Forward Plus[/b]:为桌面设备设计的高端渲染器。有较高的基础开销,但能够很好"
+"地扩展到复杂的场景。不适合老旧设备和移动设备。\n"
+"[b]Mobile[/b]:为移动设备设计的现代渲染器。基础开销比 Forward Plus 低,但在处"
+"理有许多元素的大型场景时,扩展性并不理想。\n"
+"[b]GL Compatibility[/b]:为老旧设备设计的低端渲染器。基于 OpenGL 3.3/ OpenGL "
+"ES 3.0 / WebGL 2 API 的限制。"
+
+msgid ""
+"Override for [member rendering/renderer/rendering_method] on mobile devices."
+msgstr "移动设备的 [member rendering/renderer/rendering_method] 覆盖项。"
+
+msgid "Override for [member rendering/renderer/rendering_method] on web."
+msgstr "Web 平台的 [member rendering/renderer/rendering_method] 覆盖项。"
+
+msgid ""
+"Sets the driver to be used by the renderer when using a RenderingDevice-"
+"based renderer like the clustered renderer or the mobile renderer. This "
+"property can not be edited directly, instead, set the driver using the "
+"platform-specific overrides."
+msgstr ""
+"设置渲染器驱动程序,在使用集群渲染器、移动渲染器等基于 RenderingDevice 的渲染"
+"器时使用。这个属性不能直接编辑,请改用特定平台的覆盖项来设置驱动程序。"
+
+msgid "Android override for [member rendering/rendering_device/driver]."
+msgstr "[member rendering/rendering_device/driver] 在 Android 的覆盖项。"
+
+msgid "iOS override for [member rendering/rendering_device/driver]."
+msgstr "[member rendering/rendering_device/driver] 在 iOS 的覆盖项。"
+
+msgid "LinuxBSD override for [member rendering/rendering_device/driver]."
+msgstr "[member rendering/rendering_device/driver] 在 LinuxBSD 的覆盖项。"
+
+msgid "macOS override for [member rendering/rendering_device/driver]."
+msgstr "[member rendering/rendering_device/driver] 在 macOS 的覆盖项。"
+
+msgid "Windows override for [member rendering/rendering_device/driver]."
+msgstr "[member rendering/rendering_device/driver] 在 Windows 的覆盖项。"
+
+msgid ""
"If [code]true[/code], uses faster but lower-quality Lambert material "
"lighting model instead of Burley."
msgstr ""
@@ -21469,12 +40270,62 @@ msgstr ""
"使用 Burley 模型。"
msgid ""
+"The filtering quality to use for [Decal] nodes. When using one of the "
+"anisotropic filtering modes, the anisotropic filtering level is controlled "
+"by [member rendering/textures/default_filters/anisotropic_filtering_level]."
+msgstr ""
+"[Decal] 节点的过滤质量。使用 Anisotropic(各向异性)过滤模式时,各向异性过滤"
+"级别由 [member rendering/textures/default_filters/"
+"anisotropic_filtering_level] 控制。"
+
+msgid ""
+"The filtering quality to use for [OmniLight3D] and [SpotLight3D] projectors. "
+"When using one of the anisotropic filtering modes, the anisotropic filtering "
+"level is controlled by [member rendering/textures/default_filters/"
+"anisotropic_filtering_level]."
+msgstr ""
+"[OmniLight3D] 和 [SpotLight3D] 投影器的过滤质量。使用 Anisotropic(各向异性)"
+"过滤模式时,各向异性过滤级别由 [member rendering/textures/default_filters/"
+"anisotropic_filtering_level] 控制。"
+
+msgid ""
"If [code]true[/code], the texture importer will import lossless textures "
"using the PNG format. Otherwise, it will default to using WebP."
msgstr ""
"如果为 [code]true[/code],纹理导入器将使用 PNG 格式导入无损纹理。否则默认使"
"用 WebP。"
+msgid "Action map configuration to load by default."
+msgstr "默认加载的动作映射配置。"
+
+msgid "If [code]true[/code] Godot will setup and initialize OpenXR on startup."
+msgstr "如果为 [code]true[/code],Godot 将在启动时初始化 OpenXR。"
+
+msgid ""
+"Specify whether OpenXR should be configured for an HMD or a hand held device."
+msgstr "指定是否应为 HMD 或手持设备配置 OpenXR。"
+
+msgid "Specify the default reference space."
+msgstr "指定默认参照空间。"
+
+msgid ""
+"If [code]true[/code], OpenXR will manage the depth buffer and use the depth "
+"buffer for advanced reprojection provided this is supported by the XR "
+"runtime. Note that some rendering features in Godot can't be used with this "
+"feature."
+msgstr ""
+"如果为 [code]true[/code],则 OpenXR 会管理深度缓冲区,使用深度缓冲区进行高级"
+"再投影,前提是 XR 运行时支持。请注意,Godot 中的部分渲染特性无法与该特性一同"
+"使用。"
+
+msgid ""
+"Specify the view configuration with which to configure OpenXR setting up "
+"either Mono or Stereo rendering."
+msgstr "指定视图配置,用于配置 OpenXR 设置单视场或立体渲染。"
+
+msgid "If [code]true[/code], Godot will compile shaders required for XR."
+msgstr "如果为 [code]true[/code],Godot 将编译 XR 所需的着色器。"
+
msgid "Interpolates an [Object]'s property over time."
msgstr "随时间对 [Object] 的属性进行插值。"
@@ -21504,12 +40355,23 @@ msgid ""
"interpolating. By default there's no delay."
msgstr "设置该 [PropertyTweener] 开始插值的时间,单位为秒。默认无延迟。"
+msgid "Class representing a square mesh facing the camera."
+msgstr "表示面向相机的正方形网格的类。"
+
msgid "2D in 3D Demo"
msgstr "3D 中的 2D 演示"
+msgid "The quad's size in 3D units."
+msgstr "该四边形的大小,使用 3D 单位。"
+
msgid "Quaternion."
msgstr "四元数."
+msgid ""
+"Constructs a default-initialized quaternion with all components set to "
+"[code]0[/code]."
+msgstr "构造默认初始化的四元数,所有分量都被设置为 [code]0[/code]。"
+
msgid "Constructs a [Quaternion] as a copy of the given [Quaternion]."
msgstr "构造给定 [Quaternion] 的副本。"
@@ -21579,6 +40441,22 @@ msgstr ""
"单位四元数,代表无旋转。相当于单位 [Basis] 矩阵。如果一个向量被一个单位四元数"
"变换,它不会改变。"
+msgid ""
+"Multiplies each component of the [Quaternion] by the given value. This "
+"operation is not meaningful on its own, but it can be used as a part of a "
+"larger expression."
+msgstr ""
+"将该 [Quaternion] 的每个分量乘以给定的值。此操作本身没有意义,但可以用作更大"
+"表达式的一部分。"
+
+msgid ""
+"Divides each component of the [Quaternion] by the given value. This "
+"operation is not meaningful on its own, but it can be used as a part of a "
+"larger expression."
+msgstr ""
+"将该 [Quaternion] 的每个分量除以给定的值。此操作本身没有意义,但可以用作更大"
+"表达式的一部分。"
+
msgid "A class for generating pseudo-random numbers."
msgstr "用于生成伪随机数的类。"
@@ -21744,10 +40622,10 @@ msgid ""
msgstr "移除碰撞例外,这样射线就会报告与指定的 [RID] 的碰撞。"
msgid "If [code]true[/code], collision with [Area2D]s will be reported."
-msgstr "如果为 [code]true[/code],将报告与 [Area2D] 的碰撞。"
+msgstr "如果为 [code]true[/code],则会报告与 [Area2D] 的碰撞。"
msgid "If [code]true[/code], collision with [PhysicsBody2D]s will be reported."
-msgstr "如果为 [code]true[/code],将报告与 [PhysicsBody2D] 的碰撞。"
+msgstr "如果为 [code]true[/code],则会报告与 [PhysicsBody2D] 的碰撞。"
msgid ""
"The ray's collision mask. Only objects in at least one collision layer "
@@ -21768,17 +40646,43 @@ msgid ""
msgstr "如果为 [code]true[/code],父节点将被排除在碰撞检测之外。"
msgid ""
+"If [code]true[/code], the ray will detect a hit when starting inside shapes. "
+"In this case the collision normal will be [code]Vector2(0, 0)[/code]. Does "
+"not affect concave polygon shapes."
+msgstr ""
+"如果为 [code]true[/code],射线会在从形状内部开始时检测到命中。在此情况下,碰"
+"撞法线将为 [code]Vector2(0, 0)[/code]。不会影响凹多边形形状。"
+
+msgid ""
"The ray's destination point, relative to the RayCast's [code]position[/code]."
msgstr "光线的目标点,相对于该 RayCast 的 [code]position[/code]。"
+msgid "If [code]true[/code], collision with [Area3D]s will be reported."
+msgstr "如果为 [code]true[/code],则会报告与 [Area3D] 的碰撞。"
+
+msgid "If [code]true[/code], collision with [PhysicsBody3D]s will be reported."
+msgstr "如果为 [code]true[/code],则会报告与 [PhysicsBody3D] 的碰撞。"
+
+msgid ""
+"If [code]true[/code], the ray will detect a hit when starting inside shapes. "
+"In this case the collision normal will be [code]Vector3(0, 0, 0)[/code]. "
+"Does not affect shapes with no volume like concave polygon or heightmap."
+msgstr ""
+"如果为 [code]true[/code],射线会在从形状内部开始时检测到命中。在此情况下,碰"
+"撞法线将为 [code]Vector3(0, 0, 0)[/code]。不会影响无体积的形状,如凹多边形和"
+"高度图。"
+
msgid "Constructs a [Rect2] as a copy of the given [Rect2]."
msgstr "构造给定 [Rect2] 的副本。"
+msgid "Constructs a [Rect2] from a [Rect2i]."
+msgstr "从 [Rect2i] 构造 [Rect2]。"
+
msgid "Constructs a [Rect2] by position and size."
-msgstr "按位置和大小构造一个 [Rect2]。"
+msgstr "按位置和大小构造 [Rect2]。"
msgid "Constructs a [Rect2] by x, y, width, and height."
-msgstr "通过 x、y、宽度和高度构造一个 [Rect2]。"
+msgstr "按 x、y、宽度和高度构造 [Rect2]。"
msgid ""
"Returns a [Rect2] with equivalent position and area, modified so that the "
@@ -21792,6 +40696,9 @@ msgid ""
"Returns [code]true[/code] if this [Rect2] completely encloses another one."
msgstr "如果此 [Rect2] 完全包含另一个,则返回 [code]true[/code]。"
+msgid "Returns the area of the [Rect2]. See also [method has_area]."
+msgstr "返回该 [Rect2] 的面积。另请参阅 [method has_area]。"
+
msgid ""
"Returns the center of the [Rect2], which is equal to [member position] + "
"([member size] / 2)."
@@ -21823,6 +40730,20 @@ msgid "Constructs a [Rect2i] as a copy of the given [Rect2i]."
msgstr "构造给定 [Rect2i] 的副本。"
msgid ""
+"Constructs a new [Rect2i] from [Rect2]. The floating point coordinates will "
+"be truncated."
+msgstr "从 [Rect2] 构造新的 [Rect2i]。浮点数坐标将被截断。"
+
+msgid "Constructs a [Rect2i] by position and size."
+msgstr "按位置和大小构造 [Rect2i]。"
+
+msgid "Constructs a [Rect2i] by x, y, width, and height."
+msgstr "按 x、y、宽度和高度构造 [Rect2i]。"
+
+msgid "Returns the area of the [Rect2i]. See also [method has_area]."
+msgstr "返回该 [Rect2i] 的面积。另请参阅 [method has_area]。"
+
+msgid ""
"Returns [code]true[/code] if the [Rect2i] has area, and [code]false[/code] "
"if the [Rect2i] is linear, empty, or has a negative [member size]. See also "
"[method get_area]."
@@ -21831,9 +40752,24 @@ msgstr ""
"空的或有负的 [member size],则返回 [code]false[/code] 。另请参阅 [member "
"get_area]。"
+msgid "Returns [code]true[/code] if the rectangles are not equal."
+msgstr "如果矩形不相等,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if the rectangles are equal."
+msgstr "如果矩形相等,则返回 [code]true[/code]。"
+
+msgid "Rectangle shape resource for 2D physics."
+msgstr "矩形形状资源,用于 2D 物理。"
+
+msgid "The rectangle's width and height."
+msgstr "该矩形的宽度和高度。"
+
msgid "Base class for reference-counted objects."
msgstr "引用计数对象的基类。"
+msgid "Returns the current reference count."
+msgstr "返回当前的引用计数。"
+
msgid ""
"Initializes the internal reference counter. Use this only if you really know "
"what you are doing.\n"
@@ -21961,6 +40897,9 @@ msgstr ""
"编译并指定要使用的搜索模式。如果编译成功,返回 [constant OK]。如果遇到错误,"
"细节将被打印到标准输出,并返回一个错误。"
+msgid "Creates and compiles a new [RegEx] object."
+msgstr "创建并编译新 [RegEx] 对象。"
+
msgid "Returns the number of capturing groups in compiled pattern."
msgstr "返回编译模式中捕获组的数量。"
@@ -22070,9 +41009,112 @@ msgstr ""
"如果为 [code]true[/code],则使用全局坐标。如果 [code]false[/code],则使用本地"
"坐标。"
+msgid "Abstraction for working with modern low-level graphics APIs."
+msgstr "用于处理现代低阶图形 API 的抽象。"
+
+msgid "Represents the size of the [enum DeviceType] enum."
+msgstr "代表 [enum DeviceType] 枚举的大小。"
+
+msgid "1-dimensional texture."
+msgstr "一维纹理。"
+
+msgid "2-dimensional texture."
+msgstr "二维纹理。"
+
+msgid "3-dimensional texture."
+msgstr "三维纹理。"
+
+msgid "[Cubemap] texture."
+msgstr "[Cubemap] 纹理。"
+
+msgid "Array of 1-dimensional textures."
+msgstr "一维纹理数组。"
+
+msgid "Array of 2-dimensional textures."
+msgstr "二维纹理数组。"
+
+msgid "Array of [Cubemap] textures."
+msgstr "[Cubemap] 纹理数组。"
+
+msgid "Represents the size of the [enum TextureType] enum."
+msgstr "代表 [enum TextureType] 枚举的大小。"
+
+msgid "Represents the size of the [enum TextureSamples] enum."
+msgstr "代表 [enum TextureSamples] 枚举的大小。"
+
+msgid ""
+"Nearest-neighbor sampler filtering. Sampling at higher resolutions than the "
+"source will result in a pixelated look."
+msgstr "最近邻采样器过滤。按照比源更高分辨率采样时,会产生像素化的效果。"
+
+msgid ""
+"Bilinear sampler filtering. Sampling at higher resolutions than the source "
+"will result in a blurry look."
+msgstr "双线性采样器过滤。按照比源更高分辨率采样时,会产生模糊的效果。"
+
+msgid ""
+"Point rendering primitive (with constant size, regardless of distance from "
+"camera)."
+msgstr "渲染点的图元(大小为常量,和与相机之间的距离无关)。"
+
+msgid "Line rendering primitive."
+msgstr "绘制直线的图元。"
+
+msgid "Exclusive or (XOR) logic operation."
+msgstr "逻辑异或(XOR)运算。"
+
+msgid "Minimum blending operation (keep the lowest value of the two)."
+msgstr "最小混合运算(保留两者之间的较小值)。"
+
+msgid "Maximum blending operation (keep the highest value of the two)."
+msgstr "最大混合运算(保留两者之间的较大值)。"
+
+msgid "Represents the size of the [enum BlendOperation] enum."
+msgstr "代表 [enum BlendOperation] 枚举的大小。"
+
+msgid ""
+"Maximum supported 1-dimensional texture size (in pixels on a single axis)."
+msgstr "支持的一维纹理的最大尺寸(单轴像素数)。"
+
+msgid ""
+"Maximum supported 2-dimensional texture size (in pixels on a single axis)."
+msgstr "支持的二维纹理的最大尺寸(单轴像素数)。"
+
+msgid ""
+"Maximum supported 3-dimensional texture size (in pixels on a single axis)."
+msgstr "支持的三维纹理的最大尺寸(单轴像素数)。"
+
+msgid ""
+"Maximum supported cubemap texture size (in pixels on a single axis of a "
+"single face)."
+msgstr "支持的立方体贴图纹理的最大尺寸(单轴像素数)。"
+
+msgid "Memory taken by textures."
+msgstr "纹理占用的内存。"
+
+msgid "Memory taken by buffers."
+msgstr "缓冲区占用的内存。"
+
+msgid ""
+"Total memory taken. This is greater than the sum of [constant "
+"MEMORY_TEXTURES] and [constant MEMORY_BUFFERS], as it also includes "
+"miscellaneous memory usage."
+msgstr ""
+"内存中占用。比 [constant MEMORY_TEXTURES] 和 [constant MEMORY_BUFFERS] 的总和"
+"要大,因为还会包含其他杂项内存占用。"
+
+msgid "Returned by functions that return an ID if a value is invalid."
+msgstr "返回 ID 的函数会在值无效时返回此值。"
+
+msgid "Returned by functions that return a format ID if a value is invalid."
+msgstr "返回格式 ID 的函数会在值无效时返回此值。"
+
msgid "Server for anything visible."
msgstr "任何可见的东西的服务器。"
+msgid "Optimization using Servers"
+msgstr "使用服务器进行优化"
+
msgid ""
"Sets camera to use orthogonal projection, also known as orthographic "
"projection. Objects remain the same size on the screen no matter how far "
@@ -22086,9 +41128,18 @@ msgid ""
"smaller when they are far away."
msgstr "将相机设置为使用透视投影。屏幕上的物体在远处时变得更小。"
+msgid "Sets [Transform3D] of camera."
+msgstr "设置相机的 [Transform3D]。"
+
+msgid "See also [method CanvasItem.draw_lcd_texture_rect_region]."
+msgstr "另见 [method CanvasItem.draw_lcd_texture_rect_region]。"
+
msgid "Clears the [CanvasItem] and removes all commands in it."
msgstr "清除[CanvasItem]并删除其中的所有命令。"
+msgid "Creates a new [CanvasItem] instance and returns its [RID]."
+msgstr "新建 [CanvasItem] 实例并返回其 [RID]。"
+
msgid "Sets the [CanvasItem] to copy a rect to the backbuffer."
msgstr "设置 [CanvasItem] 以将矩形复制到后台缓冲区。"
@@ -22172,6 +41223,25 @@ msgstr "设置画布灯的阴影过滤器,详见 [enum CanvasLightShadowFilter
msgid "Smoothens the shadow. The lower, the smoother."
msgstr "使阴影变得平滑。数值越低越光滑。"
+msgid ""
+"Sets the texture to be used by a [PointLight2D]. Equivalent to [member "
+"PointLight2D.texture]."
+msgstr ""
+"设置 [PointLight2D] 所使用的纹理。相当于 [member PointLight2D.texture]。"
+
+msgid ""
+"Sets the offset of a [PointLight2D]'s texture. Equivalent to [member "
+"PointLight2D.offset]."
+msgstr ""
+"设置 [PointLight2D] 纹理的偏移量。相当于 [member PointLight2D.offset]。"
+
+msgid ""
+"Sets the scale factor of a [PointLight2D]'s texture. Equivalent to [member "
+"PointLight2D.texture_scale]."
+msgstr ""
+"设置 [PointLight2D] 纹理的缩放系数。相当于 [member PointLight2D."
+"texture_scale]。"
+
msgid "Sets the canvas light's [Transform2D]."
msgstr "设置画布灯的 [Transform2D]。"
@@ -22233,6 +41303,12 @@ msgstr "设置用于“色调映射”后处理效果的变量。详情请参阅
msgid "Returns the parameters of a shader."
msgstr "返回着色器的参数。"
+msgid "Returns the ID of the test cube. Creates one if none exists."
+msgstr "返回测试立方体的 ID。如果不存在,则会创建一个。"
+
+msgid "Returns the ID of the test texture. Creates one if none exists."
+msgstr "返回测试纹理的 ID。如果不存在,则会创建一个。"
+
msgid ""
"Returns the name of the video adapter (e.g. \"GeForce GTX 1080/PCIe/"
"SSE2\").\n"
@@ -22250,6 +41326,9 @@ msgstr ""
"返回视频适配器的供应商(例如 \"NVIDIA Corporation\")。\n"
"[b]注意:[/b]当运行精简或服务器可执行文件时,该函数返回一个空字符串。"
+msgid "Returns the ID of a white texture. Creates one if none exists."
+msgstr "返回白色纹理的 ID。如果不存在,则创建一个。"
+
msgid "Not yet implemented. Always returns [code]false[/code]."
msgstr "还没有实现。总是返回 [code]false[/code]。"
@@ -22281,9 +41360,21 @@ msgid ""
"the objects will be displayed in."
msgstr "设置实例所在的场景。场景是对象将在其中显示的 3D 世界。"
+msgid ""
+"Sets whether an instance is drawn or not. Equivalent to [member Node3D."
+"visible]."
+msgstr "设置是否绘制实例。相当于 [member Node3D.visible]。"
+
+msgid ""
+"Sets the color of the light. Equivalent to [member Light3D.light_color]."
+msgstr "设置灯光的颜色。相当于 [member Light3D.light_color]。"
+
msgid "Not implemented in Godot 3.x."
msgstr "在 Godot 3.x 中没有实现。"
+msgid "Creates a new [LightmapGI] instance."
+msgstr "创建新的 [LightmapGI] 实例。"
+
msgid "Returns the value of a certain material's parameter."
msgstr "返回特定材质的参数值。"
@@ -22353,6 +41444,9 @@ msgstr "返回指定实例将被调制的颜色。"
msgid "Returns the custom data associated with the specified instance."
msgstr "返回与指定实例相关的自定义数据。"
+msgid "Returns the [Transform3D] of the specified instance."
+msgstr "返回指定实例的 [Transform3D]。"
+
msgid ""
"Returns the [Transform2D] of the specified instance. For use when the "
"multimesh is set to use 2D transforms."
@@ -22373,6 +41467,13 @@ msgstr ""
"释为 [code]vec4[/code]。相当于 [method MultiMesh.set_instance_custom_data]。"
msgid ""
+"Sets the [Transform3D] for this instance. Equivalent to [method MultiMesh."
+"set_instance_transform]."
+msgstr ""
+"为此实例设置 [Transform3D]。相当于 [method MultiMesh."
+"set_instance_transform]。"
+
+msgid ""
"Sets the [Transform2D] for this instance. For use when multimesh is used in "
"2D. Equivalent to [method MultiMesh.set_instance_transform_2d]."
msgstr ""
@@ -22486,11 +41587,17 @@ msgstr "设置未选择特定透明色时使用的默认透明色。"
msgid "Returns a shader's code."
msgstr "返回着色器的代码。"
+msgid "Returns the [Transform3D] set for a specific bone of this skeleton."
+msgstr "返回该骨架中指定骨骼的 [Transform3D]。"
+
msgid "Returns the [Transform2D] set for a specific bone of this skeleton."
-msgstr "返回这个骨架的特定骨骼的 [Transform2D]。"
+msgstr "返回该骨架中指定骨骼的 [Transform2D]。"
+
+msgid "Sets the [Transform3D] for a specific bone of this skeleton."
+msgstr "设置该骨架中指定骨骼的 [Transform3D]。"
msgid "Sets the [Transform2D] for a specific bone of this skeleton."
-msgstr "设置这个骨架的特定骨骼的 [Transform2D]。"
+msgstr "设置该骨架中指定骨骼的 [Transform2D]。"
msgid "Returns the number of bones allocated for this skeleton."
msgstr "返回分配给这个骨架的骨骼数量。"
@@ -22583,6 +41690,12 @@ msgstr "着色器是 2D 着色器。"
msgid "Shader is a particle shader."
msgstr "着色器是粒子着色器。"
+msgid "Shader is a sky shader."
+msgstr "着色器是天空着色器。"
+
+msgid "Shader is a fog shader."
+msgstr "着色器是雾着色器。"
+
msgid "Represents the size of the [enum ShaderMode] enum."
msgstr "代表 [enum ShaderMode] 枚举的大小。"
@@ -22665,11 +41778,14 @@ msgid ""
msgstr "绘制的图元由单条三角形带组成(最后 3 个顶点总是会构成三角形)。"
msgid "Represents the size of the [enum PrimitiveType] enum."
-msgstr "表示 [enum PrimitiveType] 枚举的大小。"
+msgstr "代表 [enum PrimitiveType] 枚举的大小。"
msgid "Use [Transform2D] to store MultiMesh transform."
msgstr "使用 [Transform2D] 存储 MultiMesh 变换。"
+msgid "Use [Transform3D] to store MultiMesh transform."
+msgstr "使用 [Transform3D] 存储 MultiMesh 变换。"
+
msgid "Is a directional (sun) light."
msgstr "是平行光(日光)。"
@@ -22679,6 +41795,24 @@ msgstr "是全向光。"
msgid "Is a spot light."
msgstr "是聚光。"
+msgid "The light's energy multiplier."
+msgstr "该灯光的能量倍数。"
+
+msgid ""
+"The light's indirect energy multiplier (final indirect energy is [constant "
+"LIGHT_PARAM_ENERGY] * [constant LIGHT_PARAM_INDIRECT_ENERGY])."
+msgstr ""
+"该灯光的间接能量倍数(最终的间接能量为 [constant LIGHT_PARAM_ENERGY] * "
+"[constant LIGHT_PARAM_INDIRECT_ENERGY])。"
+
+msgid ""
+"The light's volumetric fog energy multiplier (final volumetric fog energy is "
+"[constant LIGHT_PARAM_ENERGY] * [constant "
+"LIGHT_PARAM_VOLUMETRIC_FOG_ENERGY])."
+msgstr ""
+"该灯光的体积雾能量倍数(最终的体积雾能量为 [constant LIGHT_PARAM_ENERGY] * "
+"[constant LIGHT_PARAM_VOLUMETRIC_FOG_ENERGY])。"
+
msgid "The light's influence on specularity."
msgstr "灯光对镜面反射的影响。"
@@ -22717,7 +41851,7 @@ msgid "Bias the shadow lookup to fix self-shadowing artifacts."
msgstr "对阴影查找进行偏置,以修复自我阴影的假象。"
msgid "Represents the size of the [enum LightParam] enum."
-msgstr "代表[enum LightParam]枚举的大小。"
+msgstr "代表 [enum LightParam] 枚举的大小。"
msgid "Use a dual paraboloid shadow map for omni lights."
msgstr "对全向光使用双抛物面阴影贴图。"
@@ -22736,6 +41870,15 @@ msgstr "使用平行光时,使用 2 个分割进行阴影投影。"
msgid "Use 4 splits for shadow projection when using directional light."
msgstr "使用平行光时,使用 4 个分割进行阴影投影。"
+msgid "Use DirectionalLight3D in both sky rendering and scene lighting."
+msgstr "在天空渲染和场景照明中都使用 DirectionalLight3D。"
+
+msgid "Only use DirectionalLight3D in scene lighting."
+msgstr "仅在场景照明中使用 DirectionalLight3D。"
+
+msgid "Only use DirectionalLight3D in sky rendering."
+msgstr "仅在天空渲染中使用 DirectionalLight3D。"
+
msgid "Reflection probe will update reflections once and then stop."
msgstr "反射探针将更新一次反射,然后停止。"
@@ -22776,6 +41919,15 @@ msgid ""
"VIEWPORT_CLEAR_NEVER]."
msgstr "视口被清除一次,然后清除模式设置为 [constant VIEWPORT_CLEAR_NEVER]。"
+msgid "Disable rendering of 3D environment over 2D canvas."
+msgstr "禁用在 2D 画布上渲染 3D 环境。"
+
+msgid "Enable rendering of 3D environment over 2D canvas."
+msgstr "启用在 2D 画布上渲染 3D 环境。"
+
+msgid "Max value of [enum ViewportEnvironmentMode] enum."
+msgstr "[enum ViewportEnvironmentMode] 枚举的最大值。"
+
msgid "Number of objects drawn in a single frame."
msgstr "在单帧中绘制的对象的数量。"
@@ -22797,6 +41949,9 @@ msgstr "显示的对象没有光照信息。"
msgid "Debug draw draws objects in wireframe."
msgstr "调试绘制,将对象用线框形式绘制。"
+msgid "Represents the size of the [enum ViewportVRSMode] enum."
+msgstr "代表 [enum ViewportVRSMode] 枚举的大小。"
+
msgid "Use the clear color as background."
msgstr "用透明的颜色作为背景。"
@@ -22820,6 +41975,15 @@ msgstr "不要清除背景,使用上一帧渲染的东西作为背景。"
msgid "Represents the size of the [enum EnvironmentBG] enum."
msgstr "代表 [enum EnvironmentBG] 枚举的大小。"
+msgid "Disable ambient light."
+msgstr "禁用环境光。"
+
+msgid "Specify a specific [Color] for ambient light."
+msgstr "为环境光指定特定的 [Color]。"
+
+msgid "Disable reflections."
+msgstr "禁用反射。"
+
msgid ""
"Output color as they came in. This can cause bright lighting to look blown "
"out, with noticeable clipping in the output colors."
@@ -22843,23 +42007,87 @@ msgstr ""
"使用电影级色调映射器。可以避免对高光的截断,最终的图像一般比 [constant "
"ENV_TONE_MAPPER_REINHARD] 看上去更鲜艳。"
+msgid "Lowest quality of screen-space ambient occlusion."
+msgstr "最低质量的屏幕空间环境光遮蔽。"
+
+msgid "Low quality screen-space ambient occlusion."
+msgstr "低质量的屏幕空间环境光遮蔽。"
+
+msgid "Medium quality screen-space ambient occlusion."
+msgstr "中等质量的屏幕空间环境光遮蔽。"
+
+msgid "High quality screen-space ambient occlusion."
+msgstr "高质量的屏幕空间环境光遮蔽。"
+
+msgid ""
+"Highest quality screen-space ambient occlusion. Uses the adaptive target "
+"setting which can be dynamically adjusted to smoothly balance performance "
+"and visual quality."
+msgstr ""
+"最高质量的屏幕空间环境光遮蔽。使用可动态调整的自适应目标设置,以平滑地平衡性"
+"能和视觉质量。"
+
+msgid "Lowest quality of screen-space indirect lighting."
+msgstr "最低质量的屏幕空间间接光照。"
+
+msgid "Low quality screen-space indirect lighting."
+msgstr "较低质量的屏幕空间间接光照。"
+
+msgid "High quality screen-space indirect lighting."
+msgstr "较高质量的屏幕空间间接光照。"
+
+msgid ""
+"Highest quality screen-space indirect lighting. Uses the adaptive target "
+"setting which can be dynamically adjusted to smoothly balance performance "
+"and visual quality."
+msgstr ""
+"最高质量的屏幕空间间接光照。使用可动态调整的自适应目标设置,以平滑地平衡性能"
+"和视觉质量。"
+
+msgid ""
+"Lowest quality DOF blur. This is the fastest setting, but you may be able to "
+"see filtering artifacts."
+msgstr "最低质量的 DOF 模糊。这是最快的设置,但你可能会看到不自然的过滤。"
+
+msgid "Low quality DOF blur."
+msgstr "较低质量的 DOF 模糊。"
+
+msgid "Medium quality DOF blur."
+msgstr "中等质量的 DOF 模糊。"
+
+msgid ""
+"Highest quality DOF blur. Results in the smoothest looking blur by taking "
+"the most samples, but is also significantly slower."
+msgstr ""
+"最高质量的 DOF 模糊。通过采集最多的样本,产生最平滑的模糊效果,但速度也明显变"
+"慢。"
+
msgid "The instance does not have a type."
msgstr "实例没有类型。"
msgid "The instance is a mesh."
-msgstr "该实例是一个网格。"
+msgstr "该实例是网格。"
msgid "The instance is a multimesh."
-msgstr "该实例是一个多网格。"
+msgstr "该实例是一个 multimesh。"
msgid "The instance is a particle emitter."
-msgstr "该实例是一个粒子发射器。"
+msgstr "该实例是粒子发射器。"
msgid "The instance is a light."
-msgstr "该实例是一个灯。"
+msgstr "该实例是灯。"
msgid "The instance is a reflection probe."
-msgstr "该实例是一个反射探针。"
+msgstr "该实例是反射探针。"
+
+msgid "The instance is a decal."
+msgstr "该实例是贴花。"
+
+msgid "The instance is a VoxelGI."
+msgstr "该实例是 VoxelGI。"
+
+msgid "The instance is a lightmap."
+msgstr "该实例是光照贴图。"
msgid "Represents the size of the [enum InstanceType] enum."
msgstr "代表 [enum InstanceType] 枚举的大小。"
@@ -22872,6 +42100,9 @@ msgstr "几何体实例(网格、多网格、即时和粒子)的标志的组
msgid "Allows the instance to be used in baked lighting."
msgstr "允许在烘焙照明中使用实例。"
+msgid "Allows the instance to be used with dynamic global illumination."
+msgstr "允许在动态全局光照中使用该实例。"
+
msgid "When set, manually requests to draw geometry on next frame."
msgstr "当设置时,手动请求在下一帧绘制几何图形。"
@@ -22905,6 +42136,18 @@ msgid ""
"if needed."
msgstr "九宫格在需要的地方填充图块,并在需要时将它们拉伸一点。"
+msgid "Uses the default filter mode for this [Viewport]."
+msgstr "为 [Viewport] 使用默认过滤模式。"
+
+msgid "Max value for [enum CanvasItemTextureFilter] enum."
+msgstr "[enum CanvasItemTextureFilter] 枚举的最大值。"
+
+msgid "Uses the default repeat mode for this [Viewport]."
+msgstr "为 [Viewport] 使用默认重复模式。"
+
+msgid "Max value for [enum CanvasItemTextureRepeat] enum."
+msgstr "[enum CanvasItemTextureRepeat] 枚举的最大值。"
+
msgid "Adds light color additive to the canvas."
msgstr "向画布添加浅色。"
@@ -22923,6 +42166,9 @@ msgstr "使用 PCF5 过滤法来过滤画布的光影。"
msgid "Use PCF13 filtering to filter canvas light shadows."
msgstr "使用 PCF13 过滤法来过滤画布的光影。"
+msgid "Max value of the [enum CanvasLightShadowFilter] enum."
+msgstr "[enum CanvasLightShadowFilter] 枚举的最大值。"
+
msgid "Culling of the canvas occluder is disabled."
msgstr "禁用画布遮挡物的剔除。"
@@ -23028,6 +42274,9 @@ msgstr "用于加载资源文件的单例。"
msgid "Returns the list of recognized extensions for a resource type."
msgstr "返回资源类型的已识别扩展名列表。"
+msgid "Unregisters the given [ResourceFormatLoader]."
+msgstr "取消注册给定的 [ResourceFormatLoader]。"
+
msgid ""
"Changes the behavior on missing sub-resources. The default behavior is to "
"abort loading."
@@ -23089,6 +42338,104 @@ msgstr "GUI 富文本/BBcode 演示"
msgid "Adds raw non-BBCode-parsed text to the tag stack."
msgstr "将非 BBCode 解析的原始文本添加到标签栈中。"
+msgid "Clears the tag stack and sets [member text] to an empty string."
+msgstr "清空标签堆栈,并将 [member text] 设置为空字符串。"
+
+msgid ""
+"Returns the [PopupMenu] of this [RichTextLabel]. By default, this menu is "
+"displayed when right-clicking on the [RichTextLabel].\n"
+"You can add custom menu items or remove standard ones. Make sure your IDs "
+"don't conflict with the standard ones (see [enum MenuItems]). For example:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _ready():\n"
+" var menu = get_menu()\n"
+" # Remove \"Select All\" item.\n"
+" menu.remove_item(MENU_SELECT_ALL)\n"
+" # Add custom items.\n"
+" menu.add_separator()\n"
+" menu.add_item(\"Duplicate Text\", MENU_MAX + 1)\n"
+" # Connect callback.\n"
+" menu.id_pressed.connect(_on_item_pressed)\n"
+"\n"
+"func _on_item_pressed(id):\n"
+" if id == MENU_MAX + 1:\n"
+" add_text(\"\\n\" + get_parsed_text())\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Ready()\n"
+"{\n"
+" var menu = GetMenu();\n"
+" // Remove \"Select All\" item.\n"
+" menu.RemoveItem(RichTextLabel.MenuItems.SelectAll);\n"
+" // Add custom items.\n"
+" menu.AddSeparator();\n"
+" menu.AddItem(\"Duplicate Text\", RichTextLabel.MenuItems.Max + 1);\n"
+" // Add event handler.\n"
+" menu.IdPressed += OnItemPressed;\n"
+"}\n"
+"\n"
+"public void OnItemPressed(int id)\n"
+"{\n"
+" if (id == TextEdit.MenuItems.Max + 1)\n"
+" {\n"
+" AddText(\"\\n\" + GetParsedText());\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Warning:[/b] This is a required internal node, removing and freeing it "
+"may cause a crash. If you wish to hide it or any of its children, use their "
+"[member Window.visible] property."
+msgstr ""
+"返回该 [RichTextLabel] 的 [PopupMenu]。默认情况下,这个菜单会在右键单击 "
+"[RichTextLabel] 时显示。\n"
+"你可以加入自定义的菜单项,或者移除标准菜单项。请确保你的 ID 与标准 ID 不冲突"
+"(见 [enum MenuItems])。例如:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _ready():\n"
+" var menu = get_menu()\n"
+" # 移除“全选”菜单项。\n"
+" menu.remove_item(MENU_SELECT_ALL)\n"
+" # 添加自定义菜单项。\n"
+" menu.add_separator()\n"
+" menu.add_item(\"制作文本副本\", MENU_MAX + 1)\n"
+" # 连接回调。\n"
+" menu.id_pressed.connect(_on_item_pressed)\n"
+"\n"
+"func _on_item_pressed(id):\n"
+" if id == MENU_MAX + 1:\n"
+" add_text(\"\\n\" + get_parsed_text())\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Ready()\n"
+"{\n"
+" var menu = GetMenu();\n"
+" // 移除“全选”菜单项。\n"
+" menu.RemoveItem(RichTextLabel.MenuItems.SelectAll);\n"
+" // 添加自定义菜单项。\n"
+" menu.AddSeparator();\n"
+" menu.AddItem(\"制作文本副本\", RichTextLabel.MenuItems.Max + 1);\n"
+" // 添加事件处理器。\n"
+" menu.IdPressed += OnItemPressed;\n"
+"}\n"
+"\n"
+"public void OnItemPressed(int id)\n"
+"{\n"
+" if (id == TextEdit.MenuItems.Max + 1)\n"
+" {\n"
+" AddText(\"\\n\" + GetParsedText());\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]警告:[/b]这是必要的内部节点,将其移除或释放可能导致崩溃。如果你想要将其隐"
+"藏,或者隐藏其子节点,请使用其 [member Window.visible] 属性。"
+
+msgid "Returns the text without BBCode mark-up."
+msgstr "返回没有 BBCode 标记的文本。"
+
msgid "Returns the current selection text. Does not include BBCodes."
msgstr "返回当前选中的文本。不包括 BBCode。"
@@ -23107,6 +42454,9 @@ msgstr ""
"终止当前标签。使用 [code]push_*[/code] 方法之后手动关闭 BBCodes。不需要遵循 "
"[code]add_*[/code] 方法。"
+msgid "Adds a [code][bgcolor][/code] tag to the tag stack."
+msgstr "向标签栈中添加 [code][bgcolor][/code] 标签。"
+
msgid ""
"Adds a [code][font][/code] tag with a bold font to the tag stack. This is "
"the same as adding a [code][b][/code] tag if not currently in a [code][i][/"
@@ -23129,6 +42479,9 @@ msgstr ""
msgid "Adds a [code][color][/code] tag to the tag stack."
msgstr "在标签栈中添加一个 [code][color][/code] 标签。"
+msgid "Adds a [code][fgcolor][/code] tag to the tag stack."
+msgstr "向标签栈中添加 [code][fgcolor][/code] 标签。"
+
msgid ""
"Adds a [code][font][/code] tag to the tag stack. Overrides default fonts for "
"its duration."
@@ -23143,24 +42496,46 @@ msgstr ""
"在标签栈中添加一个 [code][font][/code] 标签,字体为斜体。如果当前没有 [code]"
"[b][/code] 标签,这与添加 [code][i][/code] 标签相同。"
-msgid ""
-"Adds a [code][meta][/code] tag to the tag stack. Similar to the BBCode [code]"
-"[url=something]{text}[/url][/code], but supports non-[String] metadata types."
-msgstr ""
-"在标签栈中添加一个 [code][meta][/code] 标签。类似于BBCode 的 [code]"
-"[url=something]{text}[/url][/code],但支持非 [String] 元数据类型。"
-
msgid "Adds a [code][font][/code] tag with a monospace font to the tag stack."
msgstr "在标签栈中添加一个 [code][font][/code] 标签,该标签为等宽字体。"
msgid "Adds a [code][font][/code] tag with a normal font to the tag stack."
msgstr "在标签栈中添加一个具有正常字体的 [code][font][/code] 标签。"
+msgid "Adds a [code][p][/code] tag to the tag stack."
+msgstr "向标签栈中添加 [code][p][/code] 标签。"
+
msgid "Adds a [code][s][/code] tag to the tag stack."
-msgstr "在标签栈中添加一个 [code][s][/code] 标签。"
+msgstr "向标签栈中添加 [code][s][/code] 标签。"
+
+msgid "Adds a [code][table=columns,inline_align][/code] tag to the tag stack."
+msgstr "向标签栈中添加 [code][table=columns,inline_align][/code] 标签。"
msgid "Adds a [code][u][/code] tag to the tag stack."
-msgstr "在标签栈中添加一个 [code][u][/code] 标签。"
+msgstr "向标签栈中添加 [code][u][/code] 标签。"
+
+msgid "Scrolls the window's top line to match [param line]."
+msgstr "滚动窗口,让第一行与 [param line] 匹配。"
+
+msgid ""
+"Scrolls the window's top line to match first line of the [param paragraph]."
+msgstr "滚动窗口,让第一行与 [param paragraph] 的第一行匹配。"
+
+msgid "Scrolls to the beginning of the current selection."
+msgstr "滚动到当前选区的开头。"
+
+msgid ""
+"Select all the text.\n"
+"If [member selection_enabled] is [code]false[/code], no selection will occur."
+msgstr ""
+"全选文本。\n"
+"如果 [member selection_enabled] 为 [code]false[/code],则不会进行选择。"
+
+msgid "Sets color of a table cell border."
+msgstr "设置表格的单元格边框颜色。"
+
+msgid "Sets inner padding of a table cell."
+msgstr "设置表格的单元格内边距。"
msgid "If [code]true[/code], a right-click displays the context menu."
msgstr "为 [code]true[/code] 时右键单击会显示上下文菜单。"
@@ -23209,6 +42584,12 @@ msgstr ""
"与单个制表符长度关联的空格数。不影响文本标签中的 [code]\\t[/code],只影响缩进"
"标签。"
+msgid "If [code]true[/code], text processing is done in a background thread."
+msgstr "如果为 [code]true[/code],则文本处理在后台线程中完成。"
+
+msgid "Triggered when the document is fully loaded."
+msgstr "当文档完全加载时触发。"
+
msgid ""
"Triggered when the user clicks on content between meta tags. If the meta is "
"defined in text, e.g. [code][url={\"data\"=\"hi\"}]hi[/url][/code], then the "
@@ -23227,13 +42608,16 @@ msgid "Triggers when the mouse enters a meta tag."
msgstr "当鼠标进入元标签时触发。"
msgid "Each list item has a number marker."
-msgstr "每个列表项都有一个数字标记。"
+msgstr "每个列表项都有数字标记。"
msgid "Each list item has a letter marker."
-msgstr "每个列表项都有一个字母标记。"
+msgstr "每个列表项都有字母标记。"
+
+msgid "Each list item has a roman number marker."
+msgstr "每个列表项都有罗马数字标记。"
msgid "Each list item has a filled circle marker."
-msgstr "每个列表项都有一个实心圆圈标记。"
+msgstr "每个列表项都有实心圆标记。"
msgid "The default text color."
msgstr "默认文本颜色。"
@@ -23244,6 +42628,15 @@ msgstr "字体阴影的颜色。"
msgid "The color of the selection box."
msgstr "选择框的颜色。"
+msgid "The default cell border color."
+msgstr "默认单元格边框颜色。"
+
+msgid "The default background color for even rows."
+msgstr "偶数行的默认背景色。"
+
+msgid "The default background color for odd rows."
+msgstr "奇数行的默认背景色。"
+
msgid "The vertical space between lines."
msgstr "行之间的垂直空间。"
@@ -23274,6 +42667,37 @@ msgstr "用于等宽文本的字体。"
msgid "The default text font."
msgstr "默认的文本字体。"
+msgid "The font size used for bold text."
+msgstr "用于粗体文本的字体大小。"
+
+msgid "The font size used for bold italics text."
+msgstr "用于粗斜体文本的字体大小。"
+
+msgid "The font size used for italics text."
+msgstr "用于斜体文本的字体大小。"
+
+msgid "The font size used for monospace text."
+msgstr "用于等宽文本的字体大小。"
+
+msgid "The default text font size."
+msgstr "默认文本字体大小。"
+
+msgid ""
+"The background used when the [RichTextLabel] is focused. The [code]focus[/"
+"code] [StyleBox] is displayed [i]over[/i] the base [StyleBox], so a "
+"partially transparent [StyleBox] should be used to ensure the base "
+"[StyleBox] remains visible. A [StyleBox] that represents an outline or an "
+"underline works well for this purpose. To disable the focus visual effect, "
+"assign a [StyleBoxEmpty] resource. Note that disabling the focus visual "
+"effect will harm keyboard/controller navigation usability, so this is not "
+"recommended for accessibility reasons."
+msgstr ""
+"该 [RichTextLabel] 处于聚焦状态时使用的背景。[code]focus[/code] [StyleBox] 显"
+"示在基础 [StyleBox] [i]之上[/i],所以应该使用部分透明的 [StyleBox],确保基础 "
+"[StyleBox] 仍然可见。代表轮廓或下划线的 [StyleBox] 可以很好地实现这个目的。要"
+"禁用聚焦的视觉效果,请指定 [StyleBoxEmpty] 资源。请注意,禁用聚焦的视觉效果会"
+"影响使用键盘/手柄进行导航的可用性,所以出于可访问性的原因,不建议这样做。"
+
msgid "The normal background for the [RichTextLabel]."
msgstr "[RichTextLabel] 的正常背景。"
@@ -23286,6 +42710,51 @@ msgstr "构造空的 [RID],内容为无效的 ID [code]0[/code]。"
msgid "Constructs a [RID] as a copy of the given [RID]."
msgstr "构造给定 [RID] 的副本。"
+msgid "Returns the ID of the referenced low-level resource."
+msgstr "返回引用的底层资源的 ID。"
+
+msgid "Returns [code]true[/code] if the [RID] is not [code]0[/code]."
+msgstr "如果该 [RID] 非 [code]0[/code],则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if the [RID]s are not equal."
+msgstr "如果 [RID] 不相等,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the [RID]'s ID is less than [param right]'s ID."
+msgstr ""
+"如果该 [RID] 的 ID 小于右侧 [param right] 的 ID,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the [RID]'s ID is less than or equal to [param "
+"right]'s ID."
+msgstr ""
+"如果该 [RID] 的 ID 小于等于右侧 [param right] 的 ID,则返回 [code]true[/"
+"code]。"
+
+msgid ""
+"Returns [code]true[/code] if both [RID]s are equal, which means they both "
+"refer to the same low-level resource."
+msgstr ""
+"如果 [RID] 相等,则返回 [code]true[/code],表示它们引用的是同一个底层资源。"
+
+msgid ""
+"Returns [code]true[/code] if the [RID]'s ID is greater than [param right]'s "
+"ID."
+msgstr ""
+"如果该 [RID] 的 ID 大于右侧 [param right] 的 ID,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the [RID]'s ID is greater than or equal to "
+"[param right]'s ID."
+msgstr ""
+"如果该 [RID] 的 ID 大于等于右侧 [param right] 的 ID,则返回 [code]true[/"
+"code]。"
+
+msgid ""
+"Physics Body which is moved by 2D physics simulation. Useful for objects "
+"that have gravity and can be pushed by other objects."
+msgstr "能够被 2D 物理仿真移动的物理物体。可用于具有重力并且可以被推动的对象。"
+
msgid "2D Physics Platformer Demo"
msgstr "2D 物理平台跳跃演示"
@@ -23390,6 +42859,14 @@ msgid ""
msgstr "使用形状投射启用连续碰撞检测。这是最慢的 CCD 方法,也是最精确的。"
msgid ""
+"Physics Body which is moved by 3D physics simulation. Useful for objects "
+"that have gravity and can be pushed by other objects."
+msgstr "能够被 3D 物理仿真移动的物理物体。可用于具有重力并且可以被推动的对象。"
+
+msgid "The RigidBody3D's rotational velocity in [i]radians[/i] per second."
+msgstr "该 RigidBody3D 的旋转速度,单位为[i]弧度[/i]每秒。"
+
+msgid ""
"If [code]true[/code], continuous collision detection is used.\n"
"Continuous collision detection tries to predict where a moving body will "
"collide, instead of moving it and correcting its movement if it collided. "
@@ -23455,6 +42932,9 @@ msgstr ""
"用于查询其他 [code]get_connection_*[/code] 方法中的连接元数据的 [code]idx[/"
"code] 参数,范围是 [code][0, get_connection_count() - 1][/code]。"
+msgid "Returns the name of the signal at [param idx]."
+msgstr "返回索引为 [param idx] 的信号的名称。"
+
msgid ""
"Returns the number of nodes in the scene.\n"
"The [code]idx[/code] argument used to query node data in other "
@@ -23465,6 +42945,23 @@ msgstr ""
"[code]idx[/code] 参数用于在其他 [code]get_node_*[/code] 方法中查询节点数据,"
"范围为 [code][0, get_node_count() - 1][/code]。"
+msgid "Returns the name of the node at [param idx]."
+msgstr "返回索引为 [param idx] 的节点的名称。"
+
+msgid ""
+"Returns the name of the property at [param prop_idx] for the node at [param "
+"idx]."
+msgstr ""
+"返回索引为 [param idx] 的节点中,索引为 [param prop_idx] 的属性的名称。"
+
+msgid ""
+"Returns the value of the property at [param prop_idx] for the node at [param "
+"idx]."
+msgstr "返回索引为 [param idx] 的节点中,索引为 [param prop_idx] 的属性的值。"
+
+msgid "Returns the type of the node at [param idx]."
+msgstr "返回索引为 [param idx] 的节点的类型。"
+
msgid "Manages the game loop via a hierarchy of nodes."
msgstr "通过节点层次结构管理游戏循环。"
@@ -23488,6 +42985,15 @@ msgstr ""
"设置属性。\n"
"[SceneTree] 是场景所使用的默认 [MainLoop] 实现,因此掌控着游戏循环。"
+msgid "SceneTree"
+msgstr "SceneTree"
+
+msgid "Multiple resolutions"
+msgstr "多分辨率"
+
+msgid "Creates and returns a new [Tween]."
+msgstr "创建并返回一个新的 [Tween]。"
+
msgid ""
"Returns the current frame number, i.e. the total frame count since the "
"application started."
@@ -23628,6 +43134,9 @@ msgstr "当计时器到 0 时发出。"
msgid "A class stored as a resource."
msgstr "作为资源存储的类。"
+msgid "Scripting documentation index"
+msgstr "脚本文档索引"
+
msgid "Returns the script directly inherited by this script."
msgstr "返回由该脚本直接继承的脚本。"
@@ -23756,6 +43265,20 @@ msgstr "滚动停止时发出。"
msgid "Emitted when scrolling is started."
msgstr "滚动开始时发出。"
+msgid "Scrolling disabled, scrollbar will be invisible."
+msgstr "禁用滚动,滚动条不可见。"
+
+msgid ""
+"Scrolling enabled, scrollbar will be visible only if necessary, i.e. "
+"container's content is bigger than the container."
+msgstr "启用滚动,滚动条仅在需要时可见,即容器的内容比容器大时。"
+
+msgid "Scrolling enabled, scrollbar will be always visible."
+msgstr "启用滚动,滚动条始终可见。"
+
+msgid "Scrolling enabled, scrollbar will be hidden."
+msgstr "启用滚动,滚动条隐藏。"
+
msgid "The background [StyleBox] of the [ScrollContainer]."
msgstr "[ScrollContainer] 的背景 [StyleBox]。"
@@ -23780,15 +43303,15 @@ msgid "The ray's length."
msgstr "射线的长度。"
msgid "Base class for separators."
-msgstr "分离器的基类。"
+msgstr "分隔器的基类。"
msgid ""
"Separator is a [Control] used for separating other controls. It's purely a "
"visual decoration. Horizontal ([HSeparator]) and Vertical ([VSeparator]) "
"versions are available."
msgstr ""
-"Separator 是一个用于分隔其他控件的[Control] 。它纯粹是一种视觉装饰。提供水平 "
-"([HSeparator]) 和垂直 ([VSeparator]) 版本。"
+"Separator(分隔器)是用于分隔其他控件的 [Control] 。纯粹是视觉装饰。提供水平"
+"([HSeparator])和垂直([VSeparator])版本。"
msgid "A custom shader program."
msgstr "自定义着色器程序。"
@@ -23803,6 +43326,9 @@ msgstr ""
"编写自己的自定义行为来渲染对象或更新粒子信息。有关详细说明和用法,请参阅下面"
"链接的教程。"
+msgid "Shaders documentation index"
+msgstr "着色器文档索引"
+
msgid ""
"Returns the shader mode for the shader, either [constant MODE_CANVAS_ITEM], "
"[constant MODE_SPATIAL] or [constant MODE_PARTICLES]."
@@ -23858,18 +43384,57 @@ msgstr ""
"超过其边距时,碰撞算法的成本会更高,所以边距的数值越高对性能越好,但代价是边"
"缘的精度会降低。"
+msgid ""
+"Removes a collision exception so the shape does report collisions with the "
+"specified [CollisionObject2D] node."
+msgstr "移除碰撞例外,使该形状能够汇报与指定 [CollisionObject2D] 节点的碰撞。"
+
+msgid ""
+"Removes a collision exception so the shape does report collisions with the "
+"specified [RID]."
+msgstr "移除碰撞例外,使该形状能够汇报与指定 [RID] 的碰撞。"
+
+msgid "The [Shape2D]-derived shape to be used for collision queries."
+msgstr "派生自 [Shape2D] 的形状,用于碰撞查询。"
+
+msgid "The [Shape3D]-derived shape to be used for collision queries."
+msgstr "派生自 [Shape3D] 的形状,用于碰撞查询。"
+
msgid "A shortcut for binding input."
msgstr "绑定输入的快捷方式。"
+msgid "Built-in type representing a signal defined in an object."
+msgstr "内置类型,代表对象中定义的某个信号。"
+
+msgid "Using Signals"
+msgstr "使用信号"
+
+msgid "GDScript Basics"
+msgstr "GDScript 基础"
+
msgid "Constructs an empty [Signal] with no object nor signal name bound."
msgstr "构造空的 [Signal],没有绑定对象和信号名称。"
msgid "Constructs a [Signal] as a copy of the given [Signal]."
msgstr "构造给定 [Signal] 的副本。"
+msgid "Returns the name of this signal."
+msgstr "返回该信号的名称。"
+
+msgid "Returns the object emitting this signal."
+msgstr "返回发出该信号的对象。"
+
+msgid ""
+"Returns the ID of the object emitting this signal (see [method Object."
+"get_instance_id])."
+msgstr "返回发出该信号的对象的 ID(见 [method Object.get_instance_id])。"
+
msgid "Skeleton for 2D characters and animated objects."
msgstr "2D 角色和动画对象的骨架。"
+msgid "2D skeletons"
+msgstr "2D 骨架"
+
msgid ""
"Returns the number of [Bone2D] nodes in the node hierarchy parented by "
"Skeleton2D."
@@ -23908,6 +43473,73 @@ msgstr ""
"上。"
msgid ""
+"SkeletonIK3D is used to place the end bone of a [Skeleton3D] bone chain at a "
+"certain point in 3D by rotating all bones in the chain accordingly."
+msgstr ""
+"SkeletonIK3D 可用于将 [Skeleton3D] 的骨骼链的末端骨骼置于 3D 中的某一点,并相"
+"应地旋转骨骼链中的所有骨骼。"
+
+msgid ""
+"SkeletonIK3D is used to place the end bone of a [Skeleton3D] bone chain at a "
+"certain point in 3D by rotating all bones in the chain accordingly. A "
+"typical scenario for IK in games is to place a characters feet on the ground "
+"or a characters hands on a currently hold object. SkeletonIK uses "
+"FabrikInverseKinematic internally to solve the bone chain and applies the "
+"results to the [Skeleton3D] [code]bones_global_pose_override[/code] property "
+"for all affected bones in the chain. If fully applied this overwrites any "
+"bone transform from [Animation]s or bone custom poses set by users. The "
+"applied amount can be controlled with the [code]interpolation[/code] "
+"property.\n"
+"[codeblock]\n"
+"# Apply IK effect automatically on every new frame (not the current)\n"
+"skeleton_ik_node.start()\n"
+"\n"
+"# Apply IK effect only on the current frame\n"
+"skeleton_ik_node.start(true)\n"
+"\n"
+"# Stop IK effect and reset bones_global_pose_override on Skeleton\n"
+"skeleton_ik_node.stop()\n"
+"\n"
+"# Apply full IK effect\n"
+"skeleton_ik_node.set_interpolation(1.0)\n"
+"\n"
+"# Apply half IK effect\n"
+"skeleton_ik_node.set_interpolation(0.5)\n"
+"\n"
+"# Apply zero IK effect (a value at or below 0.01 also removes "
+"bones_global_pose_override on Skeleton)\n"
+"skeleton_ik_node.set_interpolation(0.0)\n"
+"[/codeblock]"
+msgstr ""
+"SkeletonIK3D 用于将 [Skeleton3D] 骨骼链的末端骨骼放置在 3D 某一点上,并相应地"
+"旋转骨骼链中的所有骨骼。游戏中 IK 的典型场景是将角色的脚放在地面上,或者将角"
+"色的手放在当前持有的物体上。SkeletonIK 在内部使用 FabrikInverseKinematic 来解"
+"决骨骼链,并将结果应用于 [Skeleton3D] [code]bones_global_pose_override[/"
+"code] 属性中所有受影响的骨骼链。如果完全应用,这将覆盖任何来自 [Animation] 的"
+"骨骼变换或用户设置的骨骼自定义姿势。应用量可以用 [code]interpolation[/code] "
+"属性来控制。\n"
+"[codeblock]\n"
+"# 在每一个新的帧上自动应用 IK 效果(不是当前的)。\n"
+"skeleton_ik_node.start()\n"
+"\n"
+"# 只在当前帧上应用 IK 效果\n"
+"skeleton_ik_node.start(true)\n"
+"\n"
+"# 停止 IK 效果并重置骨骼上的 bones_global_pose_override\n"
+"skeleton_ik_node.stop()\n"
+"\n"
+"# 应用完整的 IK 效果\n"
+"skeleton_ik_node.set_interpolation(1.0)\n"
+"\n"
+"# 应用一半的 IK 效果\n"
+"skeleton_ik_node.set_interpolation(0.5)\n"
+"\n"
+"# 应用零 IK 效果(数值为 0.01 或低于 0.01 也会移除 Skeleton 上的 "
+"bones_global_pose_override)。\n"
+"skeleton_ik_node.set_interpolation(0.0)\n"
+"[/codeblock]"
+
+msgid ""
"Secondary target position (first is [member target] property or [member "
"target_node]) for the IK chain. Use magnet position (pole target) to control "
"the bending of the IK chain. Only works if the bone chain has more than 2 "
@@ -23965,6 +43597,58 @@ msgstr ""
"如果为 [code]true[/code],指示 IK 求解器在解算器链时考虑次要磁铁目标(极点目"
"标)。使用磁铁位置(磁极目标)来控制 IK 链的弯曲。"
+msgid ""
+"Returns the maximum angle constraint for the joint at [param joint_idx]."
+msgstr "返回索引为 [param joint_idx] 的关节的最大角约束。"
+
+msgid ""
+"Returns the minimum angle constraint for the joint at [param joint_idx]."
+msgstr "返回索引为 [param joint_idx] 的关节的最小角约束。"
+
+msgid "Sets the maximum angle constraint for the joint at [param joint_idx]."
+msgstr "设置索引为 [param joint_idx] 的关节的最大角约束。"
+
+msgid "Sets the minimum angle constraint for the joint at [param joint_idx]."
+msgstr "设置索引为 [param joint_idx] 的关节的最小角约束。"
+
+msgid "The number of CCDIK joints in the CCDIK modification."
+msgstr "CCDIK 修改中 CCDIK 关节的数量。"
+
+msgid "The number of FABRIK joints in the FABRIK modification."
+msgstr "FABRIK 修改中 FABRIK 关节的数量。"
+
+msgid "Returns the constraint's maximum allowed angle."
+msgstr "返回该约束允许的最大角度。"
+
+msgid "Returns the constraint's minimum allowed angle."
+msgstr "返回该约束允许的最小角度。"
+
+msgid "Sets the constraint's maximum allowed angle."
+msgstr "设置该约束允许的最大角度。"
+
+msgid "Sets the constraint's minimum allowed angle."
+msgstr "设置该约束允许的最小角度。"
+
+msgid "Returns the group of the bone at [param bone_idx]."
+msgstr "返回索引为 [param bone_idx] 的骨骼的分组。"
+
+msgid "Sets the group of the bone at [param bone_idx]."
+msgstr "设置索引为 [param bone_idx] 的骨骼的分组。"
+
+msgid ""
+"A bone name which will use model's height as the coefficient for "
+"normalization. For example, [SkeletonProfileHumanoid] defines it as "
+"[code]Hips[/code]."
+msgstr ""
+"骨骼的名称,将使用模型的高度作为归一化的系数。例如,"
+"[SkeletonProfileHumanoid] 将其定义为 [code]Hips[/code] 。"
+
+msgid "Direction is not calculated."
+msgstr "不计算方向。"
+
+msgid "A humanoid [SkeletonProfile] preset."
+msgstr "人形 [SkeletonProfile] 预设。"
+
msgid "Radiance texture size is 32×32 pixels."
msgstr "辐照度纹理尺寸为 32×32 像素。"
@@ -23975,10 +43659,16 @@ msgid "Radiance texture size is 128×128 pixels."
msgstr "辐照度纹理尺寸为128×128像素。"
msgid "Radiance texture size is 256×256 pixels."
-msgstr "辐照度纹理大小为 256×256 像素。"
+msgstr "辐照度纹理尺寸为 256×256 像素。"
msgid "Radiance texture size is 512×512 pixels."
-msgstr "辐照度纹理大小为 512×512 像素。"
+msgstr "辐照度纹理尺寸为 512×512 像素。"
+
+msgid "Radiance texture size is 1024×1024 pixels."
+msgstr "辐照度纹理尺寸为 1024×1024 像素。"
+
+msgid "Radiance texture size is 2048×2048 pixels."
+msgstr "辐照度纹理尺寸为 2048×2048 像素。"
msgid "Represents the size of the [enum RadianceSize] enum."
msgstr "代表 [enum RadianceSize] 枚举的大小。"
@@ -24066,17 +43756,37 @@ msgstr "超出限制后的补偿。数值越低,损失的速度能量越多。
msgid "A soft mesh physics body."
msgstr "柔性网格物理体。"
+msgid "SoftBody"
+msgstr "SoftBody"
+
msgid "Returns local translation of a vertex in the surface array."
msgstr "返回表面数组中顶点的局部平移。"
msgid "Returns [code]true[/code] if vertex is set to pinned."
msgstr "如果顶点设置为固定,则返回 [code]true[/code]。"
+msgid "If [code]true[/code], the [SoftBody3D] will respond to [RayCast3D]s."
+msgstr "如果为 [code]true[/code],则该 [SoftBody3D] 会响应 [RayCast3D]。"
+
msgid ""
"Increasing this value will improve the resulting simulation, but can affect "
"performance. Use with care."
msgstr "增加这个值会改善模拟结果,但会影响性能。请小心使用。"
+msgid "The SoftBody3D's mass."
+msgstr "该 SoftBody3D 的质量。"
+
+msgid ""
+"When [member Node.process_mode] is set to [constant Node."
+"PROCESS_MODE_DISABLED], remove from the physics simulation to stop all "
+"physics interactions with this [SoftBody3D].\n"
+"Automatically re-added to the physics simulation when the [Node] is "
+"processed again."
+msgstr ""
+"当 [member Node.process_mode] 被设置为 [constant Node.PROCESS_MODE_DISABLED] "
+"时,从物理仿真中移除,停止与此 [SoftBody3D] 的所有物理交互。\n"
+"当该 [Node] 再次被处理时,会自动重新加入到物理仿真中。"
+
msgid "Class representing a spherical [PrimitiveMesh]."
msgstr "表示球形 [PrimitiveMesh] 的类。"
@@ -24100,6 +43810,12 @@ msgstr "球体半径."
msgid "Number of segments along the height of the sphere."
msgstr "沿着球体高度的段数。"
+msgid "The sphere's radius in 3D units."
+msgstr "球体半径,使用 3D 单位。"
+
+msgid "Sphere shape resource for 3D collisions."
+msgstr "用于 3D 碰撞的球体形状资源。"
+
msgid "The sphere's radius. The shape's diameter is double the radius."
msgstr "球体的半径。形状的直径是半径的两倍。"
@@ -24184,12 +43900,6 @@ msgstr "拆分拖动器永远不可见,其空间也被折叠。"
msgid "A spotlight, such as a reflector spotlight or a lantern."
msgstr "聚光灯,如反射器聚光灯或灯笼。"
-msgid "The spotlight's angular attenuation curve."
-msgstr "聚光灯的角度衰减曲线。"
-
-msgid "The spotlight's light energy attenuation curve."
-msgstr "聚光灯的光量衰减曲线。"
-
msgid "A helper node, mostly used in 3rd person cameras."
msgstr "辅助节点,主要用于第三人称相机。"
@@ -24206,14 +43916,73 @@ msgstr ""
"physics_introduction.html#collision-layers-and-masks]《碰撞层与遮罩》[/url]。"
msgid "General-purpose sprite node."
-msgstr "通用精灵图节点。"
+msgstr "通用精灵节点。"
msgid ""
"A node that displays a 2D texture. The texture displayed can be a region "
"from a larger atlas texture, or a frame from a sprite sheet animation."
msgstr ""
-"显示 2D 纹理的节点。显示的纹理可以是来自较大图集纹理的区域,也可以是来自精灵"
-"表动画的帧。"
+"显示 2D 纹理的节点。显示的纹理可以是较大图集纹理中的某个区域,也可以是精灵表"
+"动画中的某一帧。"
+
+msgid ""
+"Returns a [Rect2] representing the Sprite2D's boundary in local coordinates. "
+"Can be used to detect if the Sprite2D was clicked.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _input(event):\n"
+" if event is InputEventMouseButton and event.pressed and event."
+"button_index == MOUSE_BUTTON_LEFT:\n"
+" if get_rect().has_point(to_local(event.position)):\n"
+" print(\"A click!\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Input(InputEvent @event)\n"
+"{\n"
+" if (@event is InputEventMouseButton inputEventMouse)\n"
+" {\n"
+" if (inputEventMouse.Pressed && inputEventMouse.ButtonIndex == "
+"MouseButton.Left)\n"
+" {\n"
+" if (GetRect().HasPoint(ToLocal(inputEventMouse.Position)))\n"
+" {\n"
+" GD.Print(\"A click!\");\n"
+" }\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"返回代表该 Sprite2D 边界的 [Rect2],使用局部坐标。可用于检测该 Sprite2D 是否"
+"被点击。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"func _input(event):\n"
+" if event is InputEventMouseButton and event.pressed and event."
+"button_index == MOUSE_BUTTON_LEFT:\n"
+" if get_rect().has_point(to_local(event.position)):\n"
+" print(\"我点!\")\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"public override void _Input(InputEvent @event)\n"
+"{\n"
+" if (@event is InputEventMouseButton inputEventMouse)\n"
+" {\n"
+" if (inputEventMouse.Pressed && inputEventMouse.ButtonIndex == "
+"MouseButton.Left)\n"
+" {\n"
+" if (GetRect().HasPoint(ToLocal(inputEventMouse.Position)))\n"
+" {\n"
+" GD.Print(\"我点!\");\n"
+" }\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
msgid ""
"Returns [code]true[/code], if the pixel at the given position is opaque and "
@@ -24259,6 +44028,9 @@ msgid ""
msgstr ""
"要显示的图集纹理区域。[member region_enabled] 必须是 [code]true[/code]。"
+msgid "[Texture2D] object to draw."
+msgstr "要绘制的 [Texture2D] 对象。"
+
msgid "The number of rows in the sprite sheet."
msgstr "精灵表中的行数。"
@@ -24328,6 +44100,27 @@ msgstr ""
"这个模式会进行标准的 Alpha 混合。可以显示半透明区域,但透明材质存在重叠时可能"
"会暴露透明度排序问题。"
+msgid "Sprite frame library for AnimatedSprite2D and AnimatedSprite3D."
+msgstr "精灵帧库,用于 AnimatedSprite2D 和 AnimatedSprite3D。"
+
+msgid ""
+"Sprite frame library for an [AnimatedSprite2D] or [AnimatedSprite3D] node. "
+"Contains frames and animation data for playback."
+msgstr ""
+"[AnimatedSprite2D] 和 [AnimatedSprite3D] 节点的精灵帧库。包含帧和用于播放的动"
+"画信息。"
+
+msgid "Adds a new [param anim] animation to the library."
+msgstr "向库中添加新动画 [param anim]。"
+
+msgid "Removes all frames from the [param anim] animation."
+msgstr "删除 [param anim] 动画中的所有帧。"
+
+msgid ""
+"Removes all animations. An empty [code]default[/code] animation will be "
+"created."
+msgstr "移除所有动画。将创建名为 [code]default[/code] 的空动画。"
+
msgid ""
"Returns [code]true[/code] if the given animation is configured to loop when "
"it finishes playing. Otherwise, returns [code]false[/code]."
@@ -24340,20 +44133,58 @@ msgid ""
"are placed in alphabetical order."
msgstr "返回一个包含每个动画的名称的数组。值按字母顺序排列。"
+msgid "Returns the speed in frames per second for the [param anim] animation."
+msgstr "返回 [param anim] 动画的速度,单位为帧每秒。"
+
+msgid "Returns the number of frames for the [param anim] animation."
+msgstr "返回 [param anim] 动画中的帧数。"
+
+msgid ""
+"Returns the texture of the frame [param idx] in the [param anim] animation."
+msgstr "移除 [param anim] 动画中索引为 [param idx] 的帧的纹理。"
+
+msgid "Returns [code]true[/code] if the [param anim] animation exists."
+msgstr "如果 [param anim] 动画存在,则返回 [code]true[/code]。"
+
+msgid "Removes the [param anim] animation."
+msgstr "移除 [param anim] 动画。"
+
+msgid "Removes the [param anim] animation's frame [param idx]."
+msgstr "移除 [param anim] 动画中索引为 [param idx] 的帧。"
+
+msgid "Changes the [param anim] animation's name to [param newname]."
+msgstr "将 [param anim] 动画的名称更改为 [param newname]。"
+
+msgid "Sets the speed for the [param anim] animation in frames per second."
+msgstr "设置 [param anim] 动画的速度,单位为帧每秒。"
+
+msgid ""
+"Physics body for 2D physics which is static or moves only by script. Useful "
+"for floor and walls."
+msgstr "静态或者只能被脚本移动的 2D 物理物体。可用于地面和墙体。"
+
+msgid ""
+"Physics body for 3D physics which is static or moves only by script. Useful "
+"for floor and walls."
+msgstr "静态或者只能被脚本移动的 3D 物理物体。可用于地面和墙体。"
+
msgid "Abstraction and base class for stream-based protocols."
msgstr "基于流的协议的抽象和基类。"
msgid "Gets a signed 16-bit value from the stream."
-msgstr "从流中获取一个有符号 16 位值。"
+msgstr "从流中获取有符号 16 位值。"
msgid "Gets a signed 32-bit value from the stream."
-msgstr "从流中获取一个有符号 32 位值。"
+msgstr "从流中获取有符号 32 位值。"
msgid "Gets a signed 64-bit value from the stream."
-msgstr "从流中获取一个有符号 64 位值。"
+msgstr "从流中获取有符号 64 位值。"
msgid "Gets a signed byte from the stream."
-msgstr "从流中获取一个有符号字节。"
+msgstr "从流中获取有符号字节。"
+
+msgid "Returns the number of bytes this [StreamPeer] has available."
+msgstr "返回该 [StreamPeer] 可用的字节数。"
msgid "Gets a double-precision float from the stream."
msgstr "从流中获取一个双精度浮点数。"
@@ -24466,16 +44297,266 @@ msgstr ""
"轮询连接以检查传入的字节。在 [method StreamPeer.get_available_bytes] 之前调用"
"它以使其正常工作。"
+msgid "A status representing a [StreamPeerTLS] that is disconnected."
+msgstr "状态,表示 [StreamPeerSSL] 已断开连接。"
+
+msgid "A status representing a [StreamPeerTLS] during handshaking."
+msgstr "状态,表示 [StreamPeerSSL] 处于握手阶段。"
+
+msgid "A status representing a [StreamPeerTLS] that is connected to a host."
+msgstr "状态,表示 [StreamPeerSSL] 已连接至主机。"
+
+msgid "A status representing a [StreamPeerTLS] in error state."
+msgstr "状态,表示 [StreamPeerSSL] 处于出错状态。"
+
+msgid ""
+"An error status that shows a mismatch in the TLS certificate domain "
+"presented by the host and the domain requested for validation."
+msgstr "错误状态,表示主机的 TLS 证书域名与请求验证的域名不匹配。"
+
+msgid "Built-in string Variant type."
+msgstr "内置字符串 Variant 类。"
+
+msgid ""
+"This is the built-in string Variant type (and the one used by GDScript). "
+"Strings may contain any number of Unicode characters, and expose methods "
+"useful for manipulating and generating strings. Strings are reference-"
+"counted and use a copy-on-write approach (every modification to a string "
+"returns a new [String]), so passing them around is cheap in resources.\n"
+"Some string methods have corresponding variations. Variations suffixed with "
+"[code]n[/code] ([method countn], [method findn], [method replacen], etc.) "
+"are [b]case-insensitive[/b] (they make no distinction between uppercase and "
+"lowercase letters). Method variations prefixed with [code]r[/code] ([method "
+"rfind], [method rsplit], etc.) are reversed, and start from the end of the "
+"string, instead of the beginning.\n"
+"[b]Note:[/b] In a boolean context, a string will evaluate to [code]false[/"
+"code] if it is empty ([code]\"\"[/code]). Otherwise, a string will always "
+"evaluate to [code]true[/code]."
+msgstr ""
+"这是内置的字符串 Variant 类型(GDScript 使用的就是这个类型)。字符中中可以包"
+"含任意数量的 Unicode 字符,暴露的方法可用于字符串操作和生成。字符串有引用计"
+"数,使用写时复制技术(每次对字符串的修改都会返回新的 [String]),所以传递字符"
+"串的资源损耗很小。\n"
+"部分字符串方法有对应的变体。后缀 [code]n[/code] 的变体([method countn]、"
+"[method findn]、[method replacen] 等)[b]大小写不敏感[/b](不区分大写字符和小"
+"写字符)。前缀 [code]r[/code] 的方法变体([method rfind]、[method rsplit] "
+"等)是逆序的,会从字符串末尾开始,而不是从开头开始。\n"
+"[b]注意:[/b]转换为布尔值时,空字符串([code]\"\"[/code])为 [code]false[/"
+"code],其他字符串均为 [code]true[/code]。"
+
+msgid "GDScript format strings"
+msgstr "GDScript 格式字符串"
+
msgid "Constructs an empty [String] ([code]\"\"[/code])."
msgstr "构造空的 [String]([code]\"\"[/code])。"
msgid "Constructs a [String] as a copy of the given [String]."
msgstr "构造给定 [String] 的副本。"
+msgid "Constructs a new [String] from the given [NodePath]."
+msgstr "从给定的 [NodePath] 构造新的 [String]。"
+
+msgid "Constructs a new [String] from the given [StringName]."
+msgstr "从给定的 [StringName] 构造新 [String]。"
+
+msgid ""
+"Returns [code]true[/code] if the string begins with the given [param text]. "
+"See also [method ends_with]."
+msgstr ""
+"如果该字符串以给定的 [param text] 开始,则返回 [code]true[/code]。另见 "
+"[method ends_with]。"
+
+msgid ""
+"Returns an array containing the bigrams (pairs of consecutive characters) of "
+"this string.\n"
+"[codeblock]\n"
+"print(\"Get up!\".bigrams()) # Prints [\"Ge\", \"et\", \"t \", \" u\", "
+"\"up\", \"p!\"]\n"
+"[/codeblock]"
+msgstr ""
+"返回包含该字符串的双字母组(连续字母的组合)的数组。\n"
+"[codeblock]\n"
+"print(\"Get up!\".bigrams()) # 输出 [\"Ge\", \"et\", \"t \", \" u\", \"up\", "
+"\"p!\"]\n"
+"[/codeblock]"
+
+msgid ""
+"Converts the string representing a binary number into an [int]. The string "
+"may optionally be prefixed with [code]\"0b\"[/code], and an additional "
+"[code]-[/code] prefix for negative numbers.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print(\"101\".bin_to_int()) # Prints 5\n"
+"print(\"0b101\".bin_to_int()) # Prints 5\n"
+"print(\"-0b10\".bin_to_int()) # Prints -2\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Print(\"101\".BinToInt()); // Prints 5\n"
+"GD.Print(\"0b101\".BinToInt()); // Prints 5\n"
+"GD.Print(\"-0b10\".BinToInt()); // Prints -2\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"将表示二进制数的字符串转换为 [int]。该字符串可以前缀 [code]\"0b\"[/code],负"
+"数可以前缀 [code]-[/code]。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print(\"101\".bin_to_int()) # 输出 5\n"
+"print(\"0b101\".bin_to_int()) # 输出 5\n"
+"print(\"-0b10\".bin_to_int()) # 输出 -2\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Print(\"101\".BinToInt()); // 输出 5\n"
+"GD.Print(\"0b101\".BinToInt()); // 输出 5\n"
+"GD.Print(\"-0b10\".BinToInt()); // 输出 -2\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
msgid ""
"Returns a copy of the string with special characters escaped using the C "
"language standard."
-msgstr "返回一个使用 C 语言标准转义的特殊字符的字符串的副本。"
+msgstr "返回该字符串的副本,按照 C 语言标准对特殊字符进行转义。"
+
+msgid ""
+"Returns a copy of the string with escaped characters replaced by their "
+"meanings. Supported escape sequences are [code]\\'[/code], [code]\\\"[/"
+"code], [code]\\\\[/code], [code]\\a[/code], [code]\\b[/code], [code]\\f[/"
+"code], [code]\\n[/code], [code]\\r[/code], [code]\\t[/code], [code]\\v[/"
+"code].\n"
+"[b]Note:[/b] Unlike the GDScript parser, this method doesn't support the "
+"[code]\\uXXXX[/code] escape sequence."
+msgstr ""
+"返回该字符串的副本,转义字符均使用本义代替。支持的转义序列有 [code]\\'[/"
+"code]、[code]\\\"[/code]、[code]\\\\[/code]、[code]\\a[/code]、[code]\\b[/"
+"code]、[code]\\f[/code]、[code]\\n[/code]、[code]\\r[/code]、[code]\\t[/"
+"code]、[code]\\v[/code]。\n"
+"[b]注意:[/b]与 GDScript 解析器不同,这个方法不支持 [code]\\uXXXX[/code] 转义"
+"序列。"
+
+msgid ""
+"Changes the appearance of the string: replaces underscores ([code]_[/code]) "
+"with spaces, adds spaces before uppercase letters in the middle of a word, "
+"converts all letters to lowercase, then converts the first one and each one "
+"following a space to uppercase.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"\"move_local_x\".capitalize() # Returns \"Move Local X\"\n"
+"\"sceneFile_path\".capitalize() # Returns \"Scene File Path\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"\"move_local_x\".Capitalize(); // Returns \"Move Local X\"\n"
+"\"sceneFile_path\".Capitalize(); // Returns \"Scene File Path\"\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] This method not the same as the default appearance of "
+"properties in the Inspector dock, as it does not capitalize acronyms "
+"([code]\"2D\"[/code], [code]\"FPS\"[/code], [code]\"PNG\"[/code], etc.) as "
+"you may expect."
+msgstr ""
+"改变字符串的外观:用空格代替下划线([code]_[/code]),在单词中间的大写字母前"
+"添加空格,将所有字母转换为小写,然后将第一个字母和空格后的每个字母转换为大"
+"写。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"\"move_local_x\".capitalize() # 返回 \"Move Local X\"\n"
+"\"sceneFile_path\".capitalize() # 返回 \"Scene File Path\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"\"move_local_x\".Capitalize(); // 返回 \"Move Local X\"\n"
+"\"sceneFile_path\".Capitalize(); // 返回 \"Scene File Path\"\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]这个方法与检查器面板中属性的默认外观不一样,不会像你期望的那样将"
+"首字母缩写大写([code]\"2D\"[/code]、[code]\"FPS\"[/code]、[code]\"PNG\"[/"
+"code] 等)。"
+
+msgid ""
+"Performs a case-sensitive comparison to another string. Returns [code]-1[/"
+"code] if less than, [code]1[/code] if greater than, or [code]0[/code] if "
+"equal. \"Less than\" and \"greater than\" are determined by the [url=https://"
+"en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code points[/url] "
+"of each string, which roughly matches the alphabetical order.\n"
+"With different string lengths, returns [code]1[/code] if this string is "
+"longer than the [param to] string, or [code]-1[/code] if shorter. Note that "
+"the length of empty strings is [i]always[/i] [code]0[/code].\n"
+"To get a [bool] result from a string comparison, use the [code]==[/code] "
+"operator instead. See also [method nocasecmp_to] and [method "
+"naturalnocasecmp_to]."
+msgstr ""
+"与另一个字符串进行比较,区分大小写。小于时返回 [code]-1[/code]、大于时返回 "
+"[code]1[/code]、等于时返回 [code]0[/code]。“小于”和“大于”比较的是字符串中的 "
+"[url=https://zh.wikipedia.org/wiki/"
+"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 码位[/url],大致与字母表"
+"顺序一致。\n"
+"如果字符串长度不同,这个字符串比 [param to] 字符串长时返回 [code]1[/code],短"
+"时返回 [code]-1[/code]。请注意空字符串的长度[i]始终[/i]为 [code]0[/code]。\n"
+"如果想在比较字符串时获得 [bool] 返回值,请改用 [code]==[/code] 运算符。另见 "
+"[method nocasecmp_to] 和 [method naturalnocasecmp_to]。"
+
+msgid ""
+"Returns a single Unicode character from the decimal [param char]. You may "
+"use [url=https://unicodelookup.com/]unicodelookup.com[/url] or [url=https://"
+"www.unicode.org/charts/]unicode.org[/url] as points of reference.\n"
+"[codeblock]\n"
+"print(String.chr(65)) # Prints \"A\"\n"
+"print(String.chr(129302)) # Prints \"🤖\" (robot face emoji)\n"
+"[/codeblock]"
+msgstr ""
+"根据十进制数 [param char] 返回单一 Unicode 字符。你可以用 [url=https://"
+"unicodelookup.com/]unicodelookup.com[/url] 和 [url=https://www.unicode.org/"
+"charts/]unicode.org[/url] 作为参考。\n"
+"[codeblock]\n"
+"print(String.chr(65)) # 输出 \"A\"\n"
+"print(String.chr(129302)) # 输出 \"🤖\"(机器人脸 Emoji)\n"
+"[/codeblock]"
+
+msgid ""
+"Returns [code]true[/code] if the string contains [param what]. In GDScript, "
+"this corresponds to the [code]in[/code] operator.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print(\"Node\".contains(\"de\")) # Prints true\n"
+"print(\"team\".contains(\"I\")) # Prints false\n"
+"print(\"I\" in \"team\") # Prints false\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Print(\"Node\".Contains(\"de\")); // Prints true\n"
+"GD.Print(\"team\".Contains(\"I\")); // Prints false\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"If you need to know where [param what] is within the string, use [method "
+"find]."
+msgstr ""
+"如果该字符串包含 [param what],则返回 [code]true[/code]。在 GDScript 中对应 "
+"[code]in[/code] 运算符。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print(\"Node\".contains(\"de\")) # 输出 true\n"
+"print(\"team\".contains(\"I\")) # 输出 false\n"
+"print(\"I\" in \"team\") # 输出 false\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Print(\"Node\".Contains(\"de\")); // 输出 true\n"
+"GD.Print(\"team\".Contains(\"I\")); // 输出 false\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"如果想要知道 [param what] 在该字符串中的位置,请使用 [method find]。"
+
+msgid ""
+"Returns the number of occurrences of the substring [param what] between "
+"[param from] and [param to] positions. If [param to] is 0, the search "
+"continues until the end of the string."
+msgstr ""
+"返回子串 [param what] 在 [param from] 和 [param to] 位置之间出现的次数。如果 "
+"[param to] 为 0,会在剩余字符串中继续搜索。"
+
+msgid ""
+"Returns the number of occurrences of the substring [param what] between "
+"[param from] and [param to] positions, [b]ignoring case[/b]. If [param to] "
+"is 0, the search continues until the end of the string."
+msgstr ""
+"返回子串 [param what] 在 [param from] 和 [param to] 位置之间出现的次数,[b]忽"
+"略大小写[/b]。如果 [param to] 为 0,会在剩余字符串中继续搜索。"
msgid ""
"Returns a copy of the string with indentation (leading tabs and spaces) "
@@ -24484,16 +44565,1238 @@ msgstr ""
"返回删除了缩进(前导制表符和空格)的字符串副本。添加缩进请参阅 [method "
"indent]。"
+msgid ""
+"Returns [code]true[/code] if the string ends with the given [param text]. "
+"See also [method begins_with]."
+msgstr ""
+"如果该字符串以给定的 [param text] 结束,则返回 [code]true[/code]。另见 "
+"[method begins_with]。"
+
+msgid ""
+"Returns the index of the [b]first[/b] [b]case-insensitive[/b] occurrence of "
+"[param what] in this string, or [code]-1[/code] if there are none. The "
+"starting search index can be specified with [param from], continuing to the "
+"end of the string."
+msgstr ""
+"返回这个字符串中 [param what] [b]首次[/b]出现的索引,[b]不区分大小写[/b],不"
+"存在时则为 [code]-1[/code]。搜索的起点可以用 [param from] 指定,终点为该字符"
+"串的末尾。"
+
+msgid ""
+"If the string is a valid file path, returns the base directory name.\n"
+"[codeblock]\n"
+"var dir_path = \"/path/to/file.txt\".get_base_dir() # dir_path is \"/path/"
+"to\"\n"
+"[/codeblock]"
+msgstr ""
+"如果该字符串是有效的文件路径,则返回基础目录名称。\n"
+"[codeblock]\n"
+"var dir_path = \"/path/to/file.txt\".get_base_dir() # dir_path 为 \"/path/"
+"to\"\n"
+"[/codeblock]"
+
+msgid ""
+"If the string is a valid file path, returns the full file path, without the "
+"extension.\n"
+"[codeblock]\n"
+"var base = \"/path/to/file.txt\".get_basename() # base is \"/path/to/file\"\n"
+"[/codeblock]"
+msgstr ""
+"如果该字符串是有效的文件路径,则返回完整文件路径,不包括扩展名。\n"
+"[codeblock]\n"
+"var base = \"/path/to/file.txt\".get_basename() # base 为 \"/path/to/file\"\n"
+"[/codeblock]"
+
+msgid ""
+"If the string is a valid file name or path, returns the file extension "
+"without the leading period ([code].[/code]). Otherwise, returns an empty "
+"string.\n"
+"[codeblock]\n"
+"var a = \"/path/to/file.txt\".get_extension() # a is \"txt\"\n"
+"var b = \"cool.txt\".get_extension() # b is \"txt\"\n"
+"var c = \"cool.font.tres\".get_extension() # c is \"tres\"\n"
+"var d = \".pack1\".get_extension() # d is \"pack1\"\n"
+"\n"
+"var e = \"file.txt.\".get_extension() # e is \"\"\n"
+"var f = \"file.txt..\".get_extension() # f is \"\"\n"
+"var g = \"txt\".get_extension() # g is \"\"\n"
+"var h = \"\".get_extension() # h is \"\"\n"
+"[/codeblock]"
+msgstr ""
+"如果该字符串是有效的文件名或路径,则返回该文件的扩展名,不含开头的点号"
+"([code].[/code])。否则返回空字符串。\n"
+"[codeblock]\n"
+"var a = \"/path/to/file.txt\".get_extension() # a 为 \"txt\"\n"
+"var b = \"cool.txt\".get_extension() # b 为 \"txt\"\n"
+"var c = \"cool.font.tres\".get_extension() # c 为 \"tres\"\n"
+"var d = \".pack1\".get_extension() # d 为 \"pack1\"\n"
+"\n"
+"var e = \"file.txt.\".get_extension() # e 为 \"\"\n"
+"var f = \"file.txt..\".get_extension() # f 为 \"\"\n"
+"var g = \"txt\".get_extension() # g 为 \"\"\n"
+"var h = \"\".get_extension() # h 为 \"\"\n"
+"[/codeblock]"
+
+msgid ""
+"If the string is a valid file path, returns the file name, including the "
+"extension.\n"
+"[codeblock]\n"
+"var file = \"/path/to/icon.png\".get_file() # file is \"icon.png\"\n"
+"[/codeblock]"
+msgstr ""
+"如果该字符串是有效的文件路径,则返回文件名,包括扩展名。\n"
+"[codeblock]\n"
+"var file = \"/path/to/icon.png\".get_file() # file 为 \"icon.png\"\n"
+"[/codeblock]"
+
+msgid ""
+"Splits the string using a [param delimiter] and returns the substring at "
+"index [param slice]. Returns an empty string if the [param slice] does not "
+"exist.\n"
+"This is faster than [method split], if you only need one substring.\n"
+"[b]Example:[/b]\n"
+"[codeblock]\n"
+"print(\"i/am/example/hi\".get_slice(\"/\", 2)) # Prints \"example\"\n"
+"[/codeblock]"
+msgstr ""
+"使用分隔符 [param delimiter] 拆分该字符串,返回索引为 [param slice] 的子串。"
+"如果 [param slice] 不存在则返回空字符串。\n"
+"只需要一个子串时这个方法比 [method split] 快。\n"
+"[b]示例:[/b]\n"
+"[codeblock]\n"
+"print(\"i/am/example/hi\".get_slice(\"/\", 2)) # 输出 \"example\"\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the total number of slices when the string is split with the given "
+"[param delimiter] (see [method split])."
+msgstr ""
+"返回使用给定的分隔符 [param delimiter] 拆分该字符串后切片的总数(见 [method "
+"split])。"
+
+msgid ""
+"Splits the string using a Unicode character with code [param delimiter] and "
+"returns the substring at index [param slice]. Returns an empty string if the "
+"[param slice] does not exist.\n"
+"This is faster than [method split], if you only need one substring."
+msgstr ""
+"使用 Unicode 字符码分隔符 [param delimiter] 拆分该字符串,返回索引为 [param "
+"slice] 的子串。如果 [param slice] 不存在则返回空字符串。\n"
+"只需要一个子串时这个方法比 [method split] 快。"
+
+msgid ""
+"Returns the 32-bit hash value representing the string's contents.\n"
+"[b]Note:[/b] Strings with equal hash values are [i]not[/i] guaranteed to be "
+"the same, as a result of hash collisions. On the countrary, strings with "
+"different hash values are guaranteed to be different."
+msgstr ""
+"返回代表该字符串内容的 32 位哈希值。\n"
+"[b]注意:[/b]由于哈希碰撞的缘故,内容相同的字符串[i]不一定[/i]会得到相同的哈"
+"希值。而相对的是,哈希不同的字符串一定不同。"
+
+msgid ""
+"Converts the string representing a hexadecimal number into an [int]. The "
+"string may be optionally prefixed with [code]\"0x\"[/code], and an "
+"additional [code]-[/code] prefix for negative numbers.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print(\"0xff\".hex_to_int()) # Prints 255\n"
+"print(\"ab\".hex_to_int()) # Prints 171\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Print(\"0xff\".HexToInt()); // Prints 255\n"
+"GD.Print(\"ab\".HexToInt()); // Prints 171\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"将表示十六进制数的字符串转换为 [int]。该字符串可以前缀 [code]\"0x\"[/code],"
+"负数可以前缀 [code]-[/code]。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"print(\"0xff\".hex_to_int()) # 输出 255\n"
+"print(\"ab\".hex_to_int()) # 输出 171\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"GD.Print(\"0xff\".HexToInt()); // 输出 255\n"
+"GD.Print(\"ab\".HexToInt()); // 输出 171\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Converts [param size] which represents a number of bytes into a human-"
+"readable form.\n"
+"The result is in [url=https://en.wikipedia.org/wiki/"
+"Binary_prefix#IEC_prefixes]IEC prefix format[/url], which may end in either "
+"[code]\"B\"[/code], [code]\"KiB\"[/code], [code]\"MiB\"[/code], "
+"[code]\"GiB\"[/code], [code]\"TiB\"[/code], [code]\"PiB\"[/code], or "
+"[code]\"EiB\"[/code]."
+msgstr ""
+"将表示字节数的 [param size] 转换为人类可读的形式。\n"
+"结果使用 [url=https://zh.wikipedia.org/wiki/"
+"%E4%BA%8C%E9%80%B2%E4%BD%8D%E5%89%8D%E7%BD%AE%E8%A9%9E]IEC 词头[/url],结尾可"
+"能是 [code]\"B\"[/code]、[code]\"KiB\"[/code]、[code]\"MiB\"[/code]、"
+"[code]\"GiB\"[/code]、[code]\"TiB\"[/code]、[code]\"PiB\"[/code] 或 "
+"[code]\"EiB\"[/code]。"
+
+msgid ""
+"Indents every line of the string with the given [param prefix]. Empty lines "
+"are not indented. See also [method dedent] to remove indentation.\n"
+"For example, the string can be indented with two tabulations using "
+"[code]\"\\t\\t\"[/code], or four spaces using [code]\" \"[/code]."
+msgstr ""
+"使用前缀 [param prefix] 将该字符串中的每一行进行缩进。空行不缩进。移除缩进请"
+"参阅 [method dedent]。\n"
+"例如,该字符串可以用 [code]\"\\t\\t\"[/code] 缩进两个制表位,用 [code]\" "
+"\"[/code] 缩进四个空格。"
+
+msgid "Inserts [param what] at the given [param position] in the string."
+msgstr "在该字符串中的 [param position] 位置插入 [param what]。"
+
+msgid ""
+"Returns [code]true[/code] if the string is a path to a file or directory, "
+"and its starting point is explicitly defined. This method is the opposite of "
+"[method is_relative_path].\n"
+"This includes all paths starting with [code]\"res://\"[/code], "
+"[code]\"user://\"[/code], [code]\"C:\\\"[/code], [code]\"/\"[/code], etc."
+msgstr ""
+"如果该字符串为文件或目录的路径,并且显式指定了起点,则返回 [code]true[/"
+"code]。这个方法与 [method is_relative_path] 相反。\n"
+"包括以 [code]\"res://\"[/code]、[code]\"user://\"[/code]、[code]\"C:\\\"[/"
+"code]、[code]\"/\"[/code] 等开头的路径。"
+
+msgid ""
+"Returns [code]true[/code] if the string's length is [code]0[/code] "
+"([code]\"\"[/code]). See also [method length]."
+msgstr ""
+"如果该字符串的长度为 [code]0[/code]([code]\"\"[/code]),则返回 [code]true[/"
+"code]。另见 [method length]。"
+
+msgid ""
+"Returns [code]true[/code] if the string is a path, and its starting point is "
+"dependent on context. The path could begin from the current directory, or "
+"the current [Node] (if the string is derived from a [NodePath]), and may "
+"sometimes be prefixed with [code]\"./\"[/code]. This method is the opposite "
+"of [method is_absolute_path]."
+msgstr ""
+"如果该字符串为文件或目录的路径,并且起点依赖于上下文,则返回 [code]true[/"
+"code]。路径可以是从当前目录开始,也可以是从当前 [Node] 开始(如果该字符串是"
+"从 [NodePath] 得到的),有时候也可以是使用了 [code]\"./\"[/code] 前缀。这个方"
+"法与 [method is_absolute_path] 相反。"
+
+msgid ""
+"Returns [code]true[/code] if all characters of this string can be found in "
+"[param text] in their original order.\n"
+"[codeblock]\n"
+"var text = \"Wow, incredible!\"\n"
+"\n"
+"print(\"inedible\".is_subsequence_of(text)) # Prints true\n"
+"print(\"Word!\".is_subsequence_of(text)) # Prints true\n"
+"print(\"Window\".is_subsequence_of(text)) # Prints false\n"
+"print(\"\".is_subsequence_of(text)) # Prints true\n"
+"[/codeblock]"
+msgstr ""
+"如果这个字符串中的所有字符都能在 [param text] 中按照原始顺序找到,则返回 "
+"[code]true[/code]。\n"
+"[codeblock]\n"
+"var text = \"Wow, incredible!\"\n"
+"\n"
+"print(\"inedible\".is_subsequence_of(text)) # 输出 true\n"
+"print(\"Word!\".is_subsequence_of(text)) # 输出 true\n"
+"print(\"Window\".is_subsequence_of(text)) # 输出 false\n"
+"print(\"\".is_subsequence_of(text)) # 输出 true\n"
+"[/codeblock]"
+
+msgid ""
+"Returns [code]true[/code] if all characters of this string can be found in "
+"[param text] in their original order, [b]ignoring case[/b]."
+msgstr ""
+"如果这个字符串中的所有字符都能在 [param text] 中按照原始顺序找到,[b]忽略大小"
+"写[/b],则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if this string does not contain characters that "
+"are not allowed in file names ([code]:[/code] [code]/[/code] [code]\\[/code] "
+"[code]?[/code] [code]*[/code] [code]\"[/code] [code]|[/code] [code]%[/code] "
+"[code]<[/code] [code]>[/code])."
+msgstr ""
+"如果该字符串不包含文件名中不允许的字符,则返回 [code]true[/code](不允许的字"
+"符有:[code]:[/code] [code]/[/code] [code]\\[/code] [code]?[/code] [code]*[/"
+"code] [code]\"[/code] [code]|[/code] [code]%[/code] [code]<[/code] [code]>[/"
+"code])。"
+
+msgid ""
+"Returns [code]true[/code] if this string represents a valid floating-point "
+"number. A valid float may contain only digits, one decimal point ([code].[/"
+"code]), and the exponent letter ([code]e[/code]). It may also be prefixed "
+"with a positive ([code]+[/code]) or negative ([code]-[/code]) sign. Any "
+"valid integer is also a valid float (see [method is_valid_int]). See also "
+"[method to_float].\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # Prints true\n"
+"print(\"24\".is_valid_float()) # Prints true\n"
+"print(\"7e3\".is_valid_float()) # Prints true\n"
+"print(\"Hello\".is_valid_float()) # Prints false\n"
+"[/codeblock]"
+msgstr ""
+"如果该字符串代表有效的浮点数,则返回 [code]true[/code]。浮点数只能包含数字、"
+"一个小数点([code].[/code])以及指数字符([code]e[/code])。还可以前缀正号"
+"([code]+[/code])或负号([code]-[/code])。有效的整数同时也是有效的浮点数"
+"(见 [method is_valid_int])。另见 [method to_float]。\n"
+"[codeblock]\n"
+"print(\"1.7\".is_valid_float()) # 输出 true\n"
+"print(\"24\".is_valid_float()) # 输出 true\n"
+"print(\"7e3\".is_valid_float()) # 输出 true\n"
+"print(\"Hello\".is_valid_float()) # 输出 false\n"
+"[/codeblock]"
+
+msgid ""
+"Returns [code]true[/code] if this string is a valid hexadecimal number. A "
+"valid hexadecimal number only contains digits or letters [code]A[/code] to "
+"[code]F[/code] (either uppercase or lowercase), and may be prefixed with a "
+"positive ([code]+[/code]) or negative ([code]-[/code]) sign.\n"
+"If [param with_prefix] is [code]true[/code], the hexadecimal number needs to "
+"prefixed by [code]\"0x\"[/code] to be considered valid.\n"
+"[codeblock]\n"
+"print(\"A08E\".is_valid_hex_number()) # Prints true\n"
+"print(\"-AbCdEf\".is_valid_hex_number()) # Prints true\n"
+"print(\"2.5\".is_valid_hex_number()) # Prints false\n"
+"\n"
+"print(\"0xDEADC0DE\".is_valid_hex_number(true)) # Prints true\n"
+"[/codeblock]"
+msgstr ""
+"如果该字符串代表有效的十六进制数,则返回 [code]true[/code]。有效的十六进制数"
+"只能包含数字或字母 [code]A[/code] 到 [code]F[/code](大小写均可),还可以前缀"
+"正号([code]+[/code])或负号([code]-[/code])。\n"
+"如果 [param with_prefix] 为 [code]true[/code],则十六进制数需要有 "
+"[code]\"0x\"[/code] 前缀才算有效。\n"
+"[codeblock]\n"
+"print(\"A08E\".is_valid_hex_number()) # 输出 true\n"
+"print(\"-AbCdEf\".is_valid_hex_number()) # 输出 true\n"
+"print(\"2.5\".is_valid_hex_number()) # 输出 false\n"
+"\n"
+"print(\"0xDEADC0DE\".is_valid_hex_number(true)) # 输出 true\n"
+"[/codeblock]"
+
+msgid ""
+"Returns [code]true[/code] if this string is a valid color in hexadecimal "
+"HTML notation. The string must be a hexadecimal value (see [method "
+"is_valid_hex_number]) of either 3, 4, 6 or 8 digits, and may be prefixed by "
+"a hash sign ([code]#[/code]). Other HTML notations for colors, such as names "
+"or [code]hsl()[/code], are not considered valid. See also [method Color."
+"html]."
+msgstr ""
+"如果该字符串是有效的十六进制 HTML 颜色标记,则返回 [code]true[/code]。该字符"
+"串必须为 3 位、4 位、6 位或 8 位字符的十六进制值(见 [method "
+"is_valid_hex_number]),也可以带有井号前缀([code]#[/code])。名称、"
+"[code]hsl()[/code] 等其他 HTML 颜色标记法无效。另见 [method Color.html]。"
+
+msgid ""
+"Returns [code]true[/code] if this string is a valid identifier. A valid "
+"identifier may contain only letters, digits and underscores ([code]_[/"
+"code]), and the first character may not be a digit.\n"
+"[codeblock]\n"
+"print(\"node_2d\".is_valid_identifier()) # Prints true\n"
+"print(\"TYPE_FLOAT\".is_valid_identifier()) # Prints true\n"
+"print(\"1st_method\".is_valid_identifier()) # Prints false\n"
+"print(\"MyMethod#2\".is_valid_identifier()) # Prints false\n"
+"[/codeblock]"
+msgstr ""
+"如果该字符串为有效的标识符,则返回 [code]true[/code]。有效的标识符仅可以包含"
+"字母、数字和下划线([code]_[/code]),第一个字符不能为数字。\n"
+"[codeblock]\n"
+"print(\"node_2d\".is_valid_identifier()) # 输出 true\n"
+"print(\"TYPE_FLOAT\".is_valid_identifier()) # 输出 true\n"
+"print(\"1st_method\".is_valid_identifier()) # 输出 false\n"
+"print(\"MyMethod#2\".is_valid_identifier()) # 输出 false\n"
+"[/codeblock]"
+
+msgid ""
+"Returns [code]true[/code] if this string represents a valid integer. A valid "
+"integer only contains digits, and may be prefixed with a positive ([code]+[/"
+"code]) or negative ([code]-[/code]) sign. See also [method to_int].\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # Prints true\n"
+"print(\"1.65\".is_valid_int()) # Prints false\n"
+"print(\"Hi\".is_valid_int()) # Prints false\n"
+"print(\"+3\".is_valid_int()) # Prints true\n"
+"print(\"-12\".is_valid_int()) # Prints true\n"
+"[/codeblock]"
+msgstr ""
+"如果该字符串代表有效的整数,则返回 [code]true[/code]。有效的整数仅可以包含数"
+"字,还可以前缀正号([code]+[/code])或负号([code]-[/code])。另见 [method "
+"to_int]。\n"
+"[codeblock]\n"
+"print(\"7\".is_valid_int()) # 输出 true\n"
+"print(\"1.65\".is_valid_int()) # 输出 false\n"
+"print(\"Hi\".is_valid_int()) # 输出 false\n"
+"print(\"+3\".is_valid_int()) # 输出 true\n"
+"print(\"-12\".is_valid_int()) # 输出 true\n"
+"[/codeblock]"
+
+msgid ""
+"Returns [code]true[/code] if this string represents a well-formatted IPv4 or "
+"IPv6 address. This method considers [url=https://en.wikipedia.org/wiki/"
+"Reserved_IP_addresses]reserved IP addresses[/url] such as [code]\"0.0.0.0\"[/"
+"code] and [code]\"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff\"[/code] as valid."
+msgstr ""
+"如果该字符串表示格式正确的 IPv4 或 IPv6 地址,则返回 [code]true[/code]。这个"
+"方法认为 [code]0.0.0.0[/code]、[code]\"ffff:ffff:ffff:ffff:ffff:ffff:ffff:"
+"ffff\"[/code] 等[url=https://zh.wikipedia.org/wiki/"
+"%E4%BF%9D%E7%95%99IP%E5%9C%B0%E5%9D%80]保留 IP 地址[/url]是有效的。"
+
+msgid ""
+"Returns a copy of the string with special characters escaped using the JSON "
+"standard. Because it closely matches the C standard, it is possible to use "
+"[method c_unescape] to unescape the string, if necessary."
+msgstr ""
+"返回该字符串的副本,使用 JSON 标准对特殊字符进行转义。因为与 C 标准非常类似,"
+"所以需要时可以用 [method c_unescape] 取消转义。"
+
+msgid ""
+"Returns the first [param length] characters from the beginning of the "
+"string. If [param length] is negative, strips the last [param length] "
+"characters from the string's end.\n"
+"[codeblock]\n"
+"print(\"Hello World!\".left(3)) # Prints \"Hel\"\n"
+"print(\"Hello World!\".left(-4)) # Prints \"Hello Wo\"\n"
+"[/codeblock]"
+msgstr ""
+"返回该字符串开头的前 [param length] 个字符。如果 [param length] 为负,则会从"
+"该字符串的末尾剥离最后 [param length] 个字符。\n"
+"[codeblock]\n"
+"print(\"Hello World!\".left(3)) # 输出 \"Hel\"\n"
+"print(\"Hello World!\".left(-4)) # 输出 \"Hello Wo\"\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the number of characters in the string. Empty strings ([code]\"\"[/"
+"code]) always return [code]0[/code]. See also [method is_empty]."
+msgstr ""
+"返回该字符串中的字符数。空字符串([code]\"\"[/code])始终返回 [code]0[/"
+"code]。另见 [method is_empty]。"
+
+msgid ""
+"Formats the string to be at least [param min_length] long by adding [param "
+"character]s to the left of the string, if necessary. See also [method rpad]."
+msgstr ""
+"必要时在该字符串的左侧添加若干 [param character] 字符,使其长度至少为 [param "
+"min_length]。另见 [method rpad]。"
+
+msgid ""
+"Removes a set of characters defined in [param chars] from the string's "
+"beginning. See also [method rstrip].\n"
+"[b]Note:[/b] [param chars] is not a prefix. Use [method trim_prefix] to "
+"remove a single prefix, rather than a set of characters."
+msgstr ""
+"从该字符串的开头移除 [param chars] 中定义的字符。另见 [method rstrip]。\n"
+"[b]注意:[/b][param chars] 不是前缀。如果要移除前缀而不是一组字符,请使用 "
+"[method trim_prefix]。"
+
+msgid ""
+"Does a simple expression match (also called \"glob\" or \"globbing\"), where "
+"[code]*[/code] matches zero or more arbitrary characters and [code]?[/code] "
+"matches any single character except a period ([code].[/code]). An empty "
+"string or empty expression always evaluates to [code]false[/code]."
+msgstr ""
+"进行简单的表达式匹配(也叫“通配”),[code]*[/code] 匹配零个或多个任意字符,"
+"[code]?[/code] 匹配除英文句号外的任意字符([code].[/code])。使用空字符串或空"
+"表达式时始终为 [code]false[/code]。"
+
+msgid ""
+"Does a simple [b]case-insensitive[/b] expression match, where [code]*[/code] "
+"matches zero or more arbitrary characters and [code]?[/code] matches any "
+"single character except a period ([code].[/code]). An empty string or empty "
+"expression always evaluates to [code]false[/code]."
+msgstr ""
+"进行简单的[b]大小写不敏感[/b]表达式匹配(也叫“通配”),[code]*[/code] 匹配零"
+"个或多个任意字符,[code]?[/code] 匹配除英文句号外的任意字符([code].[/"
+"code])。使用空字符串或空表达式时始终为 [code]false[/code]。"
+
+msgid ""
+"Returns the [url=https://en.wikipedia.org/wiki/MD5]MD5 hash[/url] of the "
+"string as a [PackedByteArray]."
+msgstr ""
+"返回该字符串的 [url=https://zh.wikipedia.org/wiki/MD5]MD5 哈希[/url],类型为 "
+"[PackedByteArray]。"
+
+msgid ""
+"Returns the [url=https://en.wikipedia.org/wiki/MD5]MD5 hash[/url] of the "
+"string as another [String]."
+msgstr ""
+"返回该字符串的 [url=https://zh.wikipedia.org/wiki/MD5]MD5 哈希[/url],类型 "
+"[String]。"
+
+msgid ""
+"Performs a [b]case-insensitive[/b], [i]natural order[/i] comparison to "
+"another string. Returns [code]-1[/code] if less than, [code]1[/code] if "
+"greater than, or [code]0[/code] if equal. \"Less than\" or \"greater than\" "
+"are determined by the [url=https://en.wikipedia.org/wiki/"
+"List_of_Unicode_characters]Unicode code points[/url] of each string, which "
+"roughly matches the alphabetical order. Internally, lowercase characters are "
+"converted to uppercase for the comparison.\n"
+"When used for sorting, natural order comparison orders sequences of numbers "
+"by the combined value of each digit as is often expected, instead of the "
+"single digit's value. A sorted sequence of numbered strings will be [code]"
+"[\"1\", \"2\", \"3\", ...][/code], not [code][\"1\", \"10\", \"2\", "
+"\"3\", ...][/code].\n"
+"With different string lengths, returns [code]1[/code] if this string is "
+"longer than the [param to] string, or [code]-1[/code] if shorter. Note that "
+"the length of empty strings is [i]always[/i] [code]0[/code].\n"
+"To get a [bool] result from a string comparison, use the [code]==[/code] "
+"operator instead. See also [method nocasecmp_to] and [method casecmp_to]."
+msgstr ""
+"与另一个字符串进行[b]不区分大小写[/b]的[i]自然顺序[/i]比较。小于时返回 "
+"[code]-1[/code]、大于时返回 [code]1[/code]、等于时返回 [code]0[/code]。“小"
+"于”和“大于”比较的是字符串中的 [url=https://zh.wikipedia.org/wiki/"
+"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 码位[/url],大致与字母表"
+"顺序一致。内部实现时,会将小写字符转换为大写后进行比较。\n"
+"使用自然顺序进行排序时,会和常见预期一样将连续的数字进行组合,而不是一个个数"
+"字进行比较。排序后的数列为 [code][\"1\", \"2\", \"3\", ...][/code] 而不是 "
+"[code][\"1\", \"10\", \"2\", \"3\", ...][/code]。\n"
+"如果字符串长度不同,这个字符串比 [param to] 字符串长时返回 [code]1[/code],短"
+"时返回 [code]-1[/code]。请注意空字符串的长度[i]始终[/i]为 [code]0[/code]。\n"
+"如果想在比较字符串时获得 [bool] 返回值,请改用 [code]==[/code] 运算符。另见 "
+"[method nocasecmp_to] 和 [method casecmp_to]。"
+
+msgid ""
+"Performs a [b]case-insensitive[/b] comparison to another string. Returns "
+"[code]-1[/code] if less than, [code]1[/code] if greater than, or [code]0[/"
+"code] if equal. \"Less than\" or \"greater than\" are determined by the "
+"[url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code "
+"points[/url] of each string, which roughly matches the alphabetical order. "
+"Internally, lowercase characters are converted to uppercase for the "
+"comparison.\n"
+"With different string lengths, returns [code]1[/code] if this string is "
+"longer than the [param to] string, or [code]-1[/code] if shorter. Note that "
+"the length of empty strings is [i]always[/i] [code]0[/code].\n"
+"To get a [bool] result from a string comparison, use the [code]==[/code] "
+"operator instead. See also [method casecmp_to] and [method "
+"naturalnocasecmp_to]."
+msgstr ""
+"与另一个字符串进行[b]不区分大小写[/b]的比较。小于时返回 [code]-1[/code]、大于"
+"时返回 [code]1[/code]、等于时返回 [code]0[/code]。“小于”和“大于”比较的是字符"
+"串中的 [url=https://zh.wikipedia.org/wiki/"
+"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 码位[/url],大致与字母表"
+"顺序一致。内部实现时,会将小写字符转换为大写后进行比较。\n"
+"如果字符串长度不同,这个字符串比 [param to] 字符串长时返回 [code]1[/code],短"
+"时返回 [code]-1[/code]。请注意空字符串的长度[i]始终[/i]为 [code]0[/code]。\n"
+"如果想在比较字符串时获得 [bool] 返回值,请改用 [code]==[/code] 运算符。另见 "
+"[method casecmp_to] 和 [method naturalnocasecmp_to]。"
+
+msgid ""
+"Converts a [float] to a string representation of a decimal number, with the "
+"number of decimal places specified in [param decimals].\n"
+"If [param decimals] is [code]-1[/code] as by default, the string "
+"representation may only have up to 14 significant digits, with digits before "
+"the decimal point having priority over digits after.\n"
+"Trailing zeros are not included in the string. The last digit is rounded, "
+"not truncated.\n"
+"[b]Example:[/b]\n"
+"[codeblock]\n"
+"String.num(3.141593) # Returns \"3.141593\"\n"
+"String.num(3.141593, 3) # Returns \"3.142\"\n"
+"String.num(3.14159300) # Returns \"3.141593\"\n"
+"\n"
+"# Here, the last digit will be rounded up,\n"
+"# which reduces the total digit count, since trailing zeros are removed:\n"
+"String.num(42.129999, 5) # Returns \"42.13\"\n"
+"\n"
+"# If `decimals` is not specified, the maximum number of significant digits "
+"is 14:\n"
+"String.num(-0.0000012345432123454321) # Returns \"-0.00000123454321\"\n"
+"String.num(-10000.0000012345432123454321) # Returns \"-10000.0000012345\"\n"
+"[/codeblock]"
+msgstr ""
+"将 [float] 转换为十进制小数的字符串表示,小数点位数由 [param decimals] 指"
+"定。\n"
+"如果 [param decimals] 为默认的 [code]-1[/code],该字符串表示可能最多只有 14 "
+"位有效数字,小数点前的数字优先于小数点后的数字。\n"
+"该字符串中不包含后缀的零。最后一位数字会四舍五入,而不是截断。\n"
+"[b]示例:[/b]\n"
+"[codeblock]\n"
+"String.num(3.141593) # 返回 \"3.141593\"\n"
+"String.num(3.141593, 3) # 返回 \"3.142\"\n"
+"String.num(3.14159300) # 返回 \"3.141593\"\n"
+"\n"
+"# 此处的最后一位数字会进位,\n"
+"# 数字位数会减少,因为后缀的零会被移除:\n"
+"String.num(42.129999, 5) # 返回 \"42.13\"\n"
+"\n"
+"# 如果没有指定 `decimals`,最大有效位数为 14:\n"
+"String.num(-0.0000012345432123454321) # 返回 \"-0.00000123454321\"\n"
+"String.num(-10000.0000012345432123454321) # 返回 \"-10000.0000012345\"\n"
+"[/codeblock]"
+
+msgid ""
+"Converts the given [param number] to a string representation, with the given "
+"[param base].\n"
+"By default, [param base] is set to decimal ([code]10[/code]). Other common "
+"bases in programming include binary ([code]2[/code]), [url=https://en."
+"wikipedia.org/wiki/Octal]octal[/url] ([code]8[/code]), hexadecimal "
+"([code]16[/code]).\n"
+"If [param capitalize_hex] is [code]true[/code], digits higher than 9 are "
+"represented in uppercase."
+msgstr ""
+"将给定的数字 [param number] 转换为字符串表示,进位制由 [param base] 给定。\n"
+"默认情况下 [param base] 为十进制([code]10[/code])。编程中常见的进位制还有二"
+"进制([code]2[/code])、[url=https://zh.wikipedia.org/wiki/"
+"%E5%85%AB%E8%BF%9B%E5%88%B6]八进制[/url]([code]8[/code])、十六进制"
+"([code]16[/code])。\n"
+"如果 [param capitalize_hex] 为 [code]true[/code],比 9 大的数位会大写。"
+
+msgid ""
+"Converts the given [param number] to a string representation, in scientific "
+"notation.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var n = -5.2e8\n"
+"print(n) # Prints -520000000\n"
+"print(String.NumScientific(n)) # Prints -5.2e+08\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// This method is not implemented in C#.\n"
+"// Use `string.ToString()` with \"e\" to achieve similar results.\n"
+"var n = -5.2e8f;\n"
+"GD.Print(n); // Prints -520000000\n"
+"GD.Print(n.ToString(\"e1\")); // Prints -5.2e+008\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] In C#, this method is not implemented. To achieve similar "
+"results, see C#'s [url=https://learn.microsoft.com/en-us/dotnet/standard/"
+"base-types/standard-numeric-format-strings]Standard numeric format strings[/"
+"url]"
+msgstr ""
+"将给定的数字 [param number] 转换为字符串表示,使用科学记数法。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var n = -5.2e8\n"
+"print(n) # 输出 -520000000\n"
+"print(String.NumScientific(n)) # 输出 -5.2e+08\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 这个方法没有在 C# 中实现。\n"
+"// 请在 `string.ToString()` 中使用 \"e\" 来实现类似的结果。\n"
+"var n = -5.2e8f;\n"
+"GD.Print(n); // 输出 -520000000\n"
+"GD.Print(n.ToString(\"e1\")); // 输出 -5.2e+008\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]这个方法没有在 C# 中实现。要实现类似的效果,见 C# 的"
+"[url=https://learn.microsoft.com/en-us/dotnet/standard/base-types/standard-"
+"numeric-format-strings]标准数字格式字符串[/url]"
+
+msgid ""
+"Converts the given unsigned [int] to a string representation, with the given "
+"[param base].\n"
+"By default, [param base] is set to decimal ([code]10[/code]). Other common "
+"bases in programming include binary ([code]2[/code]), [url=https://en."
+"wikipedia.org/wiki/Octal]octal[/url] ([code]8[/code]), hexadecimal "
+"([code]16[/code]).\n"
+"If [param capitalize_hex] is [code]true[/code], digits higher than 9 are "
+"represented in uppercase."
+msgstr ""
+"将给定的无符号 [int] 转换为字符串表示,进位制由 [param base] 给定。\n"
+"默认情况下 [param base] 为十进制([code]10[/code])。编程中常见的进位制还有二"
+"进制([code]2[/code])、[url=https://zh.wikipedia.org/wiki/"
+"%E5%85%AB%E8%BF%9B%E5%88%B6]八进制[/url]([code]8[/code])、十六进制"
+"([code]16[/code])。\n"
+"如果 [param capitalize_hex] 为 [code]true[/code],比 9 大的数位会大写。"
+
+msgid ""
+"Formats the string representing a number to have an exact number of [param "
+"digits] [i]after[/i] the decimal point."
+msgstr "格式化表示数字的字符串,使其小数点[i]后[/i]的位数为 [param digits]。"
+
+msgid ""
+"Formats the string representing a number to have an exact number of [param "
+"digits] [i]before[/i] the decimal point."
+msgstr "格式化表示数字的字符串,使其小数点[i]前[/i]的位数为 [param digits]。"
+
+msgid ""
+"Concatenates [param file] at the end of the string as a subpath, adding "
+"[code]/[/code] if necessary.\n"
+"[b]Example:[/b] [code]\"this/is\".path_join(\"path\") == \"this/is/path\"[/"
+"code]."
+msgstr ""
+"将 [param file] 作为子路径连接到该字符串的末尾,必要时会添加 [code]/[/"
+"code]。\n"
+"[b]示例:[/b][code]\"this/is\".path_join(\"path\") == \"this/is/path\"[/"
+"code]。"
+
+msgid ""
+"Repeats this string a number of times. [param count] needs to be greater "
+"than [code]0[/code]. Otherwise, returns an empty string."
+msgstr ""
+"将该字符串重复若干次。次数 [param count] 需要大于[code]0[/code] 。否则返回空"
+"字符串。"
+
+msgid ""
+"Replaces all occurrences of [param what] inside the string with the given "
+"[param forwhat]."
+msgstr "将该字符串中出现的所有 [param what] 都替换为给定的 [param forwhat]。"
+
+msgid ""
+"Replaces all [b]case-insensitive[/b] occurrences of [param what] inside the "
+"string with the given [param forwhat]."
+msgstr ""
+"将该字符串中出现的所有 [param what] 都替换为给定的 [param forwhat],[b]大小写"
+"不敏感[/b]。"
+
+msgid ""
+"Returns the index of the [b]last[/b] occurrence of [param what] in this "
+"string, or [code]-1[/code] if there are none. The search's start can be "
+"specified with [param from], continuing to the beginning of the string. This "
+"method is the reverse of [method find]."
+msgstr ""
+"返回这个字符串中 [param what] [b]最后一次[/b]出现时的索引,不存在时则为 "
+"[code]-1[/code]。搜索的起点可以用 [param from] 指定,终点为该字符串的末尾。这"
+"个方法与 [method find] 相对。"
+
+msgid ""
+"Returns the index of the [b]last[/b] [b]case-insensitive[/b] occurrence of "
+"[param what] in this string, or [code]-1[/code] if there are none. The "
+"starting search index can be specified with [param from], continuing to the "
+"beginning of the string. This method is the reverse of [method findn]."
+msgstr ""
+"返回这个字符串中 [param what] [b]最后一次[/b]出现时的索引,[b]不区分大小写[/"
+"b],不存在时则为 [code]-1[/code]。搜索的起点可以用 [param from] 指定,终点为"
+"该字符串的末尾。这个方法与 [method findn] 相对。"
+
+msgid ""
+"Returns the last [param length] characters from the end of the string. If "
+"[param length] is negative, strips the first [param length] characters from "
+"the string's beginning.\n"
+"[codeblock]\n"
+"print(\"Hello World!\".right(3)) # Prints \"ld!\"\n"
+"print(\"Hello World!\".right(-4)) # Prints \"o World!\"\n"
+"[/codeblock]"
+msgstr ""
+"返回该字符串末尾的最后 [param length] 个字符。如果 [param length] 为负,则会"
+"从该字符串的开头剥离前 [param length] 个字符。\n"
+"[codeblock]\n"
+"print(\"Hello World!\".right(3)) # 输出 \"ld!\"\n"
+"print(\"Hello World!\".right(-4)) # 输出 \"o World!\"\n"
+"[/codeblock]"
+
+msgid ""
+"Formats the string to be at least [param min_length] long, by adding [param "
+"character]s to the right of the string, if necessary. See also [method lpad]."
+msgstr ""
+"必要时在该字符串的右侧添加若干 [param character] 字符,使其长度至少为 [param "
+"min_length]。另见 [method lpad]。"
+
+msgid ""
+"Splits the string using a [param delimiter] and returns an array of the "
+"substrings, starting from the end of the string. The splits in the returned "
+"array appear in the same order as the original string. If [param delimiter] "
+"is an empty string, each substring will be a single character.\n"
+"If [param allow_empty] is [code]false[/code], empty strings between adjacent "
+"delimiters are excluded from the array.\n"
+"If [param maxsplit] is greater than [code]0[/code], the number of splits may "
+"not exceed [param maxsplit]. By default, the entire string is split, which "
+"is mostly identical to [method split].\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var some_string = \"One,Two,Three,Four\"\n"
+"var some_array = some_string.rsplit(\",\", true, 1)\n"
+"\n"
+"print(some_array.size()) # Prints 2\n"
+"print(some_array[0]) # Prints \"One,Two,Three\"\n"
+"print(some_array[1]) # Prints \"Four\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// In C#, there is no String.RSplit() method.\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"使用分隔符 [param delimiter] 将该字符串从末尾开始进行拆分,返回子字符串数组。"
+"返回的数组中,每部分的出现顺序与它们在原字符串中的出现顺序一致。如果 [param "
+"delimiter] 为空,则子串为单个字符。\n"
+"如果 [param allow_empty] 为 [code]false[/code],数组中会排除相邻分隔符之间的"
+"空字符串。\n"
+"如果 [param maxsplit] 大于 [code]0[/code],则拆分次数不能超过 [param "
+"maxsplit]。默认拆分整个字符串,基本与 [method split] 一致。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var some_string = \"One,Two,Three,Four\"\n"
+"var some_array = some_string.rsplit(\",\", true, 1)\n"
+"\n"
+"print(some_array.size()) # 输出 2\n"
+"print(some_array[0]) # 输出 \"One,Two,Three\"\n"
+"print(some_array[1]) # 输出 \"Four\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// C# 中没有 String.RSplit() 方法。\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Removes a set of characters defined in [param chars] from the string's end. "
+"See also [method lstrip].\n"
+"[b]Note:[/b] [param chars] is not a suffix. Use [method trim_suffix] to "
+"remove a single suffix, rather than a set of characters."
+msgstr ""
+"从该字符串的结尾移除 [param chars] 中定义的字符。另见 [method rstrip]。\n"
+"[b]注意:[/b][param chars] 不是后缀。如果要移除后缀而不是一组字符,请使用 "
+"[method trim_suffix]。"
+
+msgid ""
+"Returns the [url=https://en.wikipedia.org/wiki/SHA-1]SHA-1[/url] hash of the "
+"string as a [PackedByteArray]."
+msgstr ""
+"返回该字符串的 [url=https://zh.wikipedia.org/wiki/SHA-1]SHA-1[/url] 哈希,类"
+"型为 [PackedByteArray]。"
+
+msgid ""
+"Returns the [url=https://en.wikipedia.org/wiki/SHA-1]SHA-1[/url] hash of the "
+"string as another [String]."
+msgstr ""
+"返回该字符串的 [url=https://zh.wikipedia.org/wiki/SHA-1]SHA-1[/url] 哈希,类"
+"型为 [String]。"
+
+msgid ""
+"Returns the [url=https://en.wikipedia.org/wiki/SHA-2]SHA-256[/url] hash of "
+"the string as a [PackedByteArray]."
+msgstr ""
+"返回该字符串的 [url=https://zh.wikipedia.org/wiki/SHA-2]SHA-256[/url] 哈希,"
+"类型为 [PackedByteArray]。"
+
+msgid ""
+"Returns the [url=https://en.wikipedia.org/wiki/SHA-2]SHA-256[/url] hash of "
+"the string as another [String]."
+msgstr ""
+"返回该字符串的 [url=https://zh.wikipedia.org/wiki/SHA-2]SHA-256[/url] 哈希,"
+"类型为 [String]。"
+
+msgid ""
+"Returns the similarity index ([url=https://en.wikipedia.org/wiki/"
+"S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) of "
+"this string compared to another. A result of [code]1.0[/code] means totally "
+"similar, while [code]0.0[/code] means totally dissimilar.\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # Prints 1.0\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # Prints 0.0\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # Prints 0.8\n"
+"print(\"ABC123\".similarity(\"abc123\")) # Prints 0.4\n"
+"[/codeblock]"
+msgstr ""
+"返回该字符串与另一个字符串的相似指数([url=https://zh.wikipedia.org/wiki/"
+"Dice%E7%B3%BB%E6%95%B0]索伦森-戴斯系数[/url])。结果为 [code]1.0[/code] 表示"
+"完全相似,[code]0.0[/code] 表示完全不相似。\n"
+"[codeblock]\n"
+"print(\"ABC123\".similarity(\"ABC123\")) # 输出 1.0\n"
+"print(\"ABC123\".similarity(\"XYZ456\")) # 输出 0.0\n"
+"print(\"ABC123\".similarity(\"123ABC\")) # 输出 0.8\n"
+"print(\"ABC123\".similarity(\"abc123\")) # 输出 0.4\n"
+"[/codeblock]"
+
+msgid ""
+"If the string is a valid file path, converts the string into a canonical "
+"path. This is the shortest possible path, without [code]\"./\"[/code], and "
+"all the unnecessary [code]\"..\"[/code] and [code]\"/\"[/code].\n"
+"[codeblock]\n"
+"var simple_path = \"./path/to///../file\".simplify_path()\n"
+"print(simple_path) # Prints \"path/file\"\n"
+"[/codeblock]"
+msgstr ""
+"如果该字符串为有效的文件路径,则将其转换为规范路径。规范路径是最短路径,不带 "
+"[code]\"./\"[/code] 和所有不必要的 [code]\"..\"[/code] 和 [code]\"/\"[/"
+"code]。\n"
+"[codeblock]\n"
+"var simple_path = \"./path/to///../file\".simplify_path()\n"
+"print(simple_path) # 输出 \"path/file\"\n"
+"[/codeblock]"
+
+msgid ""
+"Splits the string using a [param delimiter] and returns an array of the "
+"substrings. If [param delimiter] is an empty string, each substring will be "
+"a single character. This method is the opposite of [method join].\n"
+"If [param allow_empty] is [code]false[/code], empty strings between adjacent "
+"delimiters are excluded from the array.\n"
+"If [param maxsplit] is greater than [code]0[/code], the number of splits may "
+"not exceed [param maxsplit]. By default, the entire string is split.\n"
+"[b]Example:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var some_array = \"One,Two,Three,Four\".split(\",\", true, 2)\n"
+"\n"
+"print(some_array.size()) # Prints 3\n"
+"print(some_array[0]) # Prints \"One\"\n"
+"print(some_array[1]) # Prints \"Two\"\n"
+"print(some_array[2]) # Prints \"Three,Four\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// C#'s `Split()` does not support the `maxsplit` parameter.\n"
+"var someArray = \"One,Two,Three\".Split(\",\");\n"
+"\n"
+"GD.Print(someArray[0]); // Prints \"One\"\n"
+"GD.Print(someArray[1]); // Prints \"Two\"\n"
+"GD.Print(someArray[2]); // Prints \"Three\"\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] If you only need one substring from the array, consider using "
+"[method get_slice] which is faster. If you need to split strings with more "
+"complex rules, use the [RegEx] class instead."
+msgstr ""
+"使用分隔符 [param delimiter] 将该字符串进行拆分,返回子字符串数组。如果 "
+"[param delimiter] 为空,则子串为单个字符。这个方法与 [method join] 相对。\n"
+"如果 [param allow_empty] 为 [code]false[/code],数组中会排除相邻分隔符之间的"
+"空字符串。\n"
+"如果 [param maxsplit] 大于 [code]0[/code],则拆分次数不能超过 [param "
+"maxsplit]。默认拆分整个字符串。\n"
+"[b]示例:[/b]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var some_array = \"One,Two,Three,Four\".split(\",\", true, 2)\n"
+"\n"
+"print(some_array.size()) # 输出 3\n"
+"print(some_array[0]) # 输出 \"One\"\n"
+"print(some_array[1]) # 输出 \"Two\"\n"
+"print(some_array[2]) # 输出 \"Three,Four\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// C# 的 `Split()` 不支持 `maxsplit` 参数。\n"
+"var someArray = \"One,Two,Three\".Split(\",\");\n"
+"\n"
+"GD.Print(someArray[0]); // 输出 \"One\"\n"
+"GD.Print(someArray[1]); // 输出 \"Two\"\n"
+"GD.Print(someArray[2]); // 输出 \"Three\"\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]如果你只需要数组中的某一个子串,请考虑使用更快的 [method "
+"get_slice]。如果你需要用更复杂的规则来拆分字符串,请改用 [RegEx] 类。"
+
+msgid ""
+"Splits the string into floats by using a [param delimiter] and returns a "
+"[PackedFloat64Array].\n"
+"If [param allow_empty] is [code]false[/code], empty or invalid [float] "
+"conversions between adjacent delimiters are excluded.\n"
+"[codeblock]\n"
+"var a = \"1,2,4.5\".split_floats(\",\") # a is [1.0, 2.0, 4.5]\n"
+"var c = \"1| ||4.5\".split_floats(\"|\") # c is [1.0, 0.0, 0.0, 4.5]\n"
+"var b = \"1| ||4.5\".split_floats(\"|\", false) # b is [1.0, 4.5]\n"
+"[/codeblock]"
+msgstr ""
+"使用分隔符 [param delimiter] 将该字符串拆分为浮点数,返回 "
+"[PackedFloat64Array]。\n"
+"如果 [param allow_empty] 为 [code]false[/code],则会排除相邻分隔符之间为空或"
+"无法转换为 [float] 的内容。\n"
+"[codeblock]\n"
+"var a = \"1,2,4.5\".split_floats(\",\") # a 为 [1.0, 2.0, 4.5]\n"
+"var c = \"1| ||4.5\".split_floats(\"|\") # c 为 [1.0, 0.0, 0.0, 4.5]\n"
+"var b = \"1| ||4.5\".split_floats(\"|\", false) # b 为 [1.0, 4.5]\n"
+"[/codeblock]"
+
+msgid ""
+"Strips all non-printable characters from the beginning and the end of the "
+"string. These include spaces, tabulations ([code]\\t[/code]), and newlines "
+"([code]\\n[/code] [code]\\r[/code]).\n"
+"If [param left] is [code]false[/code], ignores the string's beginning. "
+"Likewise, if [param right] is [code]false[/code], ignores the string's end."
+msgstr ""
+"从该字符串的开头和结尾剥离所有不可打印的字符。其中包括空格、制表符"
+"([code]\\t[/code])以及换行符([code]\\n[/code] [code]\\r[/code])。\n"
+"如果 [param left] 为 [code]false[/code],会忽略该字符串的开头。与此类似,如"
+"果 [param right] 为 [code]false[/code],则会忽略该字符串的结尾。"
+
+msgid ""
+"Strips all escape characters from the string. These include all non-"
+"printable control characters of the first page of the ASCII table (values "
+"from 0 to 31), such as tabulation ([code]\\t[/code]) and newline ([code]\\n[/"
+"code], [code]\\r[/code]) characters, but [i]not[/i] spaces."
+msgstr ""
+"从该字符串中剥离所有转义字符。其中包括 ASCII 表第一页的所有不可打印控制字符"
+"(值为 0 到 32),例如制表符(C 中的 [code]\\t[/code])和换行符([code]\\n[/"
+"code] 和 [code]]\\r[/code]) 字符,但[i]不包括[/i]空格。"
+
+msgid ""
+"Returns part of the string from the position [param from] with length [param "
+"len]. If [param len] is [code]-1[/code] (as by default), returns the rest of "
+"the string starting from the given position."
+msgstr ""
+"返回该字符串中的某一部分,位置从 [param from] 开始,长度为 [param len]。如果 "
+"[param len] 为 [code]-1[/code](默认值),将返回开给定位置开始的剩余字符。"
+
+msgid ""
+"Converts the string to an [url=https://en.wikipedia.org/wiki/ASCII]ASCII[/"
+"url]/Latin-1 encoded [PackedByteArray]. This method is slightly faster than "
+"[method to_utf8_buffer], but replaces all unsupported characters with spaces."
+msgstr ""
+"将该字符串转换为 [url=https://zh.wikipedia.org/wiki/ASCII]ASCII[/url]/"
+"Latin-1 编码的 [PackedByteArray]。这个方法比 [method to_utf8_buffer] 稍快,但"
+"会把不支持的字符都替换为空格。"
+
+msgid "Returns the string converted to [code]camelCase[/code]."
+msgstr "返回将该字符串转换为小驼峰命名 [code]camelCase[/code] 的结果。"
+
+msgid ""
+"Converts the string representing a decimal number into a [float]. This "
+"method stops on the first non-number character, except the first decimal "
+"point ([code].[/code]) and the exponent letter ([code]e[/code]). See also "
+"[method is_valid_float].\n"
+"[codeblock]\n"
+"var a = \"12.35\".to_float() # a is 12.35\n"
+"var b = \"1.2.3\".to_float() # b is 1.2\n"
+"var c = \"12xy3\".to_float() # c is 12.0\n"
+"var d = \"1e3\".to_float() # d is 1000.0\n"
+"var e = \"Hello!\".to_int() # e is 0.0\n"
+"[/codeblock]"
+msgstr ""
+"将代表十进制数的字符串转换为 [float]。该方法会在首个非数字字符处停止,除非是"
+"首次遇到 [code].[/code](小数点)以及表示指数的 [code]e[/code]。另见 [method "
+"is_valid_float]。\n"
+"[codeblock]\n"
+"var a = \"12.35\".to_float() # a 为 12.35\n"
+"var b = \"1.2.3\".to_float() # b 为 1.2\n"
+"var c = \"12xy3\".to_float() # c 为 12.0\n"
+"var d = \"1e3\".to_float() # d 为 1000.0\n"
+"var e = \"Hello!\".to_int() # e 为 0.0\n"
+"[/codeblock]"
+
+msgid ""
+"Converts the string representing an integer number into an [int]. This "
+"method removes any non-number character and stops at the first decimal point "
+"([code].[/code]). See also [method is_valid_int].\n"
+"[codeblock]\n"
+"var a = \"123\".to_int() # a is 123\n"
+"var b = \"x1y2z3\".to_int() # b is 123\n"
+"var c = \"-1.2.3\".to_int() # c is -1\n"
+"var d = \"Hello!\".to_int() # d is 0\n"
+"[/codeblock]"
+msgstr ""
+"将代表整数的字符串转换为 [int]。该方法会删除所有非数字字符,并在遇到 [code]."
+"[/code] 后停止。另见 [method is_valid_int]。\n"
+"[codeblock]\n"
+"var a = \"123\".to_int() # a 为 123\n"
+"var b = \"x1y2z3\".to_int() # b 为 123\n"
+"var c = \"-1.2.3\".to_int() # c 为 -1\n"
+"var d = \"Hello!\".to_int() # d 为 0\n"
+"[/codeblock]"
+
msgid "Returns the string converted to lowercase."
-msgstr "返回转换为小写的字符串。"
+msgstr "返回将该字符串转换为小写的结果。"
+
+msgid "Returns the string converted to [code]PascalCase[/code]."
+msgstr "返回将该字符串转换为大驼峰命名 [code]PascalCase[/code] 的结果。"
+
+msgid "Returns the string converted to [code]snake_case[/code]."
+msgstr "返回将该字符串转换为蛇形命名 [code]snake_case[/code] 的结果。"
msgid "Returns the string converted to uppercase."
-msgstr "返回转换为大写的字符串。"
+msgstr "返回将该字符串转换为大写的结果。"
+
+msgid ""
+"Converts the string to a [url=https://en.wikipedia.org/wiki/UTF-16]UTF-16[/"
+"url] encoded [PackedByteArray]."
+msgstr ""
+"将该字符串转换为 [url=https://zh.wikipedia.org/wiki/UTF-16]UTF-16[/url] 编码"
+"的 [PackedByteArray]。"
+
+msgid ""
+"Converts the string to a [url=https://en.wikipedia.org/wiki/UTF-32]UTF-32[/"
+"url] encoded [PackedByteArray]."
+msgstr ""
+"将该字符串转换为 [url=https://zh.wikipedia.org/wiki/UTF-32]UTF-32[/url] 编码"
+"的 [PackedByteArray]。"
+
+msgid ""
+"Converts the string to a [url=https://en.wikipedia.org/wiki/UTF-8]UTF-8[/"
+"url] encoded [PackedByteArray]. This method is slightly slower than [method "
+"to_ascii_buffer], but supports all UTF-8 characters. For most cases, prefer "
+"using this method."
+msgstr ""
+"将该字符串转换为 [url=https://zh.wikipedia.org/wiki/UTF-8]UTF-8[/url] 编码的 "
+"[PackedByteArray]。这个方法比 [method to_ascii_buffer] 稍慢,但支持所有 "
+"UTF-8 字符。大多数情况下请优先使用这个方法。"
+
+msgid ""
+"Removes the given [param prefix] from the start of the string, or returns "
+"the string unchanged."
+msgstr "移除该字符串开头的 [param prefix] 前缀,否则原样返回该字符串。"
+
+msgid ""
+"Removes the given [param suffix] from the end of the string, or returns the "
+"string unchanged."
+msgstr "移除该字符串末尾的 [param suffix] 后缀,否则原样返回该字符串。"
+
+msgid "Returns the character code at position [param at]."
+msgstr "返回位于 [param at] 处的字符的代码。"
+
+msgid ""
+"Decodes the string from its URL-encoded format. This method is meant to "
+"properly decode the parameters in a URL when receiving an HTTP request.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n"
+"print(url.uri_decode()) # Prints \"$DOCS_URL/?highlight=Godot Engine:docs\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n"
+"GD.Print(url.URIDecode()) // Prints \"$DOCS_URL/?highlight=Godot Engine:"
+"docs\"\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"将该字符串从 URL 编码格式中解码。该方法的目的是在收到 HTTP 请求时正确解码 "
+"URL 中的参数。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n"
+"print(url.uri_decode()) # 输出 \"$DOCS_URL/?highlight=Godot Engine:docs\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var url = \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n"
+"GD.Print(url.URIDecode()) // 输出 \"$DOCS_URL/?highlight=Godot Engine:"
+"docs\"\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Encodes the string to URL-friendly format. This method is meant to properly "
+"encode the parameters in a URL when sending an HTTP request.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var prefix = \"$DOCS_URL/?highlight=\"\n"
+"var url = prefix + \"Godot Engine:docs\".uri_encode()\n"
+"\n"
+"print(url) # Prints \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var prefix = \"$DOCS_URL/?highlight=\";\n"
+"var url = prefix + \"Godot Engine:docs\".URIEncode();\n"
+"\n"
+"GD.Print(url); // Prints \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"将该字符串按照对 URL 友好的格式进行编码。该方法的目的是在发送 HTTP 请求时,正"
+"确编码 URL 中的参数。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var prefix = \"$DOCS_URL/?highlight=\"\n"
+"var url = prefix + \"Godot Engine:docs\".uri_encode()\n"
+"\n"
+"print(url) # 输出 \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"var prefix = \"$DOCS_URL/?highlight=\";\n"
+"var url = prefix + \"Godot Engine:docs\".URIEncode();\n"
+"\n"
+"GD.Print(url); // 输出 \"$DOCS_URL/?highlight=Godot%20Engine%3%docs\"\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
+"Returns a copy of the string with all characters that are not allowed in "
+"[method is_valid_filename] replaced with underscores."
+msgstr ""
+"返回该字符串的副本,所有 [method is_valid_filename] 中不允许的字符都会被替换"
+"为下划线。"
+
+msgid ""
+"Returns a copy of the string with all characters that are not allowed in "
+"[member Node.name] removed ([code].[/code] [code]:[/code] [code]@[/code] "
+"[code]/[/code] [code]\"[/code] [code]%[/code])."
+msgstr ""
+"返回该字符串的副本,所有 [member Node.name] 中不允许的字符都会被移除([code]."
+"[/code] [code]:[/code] [code]@[/code] [code]/[/code] [code]\"[/code] "
+"[code]%[/code]))。"
+
+msgid ""
+"Returns a copy of the string with special characters escaped using the XML "
+"standard. If [param escape_quotes] is [code]true[/code], the single quote "
+"([code]'[/code]) and double quote ([code]\"[/code]) characters are also "
+"escaped."
+msgstr ""
+"返回该字符串的副本,使用 XML 标准对特殊字符进行转义。如果 [param "
+"escape_quotes] 为 [code]true[/code],则单引号([code]'[/code])和双引号"
+"([code]\"[/code])字符也会被转义。"
msgid ""
"Returns a copy of the string with escaped characters replaced by their "
"meanings according to the XML standard."
-msgstr "返回根据 XML 标准将转义字符替换为其含义的字符串副本。"
+msgstr "返回该字符串的副本,转义字符均按照 XML 标准使用本义代替。"
+
+msgid ""
+"Returns [code]true[/code] if both strings do not contain the same sequence "
+"of characters."
+msgstr "如果两个字符串不以相同的字符序列开头,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if this [String] is not equivalent to the given "
+"[StringName]."
+msgstr ""
+"如果该 [String] 与给定的 [StringName] 不等价,则返回 [code]true[/code]。"
+
+msgid ""
+"Appends [param right] at the end of this [String], also known as a string "
+"concatenation."
+msgstr "将 [param right] 追加到该 [String] 的末尾,也称作字符串连接。"
+
+msgid ""
+"Returns [code]true[/code] if the left [String] comes before [param right] in "
+"[url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/"
+"url], which roughly matches the alphabetical order. Useful for sorting."
+msgstr ""
+"如果左侧的 [String] 比 [param right] 靠前,则返回 [code]true[/code]。使用的"
+"是 [url=https://zh.wikipedia.org/wiki/"
+"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 顺序[/url],大致与字母表"
+"顺序一致。可用于排序。"
+
+msgid ""
+"Returns [code]true[/code] if the left [String] comes before [param right] in "
+"[url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/"
+"url], which roughly matches the alphabetical order, or if both are equal."
+msgstr ""
+"如果左侧的 [String] 比 [param right] 靠前,或两者相等,则返回 [code]true[/"
+"code]。使用的是 [url=https://zh.wikipedia.org/wiki/"
+"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 顺序[/url],大致与字母表"
+"顺序一致。"
+
+msgid ""
+"Returns [code]true[/code] if both strings contain the same sequence of "
+"characters."
+msgstr "如果两个字符串以相同的字符序列开头,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if this [String] is equivalent to the given "
+"[StringName]."
+msgstr "如果该 [String] 与给定的 [StringName] 等价,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the left [String] comes after [param right] in "
+"[url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/"
+"url], which roughly matches the alphabetical order. Useful for sorting."
+msgstr ""
+"如果左侧的 [String] 比 [param right] 靠后,则返回 [code]true[/code]。使用的"
+"是 [url=https://zh.wikipedia.org/wiki/"
+"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 顺序[/url],大致与字母表"
+"顺序一致。可用于排序。"
+
+msgid ""
+"Returns [code]true[/code] if the left [String] comes after [param right] in "
+"[url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode order[/"
+"url], which roughly matches the alphabetical order, or if both are equal."
+msgstr ""
+"如果左侧的 [String] 比 [param right] 靠后,或两者相等,则返回 [code]true[/"
+"code]。使用的是 [url=https://zh.wikipedia.org/wiki/"
+"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 顺序[/url],大致与字母表"
+"顺序一致。"
+
+msgid ""
+"Returns a new [String] that only contains the character at [param index]. "
+"Indices start from [code]0[/code]. If [param index] is greater or equal to "
+"[code]0[/code], the character is fetched starting from the beginning of the "
+"string. If [param index] is a negative value, it is fetched starting from "
+"the end. Accessing a string out-of-bounds will cause a run-time error, "
+"pausing the project execution if run from the editor."
+msgstr ""
+"返回只包含索引为 [param index] 的字符的新 [String]。索引从 [code]0[/code] 开"
+"始。如果 [param index] 大于等于 [code]0[/code],则字符是从该字符串的开头开始"
+"获取的。如果 [param index] 为负,则从末尾开始获取。越界访问字符串会导致运行时"
+"错误,从编辑器中运行时会将项目暂停。"
msgid "An optimized string type for unique names."
msgstr "针对唯一名称优化的字符串类型。"
@@ -24504,6 +45807,63 @@ msgstr "构造空的 [StringName]。"
msgid "Constructs a [StringName] as a copy of the given [StringName]."
msgstr "构造给定 [StringName] 的副本。"
+msgid ""
+"Creates a new [StringName] from the given [String]. In GDScript, "
+"[code]StringName(\"example\")[/code] is equivalent to [code]&\"example\"[/"
+"code]."
+msgstr ""
+"从给定的 [String] 创建 [StringName]。在 GDScript 中,"
+"[code]StringName(\"example\")[/code] 与 [code]&\"example\"[/code] 等价。"
+
+msgid ""
+"Returns [code]true[/code] if this [StringName] is not equivalent to the "
+"given [String]."
+msgstr ""
+"如果该 [StringName] 与给定的 [String] 不等价,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the [StringName] and [param right] do not refer "
+"to the same name. Comparisons between [StringName]s are much faster than "
+"regular [String] comparisons."
+msgstr ""
+"如果该 [StringName] 与 [param right] 不指向同一个名称,则返回 [code]true[/"
+"code]。[StringName] 间的比较比常规 [String] 间的比较要快很多。"
+
+msgid ""
+"Returns [code]true[/code] if this [StringName] is equivalent to the given "
+"[String]."
+msgstr "如果该 [StringName] 与给定的 [String] 等价,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the [StringName] and [param right] refer to the "
+"same name. Comparisons between [StringName]s are much faster than regular "
+"[String] comparisons."
+msgstr ""
+"如果该 [StringName] 与 [param right] 指向同一个名称,则返回 [code]true[/"
+"code]。[StringName] 间的比较比常规 [String] 间的比较要快很多。"
+
+msgid ""
+"Returns [code]true[/code] if the left [StringName] comes after [param right] "
+"in [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode "
+"order[/url], which roughly matches the alphabetical order. Useful for "
+"sorting."
+msgstr ""
+"如果左侧的 [StringName] 比 [param right] 靠后,则返回 [code]true[/code]。使用"
+"的是 [url=https://zh.wikipedia.org/wiki/"
+"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 顺序[/url],大致与字母表"
+"顺序一致。可用于排序。"
+
+msgid ""
+"Returns [code]true[/code] if the left [StringName] comes after [param right] "
+"in [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode "
+"order[/url], which roughly matches the alphabetical order, or if both are "
+"equal."
+msgstr ""
+"如果左侧的 [StringName] 比 [param right] 靠后,或两者相等,则返回 "
+"[code]true[/code]。使用的是 [url=https://zh.wikipedia.org/wiki/"
+"Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8]Unicode 顺序[/url],大致与字母表"
+"顺序一致。可用于排序。"
+
msgid "Base class for drawing stylized boxes for the UI."
msgstr "用于为 UI 绘制风格化框的基类。"
@@ -24528,6 +45888,9 @@ msgstr ""
"[code]pressed[/code] 的 [StyleBox]之上。这样的行为有助于 [code]focus[/code] "
"[StyleBox] 在不同节点上复用。"
+msgid "Returns the default margin of the specified [enum Side]."
+msgstr "返回指定边 [enum Side] 的默认边距。"
+
msgid ""
"Returns the [CanvasItem] that handles its [constant CanvasItem."
"NOTIFICATION_DRAW] or [method CanvasItem._draw] callback at this moment."
@@ -24535,6 +45898,13 @@ msgstr ""
"返回此时处理其 [constant CanvasItem.NOTIFICATION_DRAW] 或 [method CanvasItem."
"_draw] 回调的 [CanvasItem]。"
+msgid ""
+"Returns the content margin offset for the specified [enum Side].\n"
+"Positive values reduce size inwards, unlike [Control]'s margin values."
+msgstr ""
+"返回指定边 [enum Side] 的内容边距偏移量。\n"
+"与 [Control] 的边距不同,正值会向内减小大小。"
+
msgid "Returns the minimum size that this stylebox can be shrunk to."
msgstr "返回此样式盒可以缩小到的最小尺寸。"
@@ -24546,6 +45916,13 @@ msgstr ""
"返回样式盒的“偏移量”。这个辅助函数返回一个等价于 [code]Vector2(style."
"get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP))[/code] 的值。"
+msgid ""
+"Sets the default value of the specified [enum Side] to [param offset] pixels."
+msgstr "将指定边 [enum Side] 的默认值设置为 [param offset] 像素。"
+
+msgid "Sets the default margin to [param offset] pixels for all sides."
+msgstr "将所有边的默认边距设置为 [param offset] 像素。"
+
msgid "Test a position in a rectangle, return whether it passes the mask test."
msgstr "测试矩形中的一个位置,返回它是否通过掩码测试。"
@@ -24604,8 +45981,39 @@ msgid ""
"Customizable [StyleBox] with a given set of parameters (no texture required)."
msgstr "可通过一系列参数自定义的 [StyleBox](无需纹理) 。"
+msgid "Returns the specified [enum Side]'s border width."
+msgstr "返回指定边 [enum Side] 的边框宽度。"
+
msgid "Returns the smallest border width out of all four borders."
-msgstr "返回所有四个边界中最小的边框宽度。"
+msgstr "返回所有四条边中,最小的边框宽度。"
+
+msgid ""
+"Returns the given [param corner]'s radius. See [enum Corner] for possible "
+"values."
+msgstr "返回给定角 [param corner] 的半径。可能的取值见 [enum Corner]。"
+
+msgid "Returns the size of the specified [enum Side]'s expand margin."
+msgstr "返回指定边 [enum Side] 的扩展边距的大小。"
+
+msgid "Sets the specified [enum Side]'s border width to [param width] pixels."
+msgstr "将指定边 [enum Side] 的边框宽度设置为 [param width] 像素。"
+
+msgid "Sets the border width to [param width] pixels for all sides."
+msgstr "将所有边的边框宽度设置为 [param width] 像素。"
+
+msgid ""
+"Sets the corner radius to [param radius] pixels for the given [param "
+"corner]. See [enum Corner] for possible values."
+msgstr ""
+"将给定角 [param corner] 的圆角半径设置为 [param radius] 像素。可能的取值见 "
+"[enum Corner]。"
+
+msgid "Sets the corner radius to [param radius] pixels for all corners."
+msgstr "将所有角的圆角半径设置为 [param radius] 像素。"
+
+msgid ""
+"Sets the expand margin to [param size] pixels for the specified [enum Side]."
+msgstr "将指定边 [enum Side] 的扩展边距设置为 [param size] 像素。"
msgid ""
"Antialiasing draws a small ring around the edges, which fades to "
@@ -24830,9 +46238,21 @@ msgid ""
"cell is fully stretched. This makes it possible to design bordered styles "
"regardless of the stylebox's size."
msgstr ""
-"基于纹理的九宫格 [StyleBox],类似于 [NinePatchRect]。这个样式盒会对纹理执行 "
-"3×3 缩放,其中只有中心单元会被完全拉伸。这使得无论样式盒的大小如何,都可以设"
-"计有边框的样式。"
+"基于纹理的九宫格 [StyleBox],类似于 [NinePatchRect]。这种样式盒对纹理执行 "
+"3×3 缩放,只有中心单元格会被完全拉伸。因此无论样式盒的大小如何,都可以设计带"
+"边框的样式。"
+
+msgid "Returns the expand margin size of the specified [enum Side]."
+msgstr "返回指定边 [enum Side] 的扩展边距大小。"
+
+msgid "Returns the margin size of the specified [enum Side]."
+msgstr "返回指定边 [enum Side] 的边距大小。"
+
+msgid "Sets the margin to [param size] pixels for the specified [enum Side]."
+msgstr "将指定边 [enum Side] 的边距设置为 [param size] 像素。"
+
+msgid "Sets the margin to [param size] pixels for all sides."
+msgstr "将所有边的边距都设置为 [param size] 像素。"
msgid ""
"Controls how the stylebox's texture will be stretched or tiled horizontally. "
@@ -24844,7 +46264,7 @@ msgid ""
"Controls how the stylebox's texture will be stretched or tiled vertically. "
"See [enum AxisStretchMode] for possible values."
msgstr ""
-"控制如何垂直拉伸或平铺 StyleBox 的纹理。可能的取值见 [enum AxisStretchMode]。"
+"控制如何垂直拉伸或平铺样式盒的纹理。可能的取值见 [enum AxisStretchMode]。"
msgid ""
"If [code]true[/code], the nine-patch texture's center tile will be drawn."
@@ -24853,7 +46273,7 @@ msgstr "如果为 [code]true[/code],将绘制九宫格纹理的中心图块。
msgid ""
"Expands the bottom margin of this style box when drawing, causing it to be "
"drawn larger than requested."
-msgstr "绘制时扩展此样式盒的底部边距,使其绘制得比请求的大。"
+msgstr "绘制时扩展此样式盒的下边距,使其绘制得比请求的大。"
msgid ""
"Expands the left margin of this style box when drawing, causing it to be "
@@ -24944,6 +46364,19 @@ msgstr ""
msgid "Creates a sub-view into the screen."
msgstr "在屏幕中创建子视图。"
+msgid ""
+"[SubViewport] is a [Viewport] that isn't a [Window], i.e. it doesn't draw "
+"anything by itself. To display something, [SubViewport]'s [member size] must "
+"be non-zero and it should be either put inside a [SubViewportContainer] or "
+"assigned to a [ViewportTexture]."
+msgstr ""
+"[SubViewport] 是 [Viewport] 但不是 [Window],即它本身不绘制任何内容。要显示内"
+"容,[SubViewport] 的 [member size] 必须非零,并且应该被放在 "
+"[SubViewportContainer] 内,或被分配给 [ViewportTexture]。"
+
+msgid "Using Viewports"
+msgstr "使用视口"
+
msgid "3D in 2D Demo"
msgstr "2D 中的 3D 演示"
@@ -24956,6 +46389,16 @@ msgstr "动态分屏演示"
msgid "3D Viewport Scaling Demo"
msgstr "3D Viewport 缩放演示"
+msgid ""
+"The clear mode when the sub-viewport is used as a render target.\n"
+"[b]Note:[/b] This property is intended for 2D usage."
+msgstr ""
+"该子视口用作渲染目标时的清除模式。\n"
+"[b]注意:[/b]此属性适用于 2D 用途。"
+
+msgid "The update mode when the sub-viewport is used as a render target."
+msgstr "该子视口用作渲染目标时的更新模式。"
+
msgid "Always clear the render target before drawing."
msgstr "绘制前始终清除渲染目标。"
@@ -24981,6 +46424,9 @@ msgstr "仅在渲染目标可见时更新渲染目标。这是默认值。"
msgid "Always update the render target."
msgstr "始终更新渲染目标。"
+msgid "Control for holding [SubViewport]s."
+msgstr "用于持有 [SubViewport] 的控件。"
+
msgid "Helper tool to create geometry."
msgstr "创建几何图形的辅助工具。"
@@ -25075,6 +46521,64 @@ msgstr ""
"而你没有为第一个顶点提交这个信息,此信息可能根本就不会被使用。"
msgid ""
+"Stores data passed to [method set_custom] as half precision floats, and uses "
+"only red and green color channels. See [constant Mesh.ARRAY_CUSTOM_RG_HALF]."
+msgstr ""
+"将传递给 [method set_custom] 的数据存储为半精度浮点数,只使用红色和绿色通道。"
+"见 [constant Mesh.ARRAY_CUSTOM_RG_HALF]。"
+
+msgid ""
+"Stores data passed to [method set_custom] as half precision floats and uses "
+"all color channels. See [constant Mesh.ARRAY_CUSTOM_RGBA_HALF]."
+msgstr ""
+"将传递给 [method set_custom] 的数据存储为半精度浮点数,使用所有颜色通道。见 "
+"[constant Mesh.ARRAY_CUSTOM_RGBA_HALF]。"
+
+msgid ""
+"Stores data passed to [method set_custom] as full precision floats, and uses "
+"only red color channel. See [constant Mesh.ARRAY_CUSTOM_R_FLOAT]."
+msgstr ""
+"将传递给 [method set_custom] 的数据存储为全精度浮点数,只使用红色通道。见 "
+"[constant Mesh.ARRAY_CUSTOM_R_FLOAT]。"
+
+msgid ""
+"Stores data passed to [method set_custom] as full precision floats, and uses "
+"only red and green color channels. See [constant Mesh.ARRAY_CUSTOM_RG_FLOAT]."
+msgstr ""
+"将传递给 [method set_custom] 的数据存储为全精度浮点数,只使用红色和绿色通道。"
+"见 [constant Mesh.ARRAY_CUSTOM_RG_FLOAT]。"
+
+msgid ""
+"Stores data passed to [method set_custom] as full precision floats, and uses "
+"only red, green and blue color channels. See [constant Mesh."
+"ARRAY_CUSTOM_RGB_FLOAT]."
+msgstr ""
+"将传递给 [method set_custom] 的数据存储为全精度浮点数,只使用红色、绿色和蓝色"
+"通道。见 [constant Mesh.ARRAY_CUSTOM_RGB_FLOAT]。"
+
+msgid ""
+"Stores data passed to [method set_custom] as full precision floats, and uses "
+"all color channels. See [constant Mesh.ARRAY_CUSTOM_RGBA_FLOAT]."
+msgstr ""
+"将传递给 [method set_custom] 的数据存储为全精度浮点数,使用所有颜色通道。见 "
+"[constant Mesh.ARRAY_CUSTOM_RGBA_FLOAT]。"
+
+msgid "Each individual vertex can be influenced by only 4 bone weights."
+msgstr "每个单独的顶点只能受到 4 个骨骼权重的影响。"
+
+msgid "Each individual vertex can be influenced by up to 8 bone weights."
+msgstr "每个单独的顶点最多能够受到 8 个骨骼权重的影响。"
+
+msgid "Base Syntax highlighter resource for [TextEdit]."
+msgstr "用于 [TextEdit] 的基础语法高亮器资源。"
+
+msgid "Font hinting mode."
+msgstr "字体微调模式。"
+
+msgid "Tab bar control."
+msgstr "选项卡栏控件。"
+
+msgid ""
"Simple tabs control, similar to [TabContainer] but is only in charge of "
"drawing tabs, not interacting with children."
msgstr ""
@@ -25083,6 +46587,9 @@ msgstr ""
msgid "Adds a new tab."
msgstr "添加新选项卡。"
+msgid "Clears all tabs."
+msgstr "清空所有选项卡。"
+
msgid "Moves the scroll view to make the tab visible."
msgstr "移动滚动视图,使标签可见。"
@@ -25096,12 +46603,51 @@ msgstr ""
msgid "Returns the previously active tab index."
msgstr "返回上一个活动选项卡的索引。"
+msgid "Returns tab title language code."
+msgstr "返回选项卡标题的语言代码。"
+
msgid "Returns the number of hidden tabs offsetted to the left."
msgstr "返回向左偏移的隐藏选项卡的数量。"
msgid "Returns tab [Rect2] with local position and size."
msgstr "返回带有局部位置和大小的选项卡 [Rect2]。"
+msgid "Returns tab title text base writing direction."
+msgstr "返回选项卡标题文本的基础书写方向。"
+
+msgid "Returns the title of the tab at index [param tab_idx]."
+msgstr "返回索引 [param tab_idx] 处的选项卡的标题。"
+
+msgid ""
+"Returns [code]true[/code] if the tab at index [param tab_idx] is disabled."
+msgstr "如果索引 [param tab_idx] 处的选项卡被禁用,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns [code]true[/code] if the tab at index [param tab_idx] is hidden."
+msgstr "如果索引 [param tab_idx] 处的选项卡被隐藏,则返回 [code]true[/code]。"
+
+msgid "Moves a tab from [param from] to [param to]."
+msgstr "将选项卡从 [param from] 移动到 [param to]。"
+
+msgid "Removes the tab at index [param tab_idx]."
+msgstr "删除索引 [param tab_idx] 处的选项卡。"
+
+msgid "Sets an [param icon] for the tab at index [param tab_idx]."
+msgstr "设置索引 [param tab_idx] 处的选项卡的图标。"
+
+msgid ""
+"Sets language code of tab title used for line-breaking and text shaping "
+"algorithms, if left empty current locale is used instead."
+msgstr ""
+"设置选项卡标题的语言代码,用于断行和文本塑形算法,如果留空则使用当前区域设"
+"置。"
+
+msgid "Sets tab title base writing direction."
+msgstr "设置选项卡标题的基础书写方向。"
+
+msgid "Sets a [param title] for the tab at index [param tab_idx]."
+msgstr "设置索引 [param tab_idx] 处的选项卡的标题 [param title]。"
+
msgid "Select tab at index [code]tab_idx[/code]."
msgstr "选择索引 [code]tab_idx[/code] 处的选项卡。"
@@ -25109,6 +46655,12 @@ msgid "If [code]true[/code], tabs can be rearranged with mouse drag."
msgstr "如果为 [code]true[/code],可以通过鼠标拖动重新排列选项卡。"
msgid ""
+"Sets the maximum width which all tabs should be limited to. Unlimited if set "
+"to [code]0[/code]."
+msgstr ""
+"设置所有选项卡应被限制的最大宽度。如果设置为 [code]0[/code],则无限制。"
+
+msgid ""
"if [code]true[/code], the mouse's scroll wheel can be used to navigate the "
"scroll view."
msgstr "如果为 [code]true[/code],鼠标的滚轮可用于导航滚动视图。"
@@ -25144,6 +46696,18 @@ msgstr "单击选项卡时发出,即使它是当前选项卡。"
msgid "Emitted when a tab is hovered by the mouse."
msgstr "当鼠标悬停选项卡时发出。"
+msgid "Places tabs to the left."
+msgstr "将选项卡置于左侧。"
+
+msgid "Places tabs in the middle."
+msgstr "将选项卡置于中间。"
+
+msgid "Places tabs to the right."
+msgstr "将选项卡置于右侧。"
+
+msgid "Represents the size of the [enum AlignmentMode] enum."
+msgstr "代表 [enum AlignmentMode] 枚举的大小。"
+
msgid "Never show the close buttons."
msgstr "永远不会显示关闭按钮。"
@@ -25154,7 +46718,7 @@ msgid "Show the close button on all tabs."
msgstr "在所有选项卡上显示关闭按钮。"
msgid "Represents the size of the [enum CloseButtonDisplayPolicy] enum."
-msgstr "表示 [enum CloseButtonDisplayPolicy] 枚举的大小。"
+msgstr "代表 [enum CloseButtonDisplayPolicy] 枚举的大小。"
msgid "Font color of disabled tabs."
msgstr "禁用选项卡的字体颜色。"
@@ -25165,6 +46729,9 @@ msgstr "当前所选选项卡的字体颜色。"
msgid "The font used to draw tab names."
msgstr "用于绘制选项卡名称的字体。"
+msgid "Font size of the tab names."
+msgstr "选项卡名称的字体大小。"
+
msgid "The icon for the close button (see [member tab_close_display_policy])."
msgstr "关闭按钮的图标(见 [member tab_close_display_policy])。"
@@ -25210,9 +46777,21 @@ msgstr "选项卡容器。"
msgid "Returns the child [Control] node located at the active tab index."
msgstr "返回位于活动选项卡索引处的子 [Control] 节点。"
+msgid "Returns the button icon from the tab at index [param tab_idx]."
+msgstr "返回索引为 [param tab_idx] 的选项卡的按钮图标。"
+
+msgid "Returns the [Control] node from the tab at index [param tab_idx]."
+msgstr "返回索引为 [param tab_idx] 的选项卡的 [Control] 节点。"
+
msgid "Returns the number of tabs."
msgstr "返回选项卡的数量。"
+msgid "Sets the button icon from the tab at index [param tab_idx]."
+msgstr "设置索引为 [param tab_idx] 的选项卡的按钮图标。"
+
+msgid "Sets an icon for the tab at index [param tab_idx]."
+msgstr "设置索引为 [param tab_idx] 的选项卡的图标。"
+
msgid ""
"If [code]true[/code], all tabs are drawn in front of the panel. If "
"[code]false[/code], inactive tabs are drawn behind the panel."
@@ -25253,6 +46832,9 @@ msgstr ""
msgid "Emitted when a tab is selected, even if it is the current tab."
msgstr "选择选项卡时发出,即使它是当前选项卡。"
+msgid "Space between tab's name and its icon."
+msgstr "选项卡名称与其图标之间的间距。"
+
msgid "The icon for the menu button (see [method set_popup])."
msgstr "菜单按钮的图标(见 [method set_popup])。"
@@ -25267,6 +46849,21 @@ msgstr "背景填充的样式。"
msgid "A TCP server."
msgstr "TCP 服务器。"
+msgid ""
+"A TCP server. Listens to connections on a port and returns a [StreamPeerTCP] "
+"when it gets an incoming connection.\n"
+"[b]Note:[/b] When exporting to Android, make sure to enable the "
+"[code]INTERNET[/code] permission in the Android export preset before "
+"exporting the project or using one-click deploy. Otherwise, network "
+"communication of any kind will be blocked by Android."
+msgstr ""
+"TCP 服务器。监听端口上的连接,并在获得传入连接时返回 [StreamPeerTCP]。\n"
+"[b]注意:[/b]导出到安卓时,在导出项目或使用一键部署之前,请务必在安卓导出预设"
+"中开启 [code]INTERNET[/code] 权限。否则 Android 会阻止任何形式的网络通信。"
+
+msgid "Returns the local port this server is listening to."
+msgstr "返回该服务器正在监听的本地端口。"
+
msgid "Returns [code]true[/code] if a connection is available for taking."
msgstr "如果有连接可供获取,则返回 [code]true[/code]。"
@@ -25275,6 +46872,28 @@ msgid ""
"connections."
msgstr "如果服务器当前正在侦听连接,则返回 [code]true[/code]。"
+msgid ""
+"Listen on the [param port] binding to [param bind_address].\n"
+"If [param bind_address] is set as [code]\"*\"[/code] (default), the server "
+"will listen on all available addresses (both IPv4 and IPv6).\n"
+"If [param bind_address] is set as [code]\"0.0.0.0\"[/code] (for IPv4) or "
+"[code]\"::\"[/code] (for IPv6), the server will listen on all available "
+"addresses matching that IP type.\n"
+"If [param bind_address] is set to any valid address (e.g. "
+"[code]\"192.168.1.101\"[/code], [code]\"::1\"[/code], etc), the server will "
+"only listen on the interface with that addresses (or fail if no interface "
+"with the given address exists)."
+msgstr ""
+"在 [param port] 上监听与 [param bind_address] 绑定的地址。\n"
+"如果 [param bind_address] 被设置为 [code]\"*\"[/code](默认),该服务器将监听"
+"所有可用地址(包括 IPv4 和 IPv6)。\n"
+"如果 [param bind_address] 被设置为 [code]\"0.0.0.0\"[/code](用于 IPv4)或 "
+"[code]\"::\"[/code](用于 IPv6),该服务器将监听所有符合该 IP 类型的可用地"
+"址。\n"
+"如果 [param bind_address] 被设置为任何有效的地址(如 "
+"[code]\"192.168.1.101\"[/code]、[code]\"::1\"[/code] 等),该服务器将只在具有"
+"该地址的接口上监听(如果不存在具有该地址的接口则失败)。"
+
msgid "Stops listening."
msgstr "停止监听。"
@@ -25288,12 +46907,36 @@ msgstr "多行文本编辑控件。"
msgid "Clears the undo history."
msgstr "清除撤销历史。"
+msgid "Deletes the selected text."
+msgstr "删除选定的文本。"
+
msgid "Deselects the current selection."
msgstr "取消当前选择。"
+msgid "Returns the number of carets in this [TextEdit]."
+msgstr "返回该 [TextEdit] 中的光标数。"
+
+msgid "Returns the [HScrollBar] used by [TextEdit]."
+msgstr "设置该 [TextEdit] 所使用的 [HScrollBar]。"
+
msgid "Returns the text of a specific line."
msgstr "返回特定行的文本。"
+msgid "Returns the number of lines in the text."
+msgstr "返回文本中的行数。"
+
+msgid "Returns the icon currently in [param gutter] at [param line]."
+msgstr "返回边栏 [param gutter] 中,当前位于 [param line] 行的图标。"
+
+msgid "Returns the color currently in [param gutter] at [param line]."
+msgstr "返回边栏 [param gutter] 中,当前位于 [param line] 行的颜色。"
+
+msgid "Returns the metadata currently in [param gutter] at [param line]."
+msgstr "返回边栏 [param gutter] 中,当前位于 [param line] 行的元数据。"
+
+msgid "Returns the text currently in [param gutter] at [param line]."
+msgstr "返回边栏 [param gutter] 中,当前位于 [param line] 行的文本。"
+
msgid "Returns the height of a largest line."
msgstr "返回最大行的高度。"
@@ -25303,8 +46946,8 @@ msgstr "返回给定行换行的次数。"
msgid "Returns an array of [String]s representing each wrapped index."
msgstr "返回代表各个换行索引的 [String] 数组。"
-msgid "Returns the equivalent minimap line at [param position]"
-msgstr "返回小地图 [param position] 处等价的行"
+msgid "Returns the number of lines that may be drawn on the minimap."
+msgstr "返回小地图上能够绘制的行数。"
msgid ""
"Returns the local position and size for the grapheme at the given [param "
@@ -25315,11 +46958,11 @@ msgid ""
"of the line, unlike [method get_pos_at_line_column] which returns the bottom "
"side."
msgstr ""
-"返回字素的本地位置和大小,该字素位于给定行 [code]line[/code] 和列 "
-"[code]column[/code]。如果返回的矩形中,位置的 [code]x[/code] 或 [code]y[/"
-"code] 等于 [code]-1[/code],表示位于该控件的可视范围之外。\n"
-"[b]注意:[/b]位置中的 Y 对应该行的顶部,而 [method get_pos_at_line_column] 返"
-"回的则是底部。"
+"返回给定 [param line] 和 [param column] 处的字素的局部位置和大小。如果返回的"
+"矩形的 [code]x[/code] 或 [code]y[/code] 位置等于 [code]-1[/code],则该位置在"
+"该控件的可视区域之外。\n"
+"[b]注意:[/b]返回的矩形的 Y 位置对应于该行的顶部,不像 [method "
+"get_pos_at_line_column] 返回底边。"
msgid "Returns the text inside the selection."
msgstr "返回选择内的文本。"
@@ -25330,24 +46973,54 @@ msgstr "返回选择开始行。"
msgid "Returns the selection end line."
msgstr "返回选择结束行。"
+msgid "Returns the [TextEdit]'s' tab size."
+msgstr "返回该 [TextEdit] 的制表符大小。"
+
msgid "Returns the total width of all gutters and internal padding."
msgstr "返回所有栏位及内部边距的总宽度。"
+msgid "Returns the number of lines that may be drawn."
+msgstr "返回可绘制的行数。"
+
+msgid "Returns the [VScrollBar] of the [TextEdit]."
+msgstr "设置该 [TextEdit] 所使用的 [StyleBox]。"
+
msgid "Returns the number of visible lines, including wrapped text."
msgstr "返回可见行数,包括自动换行。"
+msgid "Returns the word at [param position]."
+msgstr "返回位于 [param position] 的单词。"
+
msgid "Returns [code]true[/code] if a \"redo\" action is available."
msgstr "有“重做”动作可用时返回 [code]true[/code]。"
msgid "Returns [code]true[/code] if an \"undo\" action is available."
msgstr "有“撤销”动作可用时返回 [code]true[/code]。"
+msgid "Returns whether the gutter is clickable."
+msgstr "返回该边栏是否可点击。"
+
+msgid "Returns whether the gutter is currently drawn."
+msgstr "返回该边栏是否正被绘制。"
+
+msgid "Returns whether the gutter is overwritable."
+msgstr "返回该边栏是否可覆写。"
+
+msgid "Returns whether the gutter on the given line is clickable."
+msgstr "返回该边栏的给定行是否可点击。"
+
msgid "Returns if the given line is wrapped."
msgstr "返回给定的行是否换行。"
+msgid "Pastes the primary clipboard."
+msgstr "粘贴主剪贴板。"
+
msgid "Perform redo operation."
msgstr "执行重做操作。"
+msgid "Removes all additional carets."
+msgstr "移除所有额外的光标。"
+
msgid ""
"Perform selection, from line/column to line/column.\n"
"If [member selecting_enabled] is [code]false[/code], no selection will occur."
@@ -25362,9 +47035,41 @@ msgstr ""
"选择所有文本。\n"
"如果 [member selecting_enabled] 为 [code]false[/code],则不会发生选择。"
+msgid "Sets whether the gutter should be drawn."
+msgstr "设置该边栏是否应被绘制。"
+
+msgid "Sets the name of the gutter."
+msgstr "设置该边栏的名称。"
+
+msgid "Sets the gutter to overwritable. See [method merge_gutters]."
+msgstr "设置该边栏为可覆写。见 [method merge_gutters]。"
+
+msgid "Sets the type of gutter."
+msgstr "设置边栏的类型。"
+
+msgid "Set the width of the gutter."
+msgstr "设置该边栏的宽度。"
+
msgid "Sets the text for a specific line."
msgstr "设置特定行的文本。"
+msgid "Sets the icon for [param gutter] on [param line] to [param icon]."
+msgstr "将边栏 [param gutter] 在第 [param line] 行的图标设置为 [param icon]。"
+
+msgid "Sets the color for [param gutter] on [param line] to [param color]."
+msgstr "将边栏 [param gutter] 在第 [param line] 行的颜色设置为 [param color]。"
+
+msgid ""
+"Sets the metadata for [param gutter] on [param line] to [param metadata]."
+msgstr ""
+"将边栏 [param gutter] 在第 [param line] 行的元数据设置为 [param metadata]。"
+
+msgid "Sets the text for [param gutter] on [param line] to [param text]."
+msgstr "将边栏 [param gutter] 在第 [param line] 行的文本设置为 [param text]。"
+
+msgid "Swaps the two lines."
+msgstr "交换两行。"
+
msgid "Perform undo operation."
msgstr "执行撤销操作。"
@@ -25398,6 +47103,13 @@ msgid "The width, in pixels, of the minimap."
msgstr "小地图的宽度(以像素为单位)。"
msgid ""
+"Text shown when the [TextEdit] is empty. It is [b]not[/b] the [TextEdit]'s "
+"default value (see [member text])."
+msgstr ""
+"[TextEdit] 为空时显示的文本。它[b]不是[/b] [TextEdit] 的默认值(参见 [member "
+"text])。"
+
+msgid ""
"If there is a horizontal scrollbar, this determines the current horizontal "
"scroll value in pixels."
msgstr "如果有一个水平滚动条,这决定了当前的水平滚动值,单位是像素。"
@@ -25417,9 +47129,15 @@ msgstr ""
"如果为 [code]false[/code],用户或使用[method select]或[method select_all]方法"
"都不能选择文本。"
+msgid "Sets the [SyntaxHighlighter] to use."
+msgstr "设置要使用的 [SyntaxHighlighter]。"
+
msgid "String value of the [TextEdit]."
msgstr "[TextEdit] 的字符串值。"
+msgid "Sets the line wrapping mode to use."
+msgstr "设置要使用的换行模式。"
+
msgid ""
"Pastes the clipboard text over the selected text (or at the cursor's "
"position)."
@@ -25443,6 +47161,21 @@ msgstr "搜索时匹配整个单词。"
msgid "Search from end to beginning."
msgstr "从头到尾搜索。"
+msgid "Vertical line caret."
+msgstr "垂直线光标。"
+
+msgid "Block caret."
+msgstr "方块光标。"
+
+msgid "Draw a string."
+msgstr "绘制字符串。"
+
+msgid "Draw an icon."
+msgstr "绘制图标。"
+
+msgid "Custom draw."
+msgstr "自定义绘制。"
+
msgid ""
"Sets the highlight [Color] of multiple occurrences. [member "
"highlight_all_occurrences] has to be enabled."
@@ -25452,6 +47185,27 @@ msgstr ""
msgid "Sets the [StyleBox] of this [TextEdit]."
msgstr "设置这个 [TextEdit] 的 [StyleBox]。"
+msgid "Aligns text to the given tab-stops."
+msgstr "将文本与给定的制表位对齐。"
+
+msgid "Text writing direction."
+msgstr "文本书写方向。"
+
+msgid "Line alignment rules. For more info see [TextServer]."
+msgstr "行对齐规则。详细请参阅 [TextServer]。"
+
+msgid "Text orientation."
+msgstr "文本朝向。"
+
+msgid "If set to [code]true[/code] text will display control characters."
+msgstr "如果设置为 [code]true[/code],则将在文本中显示控制字符。"
+
+msgid "If set to [code]true[/code] text will display invalid characters."
+msgstr "如果设置为 [code]true[/code],则将在文本中显示无效字符。"
+
+msgid "Text line width."
+msgstr "文本行宽。"
+
msgid "Generate an [PrimitiveMesh] from the text."
msgstr "从文本生成 [PrimitiveMesh]。"
@@ -25481,12 +47235,176 @@ msgstr ""
"生成的网格的深度,设为 [code]0.0[/code] 时只有正面,此时的 UV 布局会变为让正"
"面占据整张纹理。"
+msgid "Font size of the [TextMesh]'s text."
+msgstr "该 [TextMesh] 文本的字体大小。"
+
+msgid ""
+"Language code used for text shaping algorithms, if left empty current locale "
+"is used instead."
+msgstr "语言代码,用于文本塑形算法,如果留空则使用当前区域设置。"
+
+msgid "Vertical space between lines in multiline [TextMesh]."
+msgstr "多行 [TextMesh] 中,行与行之间的垂直间距。"
+
msgid "The size of one pixel's width on the text to scale it in 3D."
msgstr "文本上一个像素宽度的大小,以 3D 缩放。"
msgid "The text to generate mesh from."
msgstr "用于生成网格的文本。"
+msgid "Interface for the fonts and complex text layouts."
+msgstr "用于字体和复杂排版的接口。"
+
+msgid ""
+"[TextServer] is the API backend for managing fonts, and rendering complex "
+"text."
+msgstr "[TextServer] 是用于管理字体、渲染复杂文本的 API 后端。"
+
+msgid ""
+"Creates new buffer for complex text layout, with the given [param direction] "
+"and [param orientation]. To free the resulting buffer, use [method free_rid] "
+"method.\n"
+"[b]Note:[/b] Direction is ignored if server does not support [constant "
+"FEATURE_BIDI_LAYOUT] feature (supported by [TextServerAdvanced]).\n"
+"[b]Note:[/b] Orientation is ignored if server does not support [constant "
+"FEATURE_VERTICAL_LAYOUT] feature (supported by [TextServerAdvanced])."
+msgstr ""
+"使用给定的方向 [param direction] 和朝向 [param orientation] 新建缓冲区,用于"
+"复杂排版。要释放生成的缓冲区,请使用 [method free_rid]方法。\n"
+"[b]注意:[/b]如果服务器不支持 [constant FEATURE_BIDI_LAYOUT] 特性,则会忽略方"
+"向([TextServerAdvanced] 支持)。\n"
+"[b]注意:[/b]如果服务器不支持 [constant FEATURE_VERTICAL_LAYOUT] 特性,则会忽"
+"略朝向([TextServerAdvanced] 支持)。"
+
+msgid ""
+"Draws box displaying character hexadecimal code. Used for replacing missing "
+"characters."
+msgstr "绘制显示字符十六进制码的框。用于替换缺失的字符。"
+
+msgid ""
+"Removes all rendered glyphs information from the cache entry.\n"
+"[b]Note:[/b] This function will not remove textures associated with the "
+"glyphs, use [method font_remove_texture] to remove them manually."
+msgstr ""
+"从缓存条目中移除所有的渲染字形信息。\n"
+"[b]注意:[/b]该函数不会移除与字形关联的纹理,请使用 [method "
+"font_remove_texture] 手动移除。"
+
+msgid "Removes all font sizes from the cache entry."
+msgstr "从缓存条目中移除所有的字体大小。"
+
+msgid ""
+"Removes all textures from font cache entry.\n"
+"[b]Note:[/b] This function will not remove glyphs associated with the "
+"texture, use [method font_remove_glyph] to remove them manually."
+msgstr ""
+"从字体缓存条目中移除所有的纹理。\n"
+"[b]注意:[/b]该函数不会移除与纹理关联的字形,请使用 [method "
+"font_remove_glyph] 手动移除。"
+
+msgid ""
+"Draws single glyph into a canvas item at the position, using [param "
+"font_rid] at the size [param size].\n"
+"[b]Note:[/b] Glyph index is specific to the font, use glyphs indices "
+"returned by [method shaped_text_get_glyphs] or [method "
+"font_get_glyph_index].\n"
+"[b]Note:[/b] If there are pending glyphs to render, calling this function "
+"might trigger the texture cache update."
+msgstr ""
+"在画布项中某个位置绘制单个字形,使用的字体为 [param font_rid],大小为 [param "
+"size]。\n"
+"[b]注意:[/b]字形索引是特定于字体的,请使用 [method shaped_text_get_glyphs] "
+"或 [method font_get_glyph_index] 返回的字形索引。\n"
+"[b]注意:[/b]如果有待渲染的字形,调用这个函数可能会触发纹理缓存的更新。"
+
+msgid ""
+"Draws single glyph outline of size [param outline_size] into a canvas item "
+"at the position, using [param font_rid] at the size [param size].\n"
+"[b]Note:[/b] Glyph index is specific to the font, use glyphs indices "
+"returned by [method shaped_text_get_glyphs] or [method "
+"font_get_glyph_index].\n"
+"[b]Note:[/b] If there are pending glyphs to render, calling this function "
+"might trigger the texture cache update."
+msgstr ""
+"在画布项中某个位置绘制单个字形轮廓,使用的字体为 [param font_rid],大小为 "
+"[param size]。\n"
+"[b]注意:[/b]字形索引是特定于字体的,请使用 [method shaped_text_get_glyphs] "
+"或 [method font_get_glyph_index] 返回的字形索引。\n"
+"[b]注意:[/b]如果有待渲染的字形,调用这个函数可能会触发纹理缓存的更新。"
+
+msgid "Returns font anti-aliasing mode."
+msgstr "返回字体的抗锯齿模式。"
+
+msgid "Returns font embolden strength."
+msgstr "返回字体的加粗力度。"
+
+msgid "Returns bitmap font fixed size."
+msgstr "返回位图字体的固定大小。"
+
+msgid "Returns [code]true[/code] if font texture mipmap generation is enabled."
+msgstr "如果启用了字体纹理 mipmap 生成,则返回 [code]true[/code]。"
+
+msgid ""
+"Returns the font oversampling factor, shared by all fonts in the TextServer."
+msgstr "返回字体过采样系数,由 TextServer 中的所有字体共享。"
+
+msgid "Returns size of the glyph."
+msgstr "返回该字形的大小。"
+
+msgid "Returns font OpenType feature set override."
+msgstr "返回字体 OpenType 特性集覆盖。"
+
+msgid "Sets size of the glyph."
+msgstr "设置字形的大小。"
+
+msgid "Sets font hinting mode. Used by dynamic fonts only."
+msgstr "设置字体微调模式。仅由动态字体使用。"
+
+msgid "Sets the font family name."
+msgstr "设置该字体的家族名称。"
+
+msgid "Sets font OpenType feature set override."
+msgstr "设置字体 OpenType 特性集覆盖。"
+
+msgid "Adds override for [method font_is_script_supported]."
+msgstr "为 [method font_is_script_supported] 添加覆盖。"
+
+msgid "Sets the font style name."
+msgstr "设置字体的样式名称。"
+
+msgid "Sets font subpixel glyph positioning mode."
+msgstr "设置字体的次像素字形定位模式。"
+
+msgid "Sets font cache texture image data."
+msgstr "设置字体的缓存纹理图像数据。"
+
+msgid ""
+"Converts a number from the Western Arabic (0..9) to the numeral systems used "
+"in [param language].\n"
+"If [param language] is omitted, the active locale will be used."
+msgstr ""
+"将数字从阿拉伯数字(0..9)转换为 [param language] 语言的记数系统。\n"
+"如果省略 [param language],则会使用激活的区域设置。"
+
+msgid "Returns the name of the server interface."
+msgstr "返回该服务器接口的名称。"
+
+msgid "Returns [code]true[/code] if locale is right-to-left."
+msgstr "如果区域设置为从右至左,则返回 [code]true[/code]。"
+
+msgid ""
+"Converts [param number] from the numeral systems used in [param language] to "
+"Western Arabic (0..9)."
+msgstr ""
+"将数字 [param number] 从 [param language] 的记数系统转换为阿拉伯数字"
+"(0..9)。"
+
+msgid "Returns direction of the text."
+msgstr "返回文本的方向。"
+
+msgid "Returns text orientation."
+msgstr "返回文本朝向。"
+
msgid "Returns size of the text."
msgstr "返回该文本的大小。"
@@ -25508,6 +47426,60 @@ msgstr ""
"返回字素的索引,该字素位于基线上指定像素偏移的位置,如果没有找到,则返回 "
"[code]-1[/code]。"
+msgid "Horizontal RGB subpixel layout."
+msgstr "水平 RGB 次像素布局。"
+
+msgid "Horizontal BGR subpixel layout."
+msgstr "水平 BGR 次像素布局。"
+
+msgid "Vertical RGB subpixel layout."
+msgstr "垂直 RGB 次像素布局。"
+
+msgid "Vertical BGR subpixel layout."
+msgstr "垂直 BGR 次像素布局。"
+
+msgid "Text direction is determined based on contents and current locale."
+msgstr "文本的书写方向由根据内容和当前区域设置确定。"
+
+msgid "Text is written from left to right."
+msgstr "文本从左至右书写。"
+
+msgid "Text is written from right to left."
+msgstr "文本从右至左书写。"
+
+msgid ""
+"Text writing direction is the same as base string writing direction. Used "
+"for BiDi override only."
+msgstr "文本的书写方向与基础字符串书写方向一致。仅用于 BiDi 覆盖。"
+
+msgid "Text is written horizontally."
+msgstr "文本水平书写。"
+
+msgid ""
+"Left to right text is written vertically from top to bottom.\n"
+"Right to left text is written vertically from bottom to top."
+msgstr ""
+"从左至右的文本从上到下垂直书写。\n"
+"从右至左的文本从下到上垂直书写。"
+
+msgid "Do not justify text."
+msgstr "不两端对齐文本。"
+
+msgid "Justify text by adding and removing kashidas."
+msgstr "通过添加和移除 Kashida 来两端对齐文本。"
+
+msgid "Justify text by changing width of the spaces between the words."
+msgstr "通过更改单词之间空格的宽度来两端对齐文本。"
+
+msgid "Remove trailing and leading spaces from the justified text."
+msgstr "从两端对齐的文本中移除前缀和后缀的空格。"
+
+msgid "Only apply justification to the part of the text after the last tab."
+msgstr "仅对最后一个制表符之后的文本应用两端对齐。"
+
+msgid "Autowrap is disabled."
+msgstr "自动换行已禁用。"
+
msgid "Do not break the line."
msgstr "不换行。"
@@ -25581,6 +47553,42 @@ msgstr "禁用字体提示(更平滑但不那么清晰)。"
msgid "Use the light font hinting mode."
msgstr "使用浅色字体提示模式。"
+msgid "TextServer supports simple text layouts."
+msgstr "TextServer 支持简单排版。"
+
+msgid "TextServer supports bidirectional text layouts."
+msgstr "TextServer 支持双向排版。"
+
+msgid "TextServer supports vertical layouts."
+msgstr "TextServer 支持垂直布局。"
+
+msgid "TextServer supports complex text shaping."
+msgstr "TextServer 支持复杂文本塑形。"
+
+msgid "TextServer supports justification using kashidas."
+msgstr "TextServer 支持使用 kashida 进行两端对齐。"
+
+msgid ""
+"TextServer supports complex line/word breaking rules (e.g. dictionary based)."
+msgstr "TextServer 支持复杂断行/断词规则(例如基于字典)。"
+
+msgid "TextServer supports loading bitmap fonts."
+msgstr "TextServer 支持加载位图字体。"
+
+msgid "TextServer supports loading dynamic (TrueType, OpeType, etc.) fonts."
+msgstr "TextServer 支持加载动态字体(TrueType、OpeType 等)。"
+
+msgid ""
+"TextServer supports multichannel signed distance field dynamic font "
+"rendering."
+msgstr "TextServer 支持多通道有符号距离场动态字体的渲染。"
+
+msgid "TextServer supports loading system fonts."
+msgstr "TextServer 支持加载系统字体。"
+
+msgid "TextServer supports variable fonts."
+msgstr "TextServer 支持可变字体。"
+
msgid "Contour point is on the curve."
msgstr "轮廓点在曲线上。"
@@ -25594,24 +47602,158 @@ msgid ""
"Bézier arc."
msgstr "轮廓点不在曲线上,而是作为三次贝塞尔曲线的控制点。"
+msgid "Spacing for each glyph."
+msgstr "每个字形的间距。"
+
msgid "Spacing for the space character."
msgstr "空格字符的间距。"
+msgid "Spacing at the top of the line."
+msgstr "行顶部的间距。"
+
+msgid "Spacing at the bottom of the line."
+msgstr "行底部的间距。"
+
+msgid "Font is bold."
+msgstr "字体为粗体。"
+
+msgid "Use default Unicode BiDi algorithm."
+msgstr "使用默认的 Unicode BiDi 算法。"
+
+msgid "BiDi override for URI."
+msgstr "URI 的 BiDi 覆盖。"
+
+msgid "BiDi override for file path."
+msgstr "文件路径的 BiDi 覆盖。"
+
+msgid "BiDi override for email."
+msgstr "电子邮件的 BiDi 覆盖。"
+
+msgid ""
+"BiDi override for lists.\n"
+"Structured text options: list separator [code]String[/code]."
+msgstr ""
+"列表的 BiDi 覆盖。\n"
+"结构化文本选项:列表分隔符 [code]String[/code]。"
+
+msgid "BiDi override for GDScript."
+msgstr "GDScript 的 BiDi 覆盖。"
+
+msgid "User defined structured text BiDi override function."
+msgstr "用户定义的结构化文本 BiDi 覆盖函数。"
+
+msgid ""
+"Text Server using HarfBuzz, ICU and SIL Graphite to support BiDi, complex "
+"text layouts and contextual OpenType features."
+msgstr ""
+"文本服务器,使用 HarfBuzz、ICU 和 SIL Graphite 来支持 BiDi、复杂排版和上下文 "
+"OpenType 特性。"
+
+msgid "Base class for TextServer custom implementations (plugins)."
+msgstr "TextServer 自定义实现(插件)的基类。"
+
+msgid "External TextServer implementations should inherit from this class."
+msgstr "外部 TextServer 实现应该继承这个类。"
+
+msgid ""
+"Fallback implementation of the Text Server, without BiDi and complex text "
+"layout support."
+msgstr "文本服务器的回退实现,不支持双向排版和复杂排版。"
+
+msgid "Manager for the font and complex text layout servers."
+msgstr "字体和复杂排版服务器的管理器。"
+
+msgid ""
+"[TextServerManager] is the API backend for loading, enumeration and "
+"switching [TextServer]s.\n"
+"[b]Note:[/b] Switching text server at runtime is possible, but will "
+"invalidate all fonts and text buffers. Make sure to unload all controls, "
+"fonts, and themes before doing so."
+msgstr ""
+"[TextServerManager] 是加载、枚举和切换 [TextServer] 的 API 后端。\n"
+"[b]注意:[/b]文本服务器可以在运行时切换,但会导致所有字体和文本缓冲区失效。请"
+"确保在切换之前卸载所有控件、字体和主题。"
+
+msgid "Registers an [TextServer] interface."
+msgstr "注册 [TextServer] 接口。"
+
+msgid "Finds an interface by its name."
+msgstr "按名称查找接口。"
+
+msgid "Returns the interface registered at a given index."
+msgstr "返回在给定索引处注册的接口。"
+
+msgid "Returns the number of interfaces currently registered."
+msgstr "返回当前注册的接口数。"
+
+msgid ""
+"Returns a list of available interfaces the index and name of each interface."
+msgstr "返回可用接口的列表,包含每个接口的索引号和名称。"
+
+msgid "Returns the primary [TextServer] interface currently in use."
+msgstr "返回当前使用的主 [TextServer] 接口。"
+
+msgid "Sets the primary [TextServer] interface."
+msgstr "设置主 [TextServer] 接口。"
+
msgid "Emitted when a new interface has been added."
msgstr "添加新接口时触发。"
msgid "Emitted when an interface is removed."
msgstr "当接口被移除时触发。"
+msgid "Base class for all texture types."
+msgstr "所有纹理类型的基类。"
+
msgid "Texture for 2D and 3D."
msgstr "用于 2D 和 3D 的纹理。"
+msgid "Returns the texture height in pixels."
+msgstr "返回该纹理的高度,单位为像素。"
+
+msgid "Returns the texture size in pixels."
+msgstr "返回该纹理的大小,单位为像素。"
+
+msgid "Returns the texture width in pixels."
+msgstr "返回该纹理的宽度,单位为像素。"
+
+msgid "Base class for 3-dimensionnal textures."
+msgstr "3D 纹理的基类。"
+
+msgid "Called when the [Texture3D]'s data is queried."
+msgstr "查询该 [Texture3D] 的数据时被调用。"
+
+msgid "Called when the [Texture3D]'s depth is queried."
+msgstr "查询该 [Texture3D] 的深度时被调用。"
+
+msgid "Called when the [Texture3D]'s format is queried."
+msgstr "查询该 [Texture3D] 的格式时被调用。"
+
+msgid "Called when the [Texture3D]'s height is queried."
+msgstr "查询该 [Texture3D] 的高度时被调用。"
+
+msgid "Called when the [Texture3D]'s width is queried."
+msgstr "查询该 [Texture3D] 的宽度时被调用。"
+
+msgid "Called when the presence of mipmaps in the [Texture3D] is queried."
+msgstr "查询该 [Texture3D] 的 Mipmap 是否存在时被调用。"
+
msgid ""
"Returns the current format being used by this texture. See [enum Image."
"Format] for details."
msgstr "返回纹理当前使用的格式。详情见 [enum Image.Format]。"
msgid ""
+"Returns the [Texture3D]'s height in pixels. Width is typically represented "
+"by the Y axis."
+msgstr "返回该 [Texture3D] 的高度,单位为像素。宽度通常由 Y 轴表示。"
+
+msgid ""
+"Returns the [Texture3D]'s width in pixels. Width is typically represented by "
+"the X axis."
+msgstr "返回该 [Texture3D] 的宽度,单位为像素。宽度通常由 X 轴表示。"
+
+msgid ""
"Texture-based button. Supports Pressed, Hover, Disabled and Focused states."
msgstr "基于纹理的按钮。支持按下、悬停、停用和焦点状态。"
@@ -25690,6 +47832,36 @@ msgid ""
"other side clips to the node's limits."
msgstr "缩放纹理,使较短的一边适应边界矩形。另一边则裁剪到节点的界限内。"
+msgid "Called when the [TextureLayered]'s format is queried."
+msgstr "查询该 [TextureLayered] 的格式时被调用。"
+
+msgid "Called when the the [TextureLayered]'s height is queried."
+msgstr "查询该 [TextureLayered] 的高度时被调用。"
+
+msgid "Called when the data for a layer in the [TextureLayered] is queried."
+msgstr "查询该 [TextureLayered] 中某一层的数据时被调用。"
+
+msgid "Called when the layers' type in the [TextureLayered] is queried."
+msgstr "查询该 [TextureLayered] 的层类型时被调用。"
+
+msgid "Called when the number of layers in the [TextureLayered] is queried."
+msgstr "查询该 [TextureLayered] 的层数时被调用。"
+
+msgid "Called when the [TextureLayered]'s width queried."
+msgstr "查询该 [TextureLayered] 的宽度时被调用。"
+
+msgid "Called when the presence of mipmaps in the [TextureLayered] is queried."
+msgstr "查询该 [TextureLayered] 的 Mipmap 是否存在时被调用。"
+
+msgid "Texture is a generic [Texture2DArray]."
+msgstr "纹理为通用的 [Texture2DArray]。"
+
+msgid "Texture is a [Cubemap], with each side in its own layer (6 in total)."
+msgstr "纹理为 [Cubemap],每一面都有自己的层(共 6 层)。"
+
+msgid "Texture is a [CubemapArray], with each cubemap being made of 6 layers."
+msgstr "纹理为 [CubemapArray],每个立方体贴图都由 6 层组成。"
+
msgid ""
"Texture-based progress bar. Useful for loading screens and life or stamina "
"bars."
@@ -25837,11 +48009,20 @@ msgid ""
"See [enum StretchMode]."
msgstr "控件纹理在调整节点边界矩形时的行为。见 [enum StretchMode]。"
+msgid "The node's [Texture2D] resource."
+msgstr "该节点的 [Texture2D] 资源。"
+
msgid ""
"Scale the texture to fit the node's bounding rectangle, center it and "
"maintain its aspect ratio."
msgstr "缩放纹理以适应节点的边界矩形,使其居中并保持其长宽比。"
+msgid "GUI skinning"
+msgstr "GUI 皮肤"
+
+msgid "Using the theme editor"
+msgstr "使用主题编辑器"
+
msgid ""
"Adds an empty theme type for every valid data type.\n"
"[b]Note:[/b] Empty types are not saved with the theme. This method only "
@@ -25860,6 +48041,64 @@ msgstr ""
"移除该主题类型,优雅地丢弃其中定义的主题项目。如果该类型为变种,则该信息也会"
"被消除。如果该类型为类型变种的基础类型,则那些变种会失去其基础类型。"
+msgid ""
+"Creates or changes the value of the [Color] property defined by [param name] "
+"and [param theme_type]. Use [method clear_color] to remove the property."
+msgstr ""
+"创建或改变由名称 [param name] 和主题类型 [param theme_type] 定义的 [Color] 属"
+"性的值。移除该属性请使用 [method clear_color]。"
+
+msgid ""
+"Creates or changes the value of the constant property defined by [param "
+"name] and [param theme_type]. Use [method clear_constant] to remove the "
+"property."
+msgstr ""
+"创建或改变由名称 [param name] 和主题类型 [param theme_type] 定义的常量属性的"
+"值。移除该属性请使用 [method clear_constant]。"
+
+msgid ""
+"Creates or changes the value of the [Font] property defined by [param name] "
+"and [param theme_type]. Use [method clear_font] to remove the property."
+msgstr ""
+"创建或改变由名称 [param name] 和主题类型 [param theme_type] 定义的 [Font] 属"
+"性的值。移除该属性请使用 [method clear_font]。"
+
+msgid ""
+"Creates or changes the value of the font size property defined by [param "
+"name] and [param theme_type]. Use [method clear_font_size] to remove the "
+"property."
+msgstr ""
+"创建或改变由名称 [param name] 和主题类型 [param theme_type] 定义的字体大小属"
+"性的值。移除该属性请使用 [method clear_font_size]。"
+
+msgid ""
+"Creates or changes the value of the icon property defined by [param name] "
+"and [param theme_type]. Use [method clear_icon] to remove the property."
+msgstr ""
+"创建或改变由名称 [param name] 和主题类型 [param theme_type] 定义的图标属性的"
+"值。移除该属性请使用 [method clear_icon]。"
+
+msgid ""
+"Creates or changes the value of the [StyleBox] property defined by [param "
+"name] and [param theme_type]. Use [method clear_stylebox] to remove the "
+"property."
+msgstr ""
+"创建或改变由名称 [param name] 和主题类型 [param theme_type] 定义的 "
+"[StyleBox] 属性的值。移除该属性请使用 [method clear_stylebox]。"
+
+msgid ""
+"Creates or changes the value of the theme property of [param data_type] "
+"defined by [param name] and [param theme_type]. Use [method "
+"clear_theme_item] to remove the property.\n"
+"Fails if the [param value] type is not accepted by [param data_type].\n"
+"[b]Note:[/b] This method is analogous to calling the corresponding data type "
+"specific method, but can be used for more generalized logic."
+msgstr ""
+"创建或改变由名称 [param name] 和主题类型 [param theme_type] 定义的主题属性的"
+"值。移除该属性请使用 [method clear_theme_item]。\n"
+"如果 [param value] 的类型不被 [param data_type] 所接受,则失败。\n"
+"[b]注意:[/b]这个方法类似于调用相应的数据类型特定方法,但可以用于更通用逻辑。"
+
msgid "Theme's [Color] item type."
msgstr "主题的 [Color] 颜色项类型。"
@@ -25869,12 +48108,24 @@ msgstr "主题的常量项类型。"
msgid "Theme's [Font] item type."
msgstr "主题的 [Font] 字体项类型。"
+msgid "Theme's font size item type."
+msgstr "主题的字体大小项类型。"
+
+msgid "Theme's icon [Texture2D] item type."
+msgstr "主题的图标 [Texture2D] 项类型。"
+
msgid "Theme's [StyleBox] item type."
msgstr "主题的 [StyleBox] 项目类型。"
msgid "Maximum value for the DataType enum."
msgstr "数据类型枚举的最大值。"
+msgid ""
+"An engine singleton providing access to static [Theme] information, such as "
+"default and project theme, and fallback values."
+msgstr ""
+"引擎单例,用于访问静态 [Theme] 信息,如默认主题和项目主题,以及回退值等。"
+
msgid "A unit of execution in a process."
msgstr "执行过程中的执行单元。"
@@ -25919,22 +48170,130 @@ msgstr "具有标准优先级的线程。"
msgid "A thread running with higher priority than normally."
msgstr "以比正常情况更高的优先级运行的线程。"
+msgid "Settings for a single tile in a [TileSet]."
+msgstr "[TileSet] 中单个图块的设置。"
+
+msgid ""
+"[TileData] object represents a single tile in a [TileSet]. It is usually "
+"edited using the tileset editor, but it can be modified at runtime using "
+"[method TileMap._tile_data_runtime_update]."
+msgstr ""
+"[TileData] 对象代表 [TileSet] 中的单个图块,通常使用图块集编辑器进行编辑,但"
+"也可以在运行时使用 [method TileMap._tile_data_runtime_update] 进行修改。"
+
+msgid "Color modulation of the tile."
+msgstr "该图块的颜色调制。"
+
msgid "Node for 2D tile-based maps."
msgstr "基于 2D 图块的地图节点。"
+msgid ""
+"Node for 2D tile-based maps. Tilemaps use a [TileSet] which contain a list "
+"of tiles which are used to create grid-based maps. A TileMap may have "
+"several layers, layouting tiles on top of each other."
+msgstr ""
+"基于 2D 图块的地图节点。Tilemap(图块地图)使用 [TileSet],其中包含了图块的列"
+"表,用于创建基于栅格的地图。TileMap 可以有若干图层,可以将图块布局在彼此之"
+"上。"
+
msgid "Using Tilemaps"
-msgstr "使用图块地图"
+msgstr "使用 Tilemap"
msgid "2D Hexagonal Demo"
msgstr "2D 六边形演示"
+msgid ""
+"Called with a TileData object about to be used internally by the TileMap, "
+"allowing its modification at runtime.\n"
+"This method is only called if [method _use_tile_data_runtime_update] is "
+"implemented and returns [code]true[/code] for the given tile [param coords] "
+"and [param layer].\n"
+"[b]Warning:[/b] The [param tile_data] object's sub-resources are the same as "
+"the one in the TileSet. Modifying them might impact the whole TileSet. "
+"Instead, make sure to duplicate those resources.\n"
+"[b]Note:[/b] If the properties of [param tile_data] object should change "
+"over time, use [method force_update] to trigger a TileMap update."
+msgstr ""
+"会使用 TileMap 内部即将使用的 TileData 对象来调用,从而实现运行时修改。\n"
+"这个方法被调用的前提是:实现了 [method _use_tile_data_runtime_update],并且对"
+"给定的图块坐标 [param coords] 和层 [param layer] 返回 [code]true[/code] 。\n"
+"[b]警告:[/b]该 [param tile_data] 对象的子资源和 TileSet 中的子资源是一样的。"
+"对它们进行修改可能会影响整个 TileSet。请确保制作这些资源的副本再进行修改。\n"
+"[b]注意:[/b]如果 [param tile_data] 对象的属性要随时间变化,请使用 [method "
+"force_update] 来触发 TileMap 更新。"
+
+msgid ""
+"Should return [code]true[/code] if the tile at coordinates [param coords] on "
+"layer [param layer] requires a runtime update.\n"
+"[b]Warning:[/b] Make sure this function only return [code]true[/code] when "
+"needed. Any tile processed at runtime without a need for it will imply a "
+"significant performance penalty."
+msgstr ""
+"如果位于层 [param layer] 坐标 [param coords] 的图块需要运行时更新,则应返回 "
+"[code]true[/code]。\n"
+"[b]警告:[/b]请确保这个函数只在需要时返回 [code]true[/code]。任何在没有需要的"
+"情况下在运行时处理的图块都将导致显著的性能损失。"
+
+msgid ""
+"Adds a layer at the given position [param to_position] in the array. If "
+"[param to_position] is negative, the position is counted from the end, with "
+"[code]-1[/code] adding the layer at the end of the array."
+msgstr ""
+"在数组中的给定位置 [param to_position] 添加层。如果 [param to_position] 为负"
+"数,则位置从结尾处开始计数,[code]-1[/code] 会把层添加在数组的末尾。"
+
msgid "Clears all cells."
msgstr "清除所有单元格。"
+msgid "Clears all cells on the given layer."
+msgstr "清除给定图层中的所有单元格。"
+
+msgid "Erases the cell on layer [param layer] at coordinates [param coords]."
+msgstr "擦除图层 [param layer] 上位于坐标 [param coords] 处的单元格。"
+
msgid "Clears cells that do not exist in the tileset."
msgstr "清除图块集中不存在的单元格。"
msgid ""
+"Triggers an update of the TileMap. If [param layer] is provided, only "
+"updates the given layer.\n"
+"[b]Note:[/b] The TileMap node updates automatically when one of its "
+"properties is modified. A manual update is only needed if runtime "
+"modifications (implemented in [method _tile_data_runtime_update]) need to be "
+"applied.\n"
+"[b]Warning:[/b] Updating the TileMap is computationally expensive and may "
+"impact performance. Try to limit the number of updates and the tiles they "
+"impact (by placing frequently updated tiles in a dedicated layer for "
+"example)."
+msgstr ""
+"触发 TileMap 的更新。如果提供了 [param layer],则只更新给定的层。\n"
+"[b]注意:[/b]TileMap 节点的属性被修改时,该节点会自动更新。只有在需要应用运行"
+"时修改(在 [method _tile_data_runtime_update] 中实现)时才需要手动更新。\n"
+"[b]警告:[/b]更新 TileMap 的计算量很大,可能会影响性能。请尽量限制更新的次数"
+"和受影响的图块(例如,将经常更新的图块放在专门的层中)。"
+
+msgid "Returns a TileMap layer's modulate."
+msgstr "返回 TileMap 图层的调制颜色。"
+
+msgid "Returns a TileMap layer's name."
+msgstr "返回 TileMap 图层的名称。"
+
+msgid "Returns a TileMap layer's Y sort origin."
+msgstr "返回 TileMap 图层的 Y 排序原点。"
+
+msgid "Returns a TileMap layer's Z-index value."
+msgstr "返回 TileMap 图层的 Z 索引值。"
+
+msgid "Returns the number of layers in the TileMap."
+msgstr "返回 TileMap 图层的数量。"
+
+msgid "Returns if a layer is enabled."
+msgstr "返回图层是否被启用。"
+
+msgid "Returns if a layer Y-sorts its tiles."
+msgstr "返回图层是否对其图块进行 Y 排序。"
+
+msgid ""
"The TileMap's quadrant size. Optimizes drawing by batching, using chunks of "
"this size."
msgstr "该 TileMap 的象限大小。会使用这个大小的区块对绘制进行批处理优化。"
@@ -25942,8 +48301,210 @@ msgstr "该 TileMap 的象限大小。会使用这个大小的区块对绘制进
msgid "The assigned [TileSet]."
msgstr "指定的 [TileSet] 图块集。"
+msgid "Use the debug settings to determine visibility."
+msgstr "使用调试设置确定可见性。"
+
+msgid "Always hide."
+msgstr "始终隐藏。"
+
+msgid "Always show."
+msgstr "始终显示。"
+
msgid "Tile library for tilemaps."
-msgstr "图块地图的图块库。"
+msgstr "Tilemap 的图块库。"
+
+msgid ""
+"A TileSet is a library of tiles for a [TileMap]. A TileSet handles a list of "
+"[TileSetSource], each of them storing a set of tiles.\n"
+"Tiles can either be from a [TileSetAtlasSource], that render tiles out of a "
+"texture with support for physics, navigation, etc... or from a "
+"[TileSetScenesCollectionSource] which exposes scene-based tiles.\n"
+"Tiles are referenced by using three IDs: their source ID, their atlas "
+"coordinates ID and their alternative tile ID.\n"
+"A TileSet can be configured so that its tiles expose more or less "
+"properties. To do so, the TileSet resources uses property layers, that you "
+"can add or remove depending on your needs.\n"
+"For example, adding a physics layer allows giving collision shapes to your "
+"tiles. Each layer having dedicated properties (physics layer an mask), you "
+"may add several TileSet physics layers for each type of collision you need.\n"
+"See the functions to add new layers for more information."
+msgstr ""
+"TileSet 是 [TileMap] 的图块库。TileSet 处理 [TileSetSource] 列表,每个表中存"
+"储一组图块。\n"
+"图块既可以来自 [TileSetAtlasSource],可以渲染纹理中的图块,支持物理、导航等功"
+"能,也可以来自 [TileSetScenesCollectionSource],提供基于场景的图块。\n"
+"图块通过使用三个 ID 来引用:源 ID、图集坐标 ID、备选图块 ID。\n"
+"TileSet 可以配置图块暴露哪些属性。为了做到这一点,TileSet 资源使用了属性层,"
+"你可以根据需要进行添加和删除。\n"
+"例如,添加物理层可以为瓷砖提供碰撞形状。不同的层都有不同的属性(物理层和遮"
+"罩),要实现不同类型的碰撞,你也可以添加多个 TileSet 物理层。\n"
+"更多信息请参阅添加新层的函数。"
+
+msgid "Returns the custom data layers count."
+msgstr "返回自定义数据层的数量。"
+
+msgid "Returns the navigation layers count."
+msgstr "返回导航层的数量。"
+
+msgid "Returns the occlusion layers count."
+msgstr "返回遮挡层的数量。"
+
+msgid "Returns the physics layers count."
+msgstr "返回物理层的数量。"
+
+msgid "Returns a terrain's color."
+msgstr "返回地形的颜色。"
+
+msgid "Returns a terrain's name."
+msgstr "返回地形的名称。"
+
+msgid "Returns a terrain set mode."
+msgstr "返回地形集模式。"
+
+msgid "Returns the terrain sets count."
+msgstr "返回地形集的数量。"
+
+msgid "Returns the number of terrains in the given terrain set."
+msgstr "返回给定地形集中的地形数。"
+
+msgid "Changes a source's ID."
+msgstr "更改源的 ID。"
+
+msgid ""
+"Sets a terrain's color. This color is used for identifying the different "
+"terrains in the TileSet editor."
+msgstr "设置地形的颜色。该颜色用于在 TileSet 编辑器中区分不同的地形。"
+
+msgid "Sets a terrain's name."
+msgstr "设置地形的名称。"
+
+msgid ""
+"Sets a terrain mode. Each mode determines which bits of a tile shape is used "
+"to match the neighboring tiles' terrains."
+msgstr ""
+"设置地形模式。每种模式决定了图块形状的哪一个位被用来匹配相邻图块的地形。"
+
+msgid ""
+"For all half-offset shapes (Isometric, Hexagonal and Half-Offset square), "
+"changes the way tiles are indexed in the TileMap grid."
+msgstr ""
+"对于所有半偏移形状(等轴、六边形和半偏移正方形),更改图块在 TileMap 栅格中的"
+"索引方式。"
+
+msgid ""
+"For all half-offset shapes (Isometric, Hexagonal and Half-Offset square), "
+"determines the offset axis."
+msgstr "对于所有半偏移形状(等轴、六边形和半偏移正方形),确定偏移轴。"
+
+msgid "The tile shape."
+msgstr "图块的形状。"
+
+msgid ""
+"The tile size, in pixels. For all tile shapes, this size corresponds to the "
+"encompassing rectangle of the tile shape. This is thus the minimal cell size "
+"required in an atlas."
+msgstr ""
+"图块的大小,单位为像素。无论图块是什么形状,这个大小对应的都是图块形状的包围"
+"矩形。因此,这是图集所需的最小单元格大小。"
+
+msgid "Enables/Disable uv clipping when rendering the tiles."
+msgstr "渲染图块时启用/禁用 UV 裁剪。"
+
+msgid "Rectangular tile shape."
+msgstr "矩形图块形状。"
+
+msgid ""
+"Diamond tile shape (for isometric look).\n"
+"[b]Note:[/b] Isometric [TileSet] works best if [TileMap] and all its layers "
+"have Y-sort enabled."
+msgstr ""
+"钻石图块形状(用于等轴外观)。\n"
+"[b]注意:[/b]等轴 [TileSet] 在 [TileMap] 及其所有图层都启用了Y 排序时效果最"
+"好。"
+
+msgid ""
+"Rectangular tile shape with one row/column out of two offset by half a tile."
+msgstr "矩形图块形状,每隔一行/列偏移半个图块。"
+
+msgid "Hexagonal tile shape."
+msgstr "六边形图块形状。"
+
+msgid "Horizontal half-offset."
+msgstr "水平半偏移。"
+
+msgid "Vertical half-offset."
+msgstr "垂直半偏移。"
+
+msgid "Neighbor on the right side."
+msgstr "右侧相邻单元格。"
+
+msgid "Neighbor in the right corner."
+msgstr "右角相邻单元格。"
+
+msgid "Neighbor on the bottom right side."
+msgstr "右下侧相邻单元格。"
+
+msgid "Neighbor in the bottom right corner."
+msgstr "右下角相邻单元格。"
+
+msgid "Neighbor on the bottom side."
+msgstr "下侧相邻单元格。"
+
+msgid "Neighbor in the bottom corner."
+msgstr "下角相邻单元格。"
+
+msgid "Neighbor on the bottom left side."
+msgstr "左下侧相邻单元格。"
+
+msgid "Neighbor in the bottom left corner."
+msgstr "左下角相邻单元格。"
+
+msgid "Neighbor on the left side."
+msgstr "左侧相邻单元格。"
+
+msgid "Neighbor in the left corner."
+msgstr "左角相邻单元格。"
+
+msgid "Neighbor on the top left side."
+msgstr "左上侧相邻单元格。"
+
+msgid "Neighbor in the top left corner."
+msgstr "左上角相邻单元格。"
+
+msgid "Neighbor on the top side."
+msgstr "上侧相邻单元格。"
+
+msgid "Neighbor in the top corner."
+msgstr "上角相邻单元格。"
+
+msgid "Neighbor on the top right side."
+msgstr "右上侧相邻单元格。"
+
+msgid "Neighbor in the top right corner."
+msgstr "右上角相邻单元格。"
+
+msgid "The atlas texture."
+msgstr "图集纹理。"
+
+msgid ""
+"Returns whether the scene tile with [param id] displays a placeholder in the "
+"editor."
+msgstr "返回 ID 为 [param id] 的场景图块是否在编辑器中显示占位图。"
+
+msgid "Returns the scene tile ID of the scene tile at [param index]."
+msgstr "返回索引为 [param index] 的场景图块的场景图块 ID。"
+
+msgid "Returns the [PackedScene] resource of scene tile with [param id]."
+msgstr "返回 ID 为 [param id] 的场景图块的 [PackedScene] 资源。"
+
+msgid "Returns the number or scene tiles this TileSet source has."
+msgstr "返回该 TileSet 源中场景图块的数量。"
+
+msgid "Returns whether this TileSet source has a scene tile with [param id]."
+msgstr "返回该 TileSet 源是否包含 ID 为 [param id] 的场景图块。"
+
+msgid "Remove the scene tile with [param id]."
+msgstr "移除 ID 为 [param id] 的场景图块。"
msgid "Time singleton for working with time."
msgstr "用于处理时间的 Time 单例。"
@@ -26209,6 +48770,9 @@ msgstr ""
"如果为 [code]true[/code],定时器会被暂停,并且不再处理,即使调用 [method "
"start],直到它被取消暂停。"
+msgid "Processing callback. See [enum TimerProcessCallback]."
+msgstr "处理回调。见 [enum TimerProcessCallback]。"
+
msgid ""
"Update the timer during the physics step at each frame (fixed framerate "
"processing)."
@@ -26217,6 +48781,12 @@ msgstr "在每一帧的物理运算步骤中更新定时器,即固定帧率处
msgid "Update the timer during the idle time at each frame."
msgstr "在每一帧空闲时间内更新定时器。"
+msgid "TLS configuration for clients and servers."
+msgstr "客户端与服务器的 TLS 配置。"
+
+msgid "Class representing a torus [PrimitiveMesh]."
+msgstr "表示圆环 [PrimitiveMesh] 的类。"
+
msgid "Button for touch screen devices for gameplay use."
msgstr "触摸屏设备的按钮,供游戏使用。"
@@ -26271,6 +48841,9 @@ msgstr ""
"如果为 [code]true[/code],按钮的形状会在提供的纹理中居中。如果没有使用纹理,"
"这个属性就没有效果。"
+msgid "If [code]true[/code], the button's shape is visible in the editor."
+msgstr "如果为 [code]true[/code],则该按钮的形状在编辑器中可见。"
+
msgid "The button's texture for the normal state."
msgstr "该按钮在正常状态下的纹理。"
@@ -26306,13 +48879,22 @@ msgid ""
msgstr ""
"用于 2D 线性变换的 2×3 矩阵(2 行 3 列),可以表示平移、旋转、缩放等变换。由"
"三个 [Vector2] 值组成:[member x]、[member y]、[member origin]。\n"
-"更多信息请阅读文档文章《矩阵和变换》。"
+"更多信息请阅读文档文章《矩阵与变换》。"
+
+msgid ""
+"Constructs a default-initialized [Transform2D] set to [constant IDENTITY]."
+msgstr "构造默认初始化为 [constant IDENTITY] 的 [Transform2D]。"
msgid "Constructs a [Transform2D] as a copy of the given [Transform2D]."
msgstr "构造给定 [Transform2D] 的副本。"
msgid "Constructs the transform from a given angle (in radians) and position."
-msgstr "从一个给定的角度(单位为弧度)和位置构造变换。"
+msgstr "从给定的角度(单位为弧度)和位置构造变换。"
+
+msgid ""
+"Constructs the transform from a given angle (in radians), scale, skew (in "
+"radians) and position."
+msgstr "从给定的角度(单位为弧度)、缩放、偏斜(单位为弧度)和位置构造变换。"
msgid ""
"Constructs the transform from 3 [Vector2] values representing [member x], "
@@ -26324,7 +48906,7 @@ msgstr ""
msgid ""
"Returns the inverse of the transform, under the assumption that the "
"transformation is composed of rotation, scaling and translation."
-msgstr "返回变换的反值,假设变换是由旋转、缩放和平移组成的。"
+msgstr "返回该变换的逆,假设变换由旋转、缩放和平移组成。"
msgid ""
"Returns a vector transformed (multiplied) by the basis matrix.\n"
@@ -26341,14 +48923,17 @@ msgstr ""
"该方法不考虑平移(原点向量)。"
msgid "Returns the transform's origin (translation)."
-msgstr "返回变换的原点(平移)。"
+msgstr "返回该变换的原点(平移)。"
msgid "Returns the transform's rotation (in radians)."
-msgstr "返回变换的旋转(单位为弧度)。"
+msgstr "返回该变换的旋转(单位为弧度)。"
msgid "Returns the scale."
msgstr "返回缩放。"
+msgid "Returns the transform's skew (in radians)."
+msgstr "返回该变换的偏斜(单位为弧度)。"
+
msgid ""
"Returns the inverse of the transform, under the assumption that the "
"transformation is composed of rotation and translation (no scaling, use "
@@ -26405,7 +48990,7 @@ msgstr ""
"用于 3D 线性变换的 3×4 矩阵(3 行 4 列),可以表示平移、旋转、缩放等变换。它"
"由一个 [member basis](前 3 列)和一个 [member origin] 的 [Vector3](最后一"
"列)组成。\n"
-"更多信息请阅读文档文章《矩阵和变换》。"
+"更多信息请阅读文档文章《矩阵与变换》。"
msgid "Constructs a [Transform3D] as a copy of the given [Transform3D]."
msgstr "构造给定 [Transform3D] 的副本。"
@@ -26423,6 +49008,13 @@ msgid ""
"Equivalent to array index [code]3[/code]."
msgstr "变换的平移偏移量,即第 3、4 列。相当于数组索引 [code]3[/code]。"
+msgid ""
+"[Transform3D] with no translation, rotation or scaling applied. When applied "
+"to other data structures, [constant IDENTITY] performs no transformation."
+msgstr ""
+"没有应用平移、旋转、缩放的 [Transform3D]。当应用于其他数据结构时,[constant "
+"IDENTITY] 不执行变换。"
+
msgid "Language Translation."
msgstr "语言翻译。"
@@ -26431,8 +49023,17 @@ msgid ""
"map a string to another string."
msgstr "翻译是可以按需加载和卸载的资源,将一个字符串映射到另一个字符串。"
+msgid "Internationalizing games"
+msgstr "将游戏国际化"
+
+msgid "Locales"
+msgstr "区域设置"
+
msgid "Virtual method to override [method get_message]."
-msgstr "重写 [method get_message] 的虚方法。"
+msgstr "覆盖 [method get_message] 的虚方法。"
+
+msgid "Virtual method to override [method get_plural_message]."
+msgstr "覆盖 [method get_plural_message] 的虚方法。"
msgid "Erases a message."
msgstr "删除信息。"
@@ -26463,6 +49064,21 @@ msgstr "添加一个 [Translation] 资源。"
msgid "Clears the server from all translations."
msgstr "清除服务器中的所有翻译。"
+msgid "Returns array of known country codes."
+msgstr "返回已知地区代码的数组。"
+
+msgid "Returns array of known language codes."
+msgstr "返回已知语言代码的数组。"
+
+msgid "Returns array of known script codes."
+msgstr "返回已知文字代码的数组。"
+
+msgid "Returns readable country name for the [param country] code."
+msgstr "返回地区代码 [param country] 的可读地区名。"
+
+msgid "Returns readable language name for the [param language] code."
+msgstr "返回语言代码 [param language] 的可读语言名。"
+
msgid "Returns an array of all loaded locales of the project."
msgstr "返回项目中所有已加载的区域设置的数组。"
@@ -26482,6 +49098,17 @@ msgstr ""
"返回区域设置的语言及其变体。例如,[code]\"en_US\"[/code] 将返回 "
"[code]\"English (United States)\"[/code]。"
+msgid "Returns readable script name for the [param script] code."
+msgstr "返回文字代码 [param script] 的可读文字名称。"
+
+msgid ""
+"Returns the current locale of the editor.\n"
+"[b]Note:[/b] When called from an exported project returns the same value as "
+"[method get_locale]."
+msgstr ""
+"返回编辑器的当前区域设置。\n"
+"[b]注意:[/b]从导出后的项目中调用时,返回值与 [method get_locale] 相同。"
+
msgid "Removes the given translation from the server."
msgstr "从服务器中删除给定的翻译。"
@@ -26515,7 +49142,13 @@ msgstr ""
"SELECT_MULTI] 模式下可见。"
msgid "Returns the column's title."
-msgstr "返回列的标题。"
+msgstr "返回该列的标题。"
+
+msgid "Returns column title base writing direction."
+msgstr "返回列标题的基础书写方向。"
+
+msgid "Returns column title language code."
+msgstr "返回列标题的语言代码。"
msgid "Returns the column's width in pixels."
msgstr "返回列的宽度,单位是像素。"
@@ -26580,6 +49213,18 @@ msgstr "使 [Tree] 跳转到指定的 [TreeItem]。"
msgid "Sets the title of a column."
msgstr "设置某一列的标题。"
+msgid "Sets column title base writing direction."
+msgstr "设置列标题的基础书写方向。"
+
+msgid ""
+"Sets language code of column title used for line-breaking and text shaping "
+"algorithms, if left empty current locale is used instead."
+msgstr ""
+"设置列标题的语言代码,用于断行和文本塑形算法,如果留空则使用当前区域设置。"
+
+msgid "Selects the specified [TreeItem] and column."
+msgstr "选中指定的 [TreeItem] 和列。"
+
msgid ""
"If [code]true[/code], the currently selected cell may be selected again."
msgstr "如果为 [code]true[/code],可以再次选择当前选定的单元。"
@@ -26728,6 +49373,9 @@ msgstr ""
msgid "[Color] of the guideline."
msgstr "参考线的 [Color] 颜色。"
+msgid "The default [Color] of the relationship lines."
+msgstr "关系线的默认 [Color]。"
+
msgid "Default text [Color] of the title button."
msgstr "标题按钮的默认文本 [Color] 颜色。"
@@ -26758,6 +49406,9 @@ msgid ""
"enabled for the item."
msgstr "项目开头的水平边距。在项目启用折叠功能时使用。"
+msgid "The default width of the relationship lines."
+msgstr "关系线的默认宽度。"
+
msgid ""
"The maximum distance between the mouse cursor and the control's border to "
"trigger border scrolling when dragging."
@@ -26775,54 +49426,82 @@ msgid "[Font] of the title button's text."
msgstr "标题按钮文本的 [Font] 字体。"
msgid "The arrow icon used when a foldable item is not collapsed."
-msgstr "当一个可折叠的项没有被折叠时,使用的箭头图标。"
+msgstr "箭头图标,可折叠项未折叠时使用。"
+
+msgid ""
+"The arrow icon used when a foldable item is collapsed (for left-to-right "
+"layouts)."
+msgstr "箭头图标,可折叠项已折叠时使用(用于从左至右布局)。"
+
+msgid ""
+"The arrow icon used when a foldable item is collapsed (for right-to-left "
+"layouts)."
+msgstr "箭头图标,可折叠项已折叠时使用(用于从右至左布局)。"
msgid ""
"The check icon to display when the [constant TreeItem.CELL_MODE_CHECK] mode "
"cell is checked."
msgstr ""
-"当 [constant TreeItem.CELL_MODE_CHECK] 模式单元格被选中时,显示的选中图标。"
+"复选图标,模式为 [constant TreeItem.CELL_MODE_CHECK] 的单元格处于勾选状态时显"
+"示。"
+
+msgid ""
+"The check icon to display when the [constant TreeItem.CELL_MODE_CHECK] mode "
+"cell is indeterminate."
+msgstr ""
+"复选图标,模式为 [constant TreeItem.CELL_MODE_CHECK] 的单元格处于中间状态时显"
+"示。"
msgid ""
"The arrow icon to display for the [constant TreeItem.CELL_MODE_RANGE] mode "
"cell."
-msgstr "为 [constant TreeItem.CELL_MODE_RANGE] 模式单元显示的箭头图标。"
+msgstr "箭头图标,模式为 [constant TreeItem.CELL_MODE_RANGE] 的单元格显示。"
msgid ""
"The check icon to display when the [constant TreeItem.CELL_MODE_CHECK] mode "
"cell is unchecked."
msgstr ""
-"当 [constant TreeItem.CELL_MODE_CHECK] 模式单元未被选中时,要显示的选中图标。"
+"复选图标,模式为 [constant TreeItem.CELL_MODE_CHECK] 的单元格处于未选状态时显"
+"示。"
msgid ""
"The updown arrow icon to display for the [constant TreeItem.CELL_MODE_RANGE] "
"mode cell."
-msgstr "为 [constant TreeItem.CELL_MODE_RANGE] 模式单元显示的向下箭头图标。"
+msgstr ""
+"上下箭头图标,模式为 [constant TreeItem.CELL_MODE_RANGE] 的单元格显示。"
msgid "[StyleBox] used when a button in the tree is pressed."
-msgstr "当树中的按钮被按下时使用的 [StyleBox]。"
+msgstr "树中的按钮处于按下状态时使用的 [StyleBox]。"
msgid "[StyleBox] used for the cursor, when the [Tree] is being focused."
-msgstr "当 [Tree] 获得焦点时,用于光标的 [StyleBox]。"
+msgstr "用作光标的 [StyleBox],该 [Tree] 处于聚焦状态时使用。"
msgid "[StyleBox] used for the cursor, when the [Tree] is not being focused."
-msgstr "当 [Tree] 未获聚焦时,用于光标的 [StyleBox]。"
+msgstr "用作光标的 [StyleBox],该 [Tree] 处于失焦状态时使用。"
msgid ""
"Default [StyleBox] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell."
-msgstr "[constant TreeItem.CELL_MODE_CUSTOM] 模式的单元格默认的 [StyleBox]。"
+msgstr "模式为 [constant TreeItem.CELL_MODE_RANGE] 的单元格的默认 [StyleBox]。"
msgid ""
"[StyleBox] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell when it's "
"hovered."
msgstr ""
-"当 [constant TreeItem.CELL_MODE_CUSTOM] 模式的单元格被悬停时的 [StyleBox]。"
+"模式为 [constant TreeItem.CELL_MODE_RANGE] 的单元格处于悬停状态时的 "
+"[StyleBox]。"
msgid ""
"[StyleBox] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell when it's "
"pressed."
msgstr ""
-"当 [constant TreeItem.CELL_MODE_CUSTOM] 模式的单元格被按下时的 [StyleBox]。"
+"模式为 [constant TreeItem.CELL_MODE_RANGE] 的单元格处于按下状态时的 "
+"[StyleBox]。"
+
+msgid "The focused style for the [Tree], drawn on top of everything."
+msgstr "该 [Tree] 的聚焦样式,绘制在所有东西之上。"
+
+msgid "The background style for the [Tree]."
+msgstr "该 [Tree] 的背景样式。"
msgid ""
"[StyleBox] for the selected items, used when the [Tree] is not being focused."
@@ -26864,9 +49543,24 @@ msgstr "取消选择指定列。"
msgid "Returns the column's cell mode."
msgstr "返回该列的单元格模式。"
+msgid "Returns the number of child items."
+msgstr "返回子项的数量。"
+
+msgid "Returns the custom background color of column [param column]."
+msgstr "返回列 [param column] 的自定义背景色。"
+
+msgid "Returns the custom color of column [param column]."
+msgstr "返回列 [param column] 的自定义颜色。"
+
msgid "Returns [code]true[/code] if [code]expand_right[/code] is set."
msgstr "如果设置了 [code]expand_right[/code],则返回 [code]true[/code]。"
+msgid "Returns the TreeItem's first child."
+msgstr "返回该 TreeItem 的第一个子项。"
+
+msgid "Returns the given column's icon [Texture2D]. Error if no icon is set."
+msgstr "返回给定列的图标 [Texture2D]。如果未设置图标,则会出错。"
+
msgid "Returns the column's icon's maximum width."
msgstr "返回列的图标的最大宽度。"
@@ -26908,6 +49602,27 @@ msgstr "返回给定列的文本。"
msgid "Returns the given column's text alignment."
msgstr "返回给定列的文本对齐方式。"
+msgid "Returns the given column's tooltip text."
+msgstr "设置给定列的工具提示文本。"
+
+msgid "Returns the [Tree] that owns this TreeItem."
+msgstr "返回拥有此 TreeItem 的 [Tree]。"
+
+msgid "Returns [code]true[/code] if the given [param column] is checked."
+msgstr "如果给定的列 [param column] 被勾选,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if the given [param column] is editable."
+msgstr "如果给定的列 [param column] 可编辑,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if the given [param column] is indeterminate."
+msgstr "如果给定的列 [param column] 未确定,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if the given [param column] is selectable."
+msgstr "如果给定的列 [param column] 可选,则返回 [code]true[/code]。"
+
+msgid "Returns [code]true[/code] if the given [param column] is selected."
+msgstr "如果给定的列 [param column] 被选中,则返回 [code]true[/code]。"
+
msgid ""
"Removes the given child [TreeItem] and all its children from the [Tree]. "
"Note that it doesn't free the item from memory, so it can be reused later. "
@@ -26917,6 +49632,9 @@ msgstr ""
"释放该项,所以之后可重新使用。要完全删除一个 [TreeItem],请使用 [method "
"Object.free]。"
+msgid "Selects the given [param column]."
+msgstr "选中 [param column] 指定的列。"
+
msgid ""
"Sets the given column's custom background color and whether to just use it "
"as an outline."
@@ -26925,6 +49643,16 @@ msgstr "设置给定列的自定义背景颜色,以及是否只将其作为一
msgid "Sets the given column's custom color."
msgstr "设置给定列的自定义颜色。"
+msgid "If [code]true[/code], the given [param column] is editable."
+msgstr "如果为 [code]true[/code],则给定的列 [param column] 可编辑。"
+
+msgid ""
+"If [code]true[/code], the given [param column] is expanded to the right."
+msgstr "如果为 [code]true[/code],则给定的列 [param column] 向右扩展。"
+
+msgid "Sets the given column's icon [Texture2D]."
+msgstr "设置给定列的图标 [Texture2D]。"
+
msgid "Sets the given column's icon's maximum width."
msgstr "设置给定列图标的最大宽度。"
@@ -26988,10 +49716,16 @@ msgid ""
"[Tweener]s."
msgstr "通过脚本进行通用动画的轻量级对象,使用 [Tweener]。"
+msgid "Aborts all tweening operations and invalidates the [Tween]."
+msgstr "中止所有补间操作,并使该 [Tween] 无效。"
+
msgid ""
"Pauses the tweening. The animation can be resumed by using [method play]."
msgstr "暂停补间。可以使用 [method play] 恢复动画。"
+msgid "Resumes a paused or stopped [Tween]."
+msgstr "恢复已暂停或已停止的 [Tween]。"
+
msgid ""
"Scales the speed of tweening. This affects all [Tweener]s and their delays."
msgstr "补间的速度缩放。影响所有 [Tweener] 及其延迟。"
@@ -27004,6 +49738,26 @@ msgstr ""
"完成一次循环时触发(见 [method set_loops]),会提供该循环的索引号。这个信号不"
"会在最后一次循环后触发,这种情况请使用 [signal finished] 代替。"
+msgid "The [Tween] updates during the physics frame."
+msgstr "该 [Tween] 在物理帧期间更新。"
+
+msgid "The [Tween] updates during the idle frame."
+msgstr "该 [Tween] 在空闲帧期间更新。"
+
+msgid ""
+"If the [Tween] has a bound node, it will process when that node can process "
+"(see [member Node.process_mode]). Otherwise it's the same as [constant "
+"TWEEN_PAUSE_STOP]."
+msgstr ""
+"如果该 [Tween] 绑定了节点,它将在该节点可以处理时进行处理(见 [member Node."
+"process_mode])。否则与 [constant TWEEN_PAUSE_STOP] 相同。"
+
+msgid "If [SceneTree] is paused, the [Tween] will also pause."
+msgstr "如果 [SceneTree] 被暂停,则该 [Tween] 也会暂停。"
+
+msgid "The [Tween] will process regardless of whether [SceneTree] is paused."
+msgstr "无论 [SceneTree] 是否被暂停,该 [Tween] 都会处理。"
+
msgid "The animation is interpolated linearly."
msgstr "动画是线性插值的。"
@@ -27012,20 +49766,20 @@ msgstr "动画使用正弦函数进行插值。"
msgid ""
"The animation is interpolated with a quintic (to the power of 5) function."
-msgstr "动画是用五次方,即 5 的幂函数进行插值的。"
+msgstr "动画使用五次(5 次方)函数进行插值。"
msgid ""
"The animation is interpolated with a quartic (to the power of 4) function."
-msgstr "动画是用一个四次方,即 4 的幂函数插值的。"
+msgstr "动画使用四次(4 次方)函数进行插值。"
msgid ""
"The animation is interpolated with a quadratic (to the power of 2) function."
-msgstr "动画是用二次方,即 2 的幂函数插值的。"
+msgstr "动画使用二次(2 次方)函数进行插值。"
msgid ""
"The animation is interpolated with an exponential (to the power of x) "
"function."
-msgstr "动画是用一个指数,即 x 的幂函数插值的。"
+msgstr "动画使用指数(x 次方)函数进行插值。"
msgid ""
"The animation is interpolated with elasticity, wiggling around the edges."
@@ -27033,7 +49787,7 @@ msgstr "动画弹性插值,在边缘摆动。"
msgid ""
"The animation is interpolated with a cubic (to the power of 3) function."
-msgstr "动画是用一个立方,即 3 的幂函数插值的。"
+msgstr "动画使用三次(3 次方)函数进行插值。"
msgid "The animation is interpolated with a function using square roots."
msgstr "动画使用平方根的函数进行插值。"
@@ -27060,6 +49814,17 @@ msgid ""
"interpolation is fastest at both ends."
msgstr "[constant EASE_IN] 和 [constant EASE_OUT] 的组合。两端的插值最快。"
+msgid "Abstract class for all Tweeners used by [Tween]."
+msgstr "[Tween] 使用的所有 Tweener(补间器)的抽象类。"
+
+msgid ""
+"Tweeners are objects that perform a specific animating task, e.g. "
+"interpolating a property or calling a method at a given time. A [Tweener] "
+"can't be created manually, you need to use a dedicated method from [Tween]."
+msgstr ""
+"Tweener 是执行特定动画化的任务的对象,例如,在给定的时间,插值一个属性或调用"
+"一个方法。[Tweener] 不能被手动创建,您需要使用 [Tween] 中的专用方法。"
+
msgid "Emitted when the [Tweener] has just finished its job."
msgstr "当该 [Tweener] 刚刚完成其任务时触发。"
@@ -27067,6 +49832,257 @@ msgid "Helper class to implement a UDP server."
msgstr "用于实现 UDP 服务器的辅助类。"
msgid ""
+"A simple server that opens a UDP socket and returns connected "
+"[PacketPeerUDP] upon receiving new packets. See also [method PacketPeerUDP."
+"connect_to_host].\n"
+"After starting the server ([method listen]), you will need to [method poll] "
+"it at regular intervals (e.g. inside [method Node._process]) for it to "
+"process new packets, delivering them to the appropriate [PacketPeerUDP], and "
+"taking new connections.\n"
+"Below a small example of how it can be used:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# server_node.gd\n"
+"class_name ServerNode\n"
+"extends Node\n"
+"\n"
+"var server := UDPServer.new()\n"
+"var peers = []\n"
+"\n"
+"func _ready():\n"
+" server.listen(4242)\n"
+"\n"
+"func _process(delta):\n"
+" server.poll() # Important!\n"
+" if server.is_connection_available():\n"
+" var peer : PacketPeerUDP = server.take_connection()\n"
+" var packet = peer.get_packet()\n"
+" print(\"Accepted peer: %s:%s\" % [peer.get_packet_ip(), peer."
+"get_packet_port()])\n"
+" print(\"Received data: %s\" % [packet.get_string_from_utf8()])\n"
+" # Reply so it knows we received the message.\n"
+" peer.put_packet(packet)\n"
+" # Keep a reference so we can keep contacting the remote peer.\n"
+" peers.append(peer)\n"
+"\n"
+" for i in range(0, peers.size()):\n"
+" pass # Do something with the connected peers.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// ServerNode.cs\n"
+"using Godot;\n"
+"using System.Collections.Generic;\n"
+"\n"
+"public partial class ServerNode : Node\n"
+"{\n"
+" private UdpServer _server = new UdpServer();\n"
+" private List<PacketPeerUdp> _peers = new List<PacketPeerUdp>();\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" _server.Listen(4242);\n"
+" }\n"
+"\n"
+" public override void _Process(double delta)\n"
+" {\n"
+" _server.Poll(); // Important!\n"
+" if (_server.IsConnectionAvailable())\n"
+" {\n"
+" PacketPeerUdp peer = _server.TakeConnection();\n"
+" byte[] packet = peer.GetPacket();\n"
+" GD.Print($\"Accepted Peer: {peer.GetPacketIP()}:{peer."
+"GetPacketPort()}\");\n"
+" GD.Print($\"Received Data: {packet.GetStringFromUtf8()}\");\n"
+" // Reply so it knows we received the message.\n"
+" peer.PutPacket(packet);\n"
+" // Keep a reference so we can keep contacting the remote peer.\n"
+" _peers.Add(peer);\n"
+" }\n"
+" foreach (var peer in _peers)\n"
+" {\n"
+" // Do something with the peers.\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# client_node.gd\n"
+"class_name ClientNode\n"
+"extends Node\n"
+"\n"
+"var udp := PacketPeerUDP.new()\n"
+"var connected = false\n"
+"\n"
+"func _ready():\n"
+" udp.connect_to_host(\"127.0.0.1\", 4242)\n"
+"\n"
+"func _process(delta):\n"
+" if !connected:\n"
+" # Try to contact server\n"
+" udp.put_packet(\"The answer is... 42!\".to_utf8())\n"
+" if udp.get_available_packet_count() > 0:\n"
+" print(\"Connected: %s\" % udp.get_packet().get_string_from_utf8())\n"
+" connected = true\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// ClientNode.cs\n"
+"using Godot;\n"
+"\n"
+"public partial class ClientNode : Node\n"
+"{\n"
+" private PacketPeerUdp _udp = new PacketPeerUdp();\n"
+" private bool _connected = false;\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n"
+" }\n"
+"\n"
+" public override void _Process(double delta)\n"
+" {\n"
+" if (!_connected)\n"
+" {\n"
+" // Try to contact server\n"
+" _udp.PutPacket(\"The Answer Is..42!\".ToUtf8());\n"
+" }\n"
+" if (_udp.GetAvailablePacketCount() > 0)\n"
+" {\n"
+" GD.Print($\"Connected: {_udp.GetPacket()."
+"GetStringFromUtf8()}\");\n"
+" _connected = true;\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+msgstr ""
+"一个简单的服务,它打开一个 UDP 套接字,并在接收到新数据包时,返回已连接的 "
+"[PacketPeerUDP]。另见 [method PacketPeerUDP.connect_to_host]。\n"
+"在启动服务([method listen])后,您需要定期(例如在 [method Node._process] 内"
+"部)对其 [method poll],以处理新的数据包,将数据包传递给适当的 "
+"[PacketPeerUDP],并且接受新的连接。\n"
+"下面是一个如何使用它的小例子:\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# server_node.gd\n"
+"class_name ServerNode\n"
+"extends Node\n"
+"\n"
+"var server := UDPServer.new()\n"
+"var peers = []\n"
+"\n"
+"func _ready():\n"
+" server.listen(4242)\n"
+"\n"
+"func _process(delta):\n"
+" server.poll() # 重要!\n"
+" if server.is_connection_available():\n"
+" var peer : PacketPeerUDP = server.take_connection()\n"
+" var packet = peer.get_packet()\n"
+" print(\"Accepted peer: %s:%s\" % [peer.get_packet_ip(), peer."
+"get_packet_port()])\n"
+" print(\"Received data: %s\" % [packet.get_string_from_utf8()])\n"
+" # 回复,以便它知道我们收到了消息。\n"
+" peer.put_packet(packet)\n"
+" # 保留一个引用,以便我们可以继续联系远程对等体。\n"
+" peers.append(peer)\n"
+"\n"
+" for i in range(0, peers.size()):\n"
+" pass # 与已连接的对等体,一起做一些事情。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// ServerNode.cs\n"
+"using Godot;\n"
+"using System.Collections.Generic;\n"
+"\n"
+"public partial class ServerNode : Node\n"
+"{\n"
+" private UdpServer _server = new UdpServer();\n"
+" private List<PacketPeerUdp> _peers = new List<PacketPeerUdp>();\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" _server.Listen(4242);\n"
+" }\n"
+"\n"
+" public override void _Process(double delta)\n"
+" {\n"
+" _server.Poll(); // 重要!\n"
+" if (_server.IsConnectionAvailable())\n"
+" {\n"
+" PacketPeerUdp peer = _server.TakeConnection();\n"
+" byte[] packet = peer.GetPacket();\n"
+" GD.Print($\"Accepted Peer: {peer.GetPacketIP()}:{peer."
+"GetPacketPort()}\");\n"
+" GD.Print($\"Received Data: {packet.GetStringFromUtf8()}\");\n"
+" // 回复,以便它知道我们收到了消息。\n"
+" peer.PutPacket(packet);\n"
+" // 保留一个引用,以便我们可以继续联系远程对等体。\n"
+" _peers.Add(peer);\n"
+" }\n"
+" foreach (var peer in _peers)\n"
+" {\n"
+" // 与对等体,一起做一些事情。\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# client_node.gd\n"
+"class_name ClientNode\n"
+"extends Node\n"
+"\n"
+"var udp := PacketPeerUDP.new()\n"
+"var connected = false\n"
+"\n"
+"func _ready():\n"
+" udp.connect_to_host(\"127.0.0.1\", 4242)\n"
+"\n"
+"func _process(delta):\n"
+" if !connected:\n"
+" # 尝试联系服务器\n"
+" udp.put_packet(\"The answer is... 42!\".to_utf8())\n"
+" if udp.get_available_packet_count() > 0:\n"
+" print(\"Connected: %s\" % udp.get_packet().get_string_from_utf8())\n"
+" connected = true\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// ClientNode.cs\n"
+"using Godot;\n"
+"\n"
+"public partial class ClientNode : Node\n"
+"{\n"
+" private PacketPeerUdp _udp = new PacketPeerUdp();\n"
+" private bool _connected = false;\n"
+"\n"
+" public override void _Ready()\n"
+" {\n"
+" _udp.ConnectToHost(\"127.0.0.1\", 4242);\n"
+" }\n"
+"\n"
+" public override void _Process(double delta)\n"
+" {\n"
+" if (!_connected)\n"
+" {\n"
+" // 尝试联系服务器\n"
+" _udp.PutPacket(\"The Answer Is..42!\".ToUtf8());\n"
+" }\n"
+" if (_udp.GetAvailablePacketCount() > 0)\n"
+" {\n"
+" GD.Print($\"Connected: {_udp.GetPacket()."
+"GetStringFromUtf8()}\");\n"
+" _connected = true;\n"
+" }\n"
+" }\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]"
+
+msgid ""
"Returns [code]true[/code] if a packet with a new address/port combination "
"was received on the socket."
msgstr ""
@@ -27122,6 +50138,22 @@ msgstr ""
msgid "Helper to manage undo/redo operations in the editor or custom tools."
msgstr "在编辑器或自定义工具中管理撤销及重做操作的辅助工具。"
+msgid "Gets the action name from its index."
+msgstr "根据索引获取动作名称。"
+
+msgid "Gets the index of the current action."
+msgstr "获取当前动作的索引。"
+
+msgid ""
+"Gets the name of the current action, equivalent to "
+"[code]get_action_name(get_current_action())[/code]."
+msgstr ""
+"获取当前动作的名称,等价于 [code]get_action_name(get_current_action())[/"
+"code]。"
+
+msgid "Returns how many elements are in the history."
+msgstr "返回历史中有多少元素。"
+
msgid ""
"Gets the version. Every time a new action is committed, the [UndoRedo]'s "
"version number is increased automatically.\n"
@@ -27430,6 +50462,222 @@ msgstr "内存分配错误。"
msgid "The most important data type in Godot."
msgstr "Godot 中最重要的数据类型。"
+msgid ""
+"In computer programming, a Variant class is a class that is designed to "
+"store a variety of other types. Dynamic programming languages like PHP, Lua, "
+"JavaScript and GDScript like to use them to store variables' data on the "
+"backend. With these Variants, properties are able to change value types "
+"freely.\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var foo = 2 # foo is dynamically an integer\n"
+"foo = \"Now foo is a string!\"\n"
+"foo = RefCounted.new() # foo is an Object\n"
+"var bar: int = 2 # bar is a statically typed integer.\n"
+"# bar = \"Uh oh! I can't make static variables become a different type!\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// C# is statically typed. Once a variable has a type it cannot be changed. "
+"You can use the `var` keyword to let the compiler infer the type "
+"automatically.\n"
+"var foo = 2; // Foo is a 32-bit integer (int). Be cautious, integers in "
+"GDScript are 64-bit and the direct C# equivalent is `long`.\n"
+"// foo = \"foo was and will always be an integer. It cannot be turned into a "
+"string!\";\n"
+"var boo = \"Boo is a string!\";\n"
+"var ref = new RefCounted(); // var is especially useful when used together "
+"with a constructor.\n"
+"\n"
+"// Godot also provides a Variant type that works like an union of all the "
+"Variant-compatible types.\n"
+"Variant fooVar = 2; // fooVar is dynamically an integer (stored as a `long` "
+"in the Variant type).\n"
+"fooVar = \"Now fooVar is a string!\";\n"
+"fooVar = new RefCounted(); // fooVar is a GodotObject.\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Godot tracks all scripting API variables within Variants. Without even "
+"realizing it, you use Variants all the time. When a particular language "
+"enforces its own rules for keeping data typed, then that language is "
+"applying its own custom logic over the base Variant scripting API.\n"
+"- GDScript automatically wrap values in them. It keeps all data in plain "
+"Variants by default and then optionally enforces custom static typing rules "
+"on variable types.\n"
+"- C# is statically typed, but uses its own implementation of the "
+"[code]Variant[/code] type in place of Godot's Variant class when it needs to "
+"represent a dynamic value. A [code]Variant[/code] can be assigned any "
+"compatible type implicitly but converting requires an explicit cast.\n"
+"The global [method @GlobalScope.typeof] function returns the enumerated "
+"value of the Variant type stored in the current variable (see [enum Variant."
+"Type]).\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var foo = 2\n"
+"match typeof(foo):\n"
+" TYPE_NIL:\n"
+" print(\"foo is null\")\n"
+" TYPE_INTEGER:\n"
+" print(\"foo is an integer\")\n"
+" TYPE_OBJECT:\n"
+" # Note that Objects are their own special category.\n"
+" # To get the name of the underlying Object type, you need the "
+"`get_class()` method.\n"
+" print(\"foo is a(n) %s\" % foo.get_class()) # inject the class name "
+"into a formatted string.\n"
+" # Note also that there is not yet any way to get a script's "
+"`class_name` string easily.\n"
+" # To fetch that value, you can use [member ProjectSettings."
+"get_global_class_list].\n"
+" # Open your project.godot file to see it up close.\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"Variant foo = 2;\n"
+"switch (foo.VariantType)\n"
+"{\n"
+" case Variant.Type.Nil:\n"
+" GD.Print(\"foo is null\");\n"
+" break;\n"
+" case Variant.Type.Int:\n"
+" GD.Print(\"foo is an integer\");\n"
+" break;\n"
+" case Variant.Type.Object:\n"
+" // Note that Objects are their own special category.\n"
+" // You can convert a Variant to a GodotObject and use reflection to "
+"get its name.\n"
+" GD.Print($\"foo is a(n) {foo.AsGodotObject().GetType().Name}\");\n"
+" break;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"A Variant takes up only 20 bytes and can store almost any engine datatype "
+"inside of it. Variants are rarely used to hold information for long periods "
+"of time. Instead, they are used mainly for communication, editing, "
+"serialization and moving data around.\n"
+"Godot has specifically invested in making its Variant class as flexible as "
+"possible; so much so that it is used for a multitude of operations to "
+"facilitate communication between all of Godot's systems.\n"
+"A Variant:\n"
+"- Can store almost any datatype.\n"
+"- Can perform operations between many variants. GDScript uses Variant as its "
+"atomic/native datatype.\n"
+"- Can be hashed, so it can be compared quickly to other variants.\n"
+"- Can be used to convert safely between datatypes.\n"
+"- Can be used to abstract calling methods and their arguments. Godot exports "
+"all its functions through variants.\n"
+"- Can be used to defer calls or move data between threads.\n"
+"- Can be serialized as binary and stored to disk, or transferred via "
+"network.\n"
+"- Can be serialized to text and use it for printing values and editable "
+"settings.\n"
+"- Can work as an exported property, so the editor can edit it universally.\n"
+"- Can be used for dictionaries, arrays, parsers, etc.\n"
+"[b]Containers (Array and Dictionary):[/b] Both are implemented using "
+"variants. A [Dictionary] can match any datatype used as key to any other "
+"datatype. An [Array] just holds an array of Variants. Of course, a Variant "
+"can also hold a [Dictionary] and an [Array] inside, making it even more "
+"flexible.\n"
+"Modifications to a container will modify all references to it. A [Mutex] "
+"should be created to lock it if multi-threaded access is desired."
+msgstr ""
+"在计算机编程中,Variant(变体)类是用来存储各种其他类型的类。像 PHP、 Lua、 "
+"JavaScript 和 GDScript 这样的动态编程语言喜欢用它们在后端存储变量数据。使用 "
+"Variant,属性可以自由地更改值类型。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var foo = 2 # foo 是动态类型的整数\n"
+"foo = \"现在 foo 是字符串!\"\n"
+"foo = RefCounted.new() # foo 是 Object\n"
+"var bar: int = 2 # bar 是静态类型的整数。\n"
+"# bar = \"诶呀!我没法让静态类型的变量变成其他类型!\"\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// C# 是静态类型的。变量设置类型后无法改变。你可以用 `var` 关键字让编译器自动"
+"推断类型。\n"
+"var foo = 2; // foo 是 32 位整数(int)。请注意,GDScript 中的整数是 64 位"
+"的,在 C# 中与之等价的是 `long`。\n"
+"// foo = \"foo 过去、现在、将来都是整数,没法变成字符串!\";\n"
+"var boo = \"boo 是字符串!\";\n"
+"var ref = new RefCounted(); // var 非常适合与构造函数配合使用。\n"
+"\n"
+"// Godot 也提供了 Variant 类,类似于所有与 Variant 兼容类型的 union。\n"
+"Variant fooVar = 2; // fooVar 是动态类型的整数(在 Variant 类型中存储为 "
+"`long`)。\n"
+"fooVar = \"现在 fooVar 是字符串!\";\n"
+"fooVar = new RefCounted(); // fooVar 是 GodotObject。\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Godot 在 Variant 中跟踪所有脚本 API 变量。你一直在无意中使用 Variant。某种语"
+"言为保持数据类型而执行自己的规则时,那么就是该语言在基础 Variant 脚本 API 上"
+"应用了自定义的逻辑。\n"
+"- GDScript 会自动将数值进行包装。默认情况下会将所有数据保存在普通的 Variant "
+"中,也可以选择对变量类型执行自定义的静态类型规则。\n"
+"- C# 是静态类型的,但是当它需要表示动态值时,就会在需要 Godot 的 Variant 类的"
+"地方使用它自己实现的 [code]Variant[/code] 类型。[code]Variant[/code] 可以用任"
+"意兼容类型隐式赋值,但反之则需要显式类型转换。\n"
+"全局函数 [method @GlobalScope.typeof] 返回的是枚举类型的值,表示当前变量中所"
+"存储的 Variant 类型(见 [enum Variant.Type])。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"var foo = 2\n"
+"match typeof(foo):\n"
+" TYPE_NIL:\n"
+" print(\"foo 为 null\")\n"
+" TYPE_INTEGER:\n"
+" print(\"foo 为整数\")\n"
+" TYPE_OBJECT:\n"
+" # 请注意,Object 有自己的特殊分类。\n"
+" # 要获取实际的 Object 类型名称,你需要使用 `get_class()` 方法。\n"
+" print(\"foo is a(n) %s\" % foo.get_class()) # 将类名注入格式字符串"
+"中。\n"
+" # 另外请注意,目前没有比较方便的方法来获取脚本的 `class_name` 字符"
+"串。\n"
+" # 如果要获取,你可以使用 [member ProjectSettings."
+"get_global_class_list]。\n"
+" # 请打开 project.godot 文件查看。\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"Variant foo = 2;\n"
+"switch (foo.VariantType)\n"
+"{\n"
+" case Variant.Type.Nil:\n"
+" GD.Print(\"foo 为 null\");\n"
+" break;\n"
+" case Variant.Type.Int:\n"
+" GD.Print(\"foo 为整数\");\n"
+" break;\n"
+" case Variant.Type.Object:\n"
+" // 请注意,Object 有自己的特殊分类。\n"
+" // 可以将 Variant 转换为 GodotObject,通过反射获取名称。\n"
+" GD.Print($\"foo is a(n) {foo.AsGodotObject().GetType().Name}\");\n"
+" break;\n"
+"}\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"Variant 只占 20 个字节,可以在其中存储几乎所有的引擎数据类型。Variant 很少用"
+"于长期保存信息,主要还是用于通信、编辑、序列化和移动数据。\n"
+"Godot 特别致力于使其 Variant 类尽可能灵活;以使它可被用于各种操作,促进 "
+"Godot 所有系统之间的联系。\n"
+"Variant:\n"
+"- 可以存储几乎任何数据类型。\n"
+"- 可以在许多 Variant 之间执行操作。GDScript 使用 Variant 作为其原子/原生数据"
+"类型。\n"
+"- 可以被哈希,所以可以快速与其他 Variant 进行比较。\n"
+"- 可以用于数据类型之间的安全转换。\n"
+"- 可以用来抽象调用方法和它们的参数。Godot 通过 Variant 导出所有函数。\n"
+"- 可以用来推迟调用或在线程之间移动数据。\n"
+"- 可以序列化为二进制并存储到磁盘,或通过网络传输。\n"
+"- 可以序列化为文本,用于打印数值和可编辑设置项。\n"
+"- 可以作为一个导出的属性工作,所以编辑器可以通用地进行编辑。\n"
+"- 可以用于字典、数组、解析器等。\n"
+"[b]容器(数组和字典):[/b]它们都是用 Variant 来实现的。[Dictionary] 可以将任"
+"何作为键的数据类型匹配到到任何其他数据类型。[Array] 就是持有 Variant 的数组。"
+"当然,Variant 也可以在里面再容纳 [Dictionary] 和 [Array],使其更加灵活。\n"
+"对容器的修改会修改所有对它的引用。如果需要多线程访问,应该创建 [Mutex] 来对它"
+"进行锁定。"
+
+msgid "Variant class introduction"
+msgstr "Variant 类简介"
+
msgid "Vertical box container."
msgstr "垂直盒式容器。"
@@ -27439,12 +50687,21 @@ msgstr "垂直盒式容器。请参阅 [BoxContainer]。"
msgid "The vertical space between the [VBoxContainer]'s elements."
msgstr "[VBoxContainer] 的元素之间的垂直空间。"
+msgid "Vector used for 2D math using floating point coordinates."
+msgstr "浮点数坐标向量,用于 2D 数学。"
+
msgid "3Blue1Brown Essence of Linear Algebra"
msgstr "3Blue1Brown《线性代数的本质》"
msgid "Constructs a [Vector2] as a copy of the given [Vector2]."
msgstr "构造给定 [Vector2] 的副本。"
+msgid "Constructs a new [Vector2] from [Vector2i]."
+msgstr "从 [Vector2i] 构造新的 [Vector2]。"
+
+msgid "Constructs a new [Vector2] from the given [param x] and [param y]."
+msgstr "从给定的 [param x] 和 [param y] 构造新的 [Vector2]。"
+
msgid ""
"Returns a new vector with all components in absolute values (i.e. positive)."
msgstr "返回一个新的向量,其所有分量都是绝对值,即正值。"
@@ -27474,6 +50731,13 @@ msgid ""
msgstr "返回一个新的向量,所有的向量都被四舍五入,向负无穷大。"
msgid ""
+"Returns [code]true[/code] if this vector is finite, by calling [method "
+"@GlobalScope.is_finite] on each component."
+msgstr ""
+"如果该向量无穷,则返回 [code]true[/code],判断方法是对每个分量调用 [method "
+"@GlobalScope.is_finite]。"
+
+msgid ""
"Returns [code]true[/code] if the vector is normalized, [code]false[/code] "
"otherwise."
msgstr ""
@@ -27512,6 +50776,18 @@ msgid ""
"[1][/code]."
msgstr "向量的 Y 分量。也可以通过使用索引位置 [code][1][/code] 访问。"
+msgid ""
+"Enumerated value for the X axis. Returned by [method max_axis_index] and "
+"[method min_axis_index]."
+msgstr ""
+"X 轴的枚举值。由 [method max_axis_index] 和 [method min_axis_index] 返回。"
+
+msgid ""
+"Enumerated value for the Y axis. Returned by [method max_axis_index] and "
+"[method min_axis_index]."
+msgstr ""
+"Y 轴的枚举值。由 [method max_axis_index] 和 [method min_axis_index] 返回。"
+
msgid "Zero vector, a vector with all components set to [code]0[/code]."
msgstr "零向量,所有分量都设置为 [code]0[/code] 的向量。"
@@ -27535,12 +50811,170 @@ msgstr "上单位向量。在 2D 中 Y 是向下的,所以这个向量指向 -
msgid "Down unit vector. Y is down in 2D, so this vector points +Y."
msgstr "下单位向量。在 2D 中 Y 是向下的,所以这个向量指向 +Y。"
+msgid ""
+"Multiplies each component of the [Vector2] by the components of the given "
+"[Vector2].\n"
+"[codeblock]\n"
+"print(Vector2(10, 20) * Vector2(3, 4)) # Prints \"(30, 80)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2] 的每个分量乘以给定 [Vector2] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector2(10, 20) * Vector2(3, 4)) # 输出 \"(30, 80)\"\n"
+"[/codeblock]"
+
+msgid "Multiplies each component of the [Vector2] by the given [float]."
+msgstr "将该 [Vector2] 的每个分量乘以给定的 [float]。"
+
+msgid "Multiplies each component of the [Vector2] by the given [int]."
+msgstr "将该 [Vector2] 的每个分量乘以给定的 [int]。"
+
+msgid ""
+"Adds each component of the [Vector2] by the components of the given "
+"[Vector2].\n"
+"[codeblock]\n"
+"print(Vector2(10, 20) + Vector2(3, 4)) # Prints \"(13, 24)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2] 的每个分量加上给定 [Vector2] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector2(10, 20) + Vector2(3, 4)) # 输出 \"(13, 24)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Subtracts each component of the [Vector2] by the components of the given "
+"[Vector2].\n"
+"[codeblock]\n"
+"print(Vector2(10, 20) - Vector2(3, 4)) # Prints \"(7, 16)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2] 的每个分量减去给定 [Vector2] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector2(10, 20) - Vector2(3, 4)) # 输出 \"(7, 16)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Divides each component of the [Vector2] by the components of the given "
+"[Vector2].\n"
+"[codeblock]\n"
+"print(Vector2(10, 20) / Vector2(2, 5)) # Prints \"(5, 4)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2] 的每个分量除以给定 [Vector2] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector2(10, 20) / Vector2(2, 5)) # 输出 \"(5, 4)\"\n"
+"[/codeblock]"
+
+msgid "Divides each component of the [Vector2] by the given [float]."
+msgstr "将该 [Vector2] 的每个分量除以给定的 [float]。"
+
+msgid "Divides each component of the [Vector2] by the given [int]."
+msgstr "将该 [Vector2] 的每个分量除以给定的 [int]。"
+
+msgid "Vector used for 2D math using integer coordinates."
+msgstr "整数坐标向量,用于 2D 数学。"
+
msgid "Constructs a [Vector2i] as a copy of the given [Vector2i]."
msgstr "构造给定 [Vector2i] 的副本。"
+msgid ""
+"Constructs a new [Vector2i] from [Vector2]. The floating point coordinates "
+"will be truncated."
+msgstr "从 [Vector2] 构造新的 [Vector2i]。浮点数坐标将被截断。"
+
+msgid "Constructs a new [Vector2i] from the given [param x] and [param y]."
+msgstr "从给定的 [param x] 和 [param y] 构造新的 [Vector2i]。"
+
+msgid "Returns [code]true[/code] if the vectors are not equal."
+msgstr "如果向量不相等,则返回 [code]true[/code]。"
+
+msgid ""
+"Multiplies each component of the [Vector2i] by the components of the given "
+"[Vector2i].\n"
+"[codeblock]\n"
+"print(Vector2i(10, 20) * Vector2i(3, 4)) # Prints \"(30, 80)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2i] 的每个分量乘以给定 [Vector2i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector2i(10, 20) * Vector2i(3, 4)) # 输出 \"(30, 80)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Multiplies each component of the [Vector2i] by the given [float]. Returns a "
+"[Vector2].\n"
+"[codeblock]\n"
+"print(Vector2i(10, 15) * 0.9) # Prints \"(9, 13.5)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2i] 的每个分量乘以给定的 [float]。返回的是 [Vector2]。\n"
+"[codeblock]\n"
+"print(Vector2i(10, 15) * 0.9) # 输出 \"(9, 13.5)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Adds each component of the [Vector2i] by the components of the given "
+"[Vector2i].\n"
+"[codeblock]\n"
+"print(Vector2i(10, 20) + Vector2i(3, 4)) # Prints \"(13, 24)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2i] 的每个分量加上给定 [Vector2i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector2i(10, 20) + Vector2i(3, 4)) # 输出 \"(13, 24)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Subtracts each component of the [Vector2i] by the components of the given "
+"[Vector2i].\n"
+"[codeblock]\n"
+"print(Vector2i(10, 20) - Vector2i(3, 4)) # Prints \"(7, 16)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2i] 的每个分量减去给定 [Vector2i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector2i(10, 20) - Vector2i(3, 4)) # 输出 \"(7, 16)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Divides each component of the [Vector2i] by the components of the given "
+"[Vector2i].\n"
+"[codeblock]\n"
+"print(Vector2i(10, 20) / Vector2i(2, 5)) # Prints \"(5, 4)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2i] 的每个分量除以给定 [Vector2i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector2i(10, 20) / Vector2i(2, 5)) # 输出 \"(5, 4)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Divides each component of the [Vector2i] by the given [float]. Returns a "
+"[Vector2].\n"
+"[codeblock]\n"
+"print(Vector2i(10, 20) / 2.9) # Prints \"(5, 10)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector2i] 的每个分量除以给定的 [float]。返回的是 [Vector2]。\n"
+"[codeblock]\n"
+"print(Vector2i(10, 20) / 2.9) # 输出 \"(5, 10)\"\n"
+"[/codeblock]"
+
+msgid "Divides each component of the [Vector2i] by the given [int]."
+msgstr "将该 [Vector2i] 的每个分量除以给定的 [int]。"
+
+msgid "Vector used for 3D math using floating point coordinates."
+msgstr "浮点数坐标向量,用于 3D 数学。"
+
msgid "Constructs a [Vector3] as a copy of the given [Vector3]."
msgstr "构造给定 [Vector3] 的副本。"
+msgid "Constructs a new [Vector3] from [Vector3i]."
+msgstr "从 [Vector3i] 构造新的 [Vector3]。"
+
+msgid "Returns a [Vector3] with the given components."
+msgstr "返回具有给定分量的 [Vector3]。"
+
msgid "Returns the unsigned minimum angle to the given vector, in radians."
msgstr "返回与给定向量的无符号最小角度,单位为弧度。"
@@ -27554,6 +50988,12 @@ msgid ""
msgstr "向量的 Z 分量。也可以通过使用索引位置 [code][2][/code] 访问。"
msgid ""
+"Enumerated value for the Z axis. Returned by [method max_axis_index] and "
+"[method min_axis_index]."
+msgstr ""
+"Z 轴的枚举值。由 [method max_axis_index] 和 [method min_axis_index] 返回。"
+
+msgid ""
"Left unit vector. Represents the local direction of left, and the global "
"direction of west."
msgstr "左单位向量。代表局部的左方向,全局的西方向。"
@@ -27579,15 +51019,352 @@ msgid ""
"direction of south."
msgstr "后单位向量。代表局部的后方向,全局的南方向。"
+msgid ""
+"Inversely transforms (multiplies) the [Vector3] by the given [Basis] matrix."
+msgstr "使用给定的 [Basis] 矩阵逆变换(乘)该 [Vector3]。"
+
+msgid ""
+"Multiplies each component of the [Vector3] by the components of the given "
+"[Vector3].\n"
+"[codeblock]\n"
+"print(Vector3(10, 20, 30) * Vector3(3, 4, 5)) # Prints \"(30, 80, 150)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3] 的每个分量乘以给定 [Vector3] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector3(10, 20, 30) * Vector3(3, 4, 5)) # 输出 \"(30, 80, 150)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Adds each component of the [Vector3] by the components of the given "
+"[Vector3].\n"
+"[codeblock]\n"
+"print(Vector3(10, 20, 30) + Vector3(3, 4, 5)) # Prints \"(13, 24, 35)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3] 的每个分量加上给定 [Vector3] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector3(10, 20, 30) + Vector3(3, 4, 5)) # 输出 \"(13, 24, 35)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Subtracts each component of the [Vector3] by the components of the given "
+"[Vector3].\n"
+"[codeblock]\n"
+"print(Vector3(10, 20, 30) - Vector3(3, 4, 5)) # Prints \"(7, 16, 25)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3] 的每个分量减去给定 [Vector3] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector3(10, 20, 30) - Vector3(3, 4, 5)) # 输出 \"(7, 16, 25)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Divides each component of the [Vector3] by the components of the given "
+"[Vector3].\n"
+"[codeblock]\n"
+"print(Vector3(10, 20, 30) / Vector3(2, 5, 3)) # Prints \"(5, 4, 10)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3] 的每个分量除以给定 [Vector3] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector3(10, 20, 30) / Vector3(2, 5, 3)) # 输出 \"(5, 4, 10)\"\n"
+"[/codeblock]"
+
+msgid "Divides each component of the [Vector3] by the given [float]."
+msgstr "将该 [Vector3] 的每个分量除以给定的 [float]。"
+
+msgid "Divides each component of the [Vector3] by the given [int]."
+msgstr "将该 [Vector3] 的每个分量除以给定的 [int]。"
+
+msgid "Vector used for 3D math using integer coordinates."
+msgstr "整数坐标向量,用于 3D 数学。"
+
msgid "Constructs a [Vector3i] as a copy of the given [Vector3i]."
msgstr "构造给定 [Vector3i] 的副本。"
+msgid ""
+"Constructs a new [Vector3i] from [Vector3]. The floating point coordinates "
+"will be truncated."
+msgstr "从 [Vector3] 构造新的 [Vector3i]。浮点数坐标将被截断。"
+
+msgid "Returns a [Vector3i] with the given components."
+msgstr "返回具有给定分量的 [Vector3i]。"
+
+msgid ""
+"Multiplies each component of the [Vector3i] by the components of the given "
+"[Vector3i].\n"
+"[codeblock]\n"
+"print(Vector3i(10, 20, 30) * Vector3i(3, 4, 5)) # Prints \"(30, 80, 150)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3i] 的每个分量乘以给定 [Vector3i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector3i(10, 20, 30) * Vector3i(3, 4, 5)) # 输出 \"(30, 80, 150)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Multiplies each component of the [Vector3i] by the given [float]. Returns a "
+"[Vector3].\n"
+"[codeblock]\n"
+"print(Vector3i(10, 15, 20) * 0.9) # Prints \"(9, 13.5, 18)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3i] 的每个分量乘以给定的 [float]。返回的是 [Vector3]。\n"
+"[codeblock]\n"
+"print(Vector3i(10, 15, 20) * 0.9) # 输出 \"(9, 13.5, 18)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Adds each component of the [Vector3i] by the components of the given "
+"[Vector3i].\n"
+"[codeblock]\n"
+"print(Vector3i(10, 20, 30) + Vector3i(3, 4, 5)) # Prints \"(13, 24, 35)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3i] 的每个分量加上给定 [Vector3i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector3i(10, 20, 30) + Vector3i(3, 4, 5)) # 输出 \"(13, 24, 35)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Subtracts each component of the [Vector3i] by the components of the given "
+"[Vector3i].\n"
+"[codeblock]\n"
+"print(Vector3i(10, 20, 30) - Vector3i(3, 4, 5)) # Prints \"(7, 16, 25)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3i] 的每个分量减去给定 [Vector3i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector3i(10, 20, 30) - Vector3i(3, 4, 5)) # 输出 \"(7, 16, 25)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Divides each component of the [Vector3i] by the components of the given "
+"[Vector3i].\n"
+"[codeblock]\n"
+"print(Vector3i(10, 20, 30) / Vector3i(2, 5, 3)) # Prints \"(5, 4, 10)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3i] 的每个分量除以给定 [Vector3i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector3i(10, 20, 30) / Vector3i(2, 5, 3)) # 输出 \"(5, 4, 10)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Divides each component of the [Vector3i] by the given [float]. Returns a "
+"[Vector3].\n"
+"[codeblock]\n"
+"print(Vector3i(10, 20, 30) / 2.9) # Prints \"(5, 10, 15)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector3i] 的每个分量除以给定的 [float]。返回的是 [Vector3]。\n"
+"[codeblock]\n"
+"print(Vector3i(10, 20, 30) / 2.9) # 输出 \"(5, 10, 15)\"\n"
+"[/codeblock]"
+
+msgid "Divides each component of the [Vector3i] by the given [int]."
+msgstr "将该 [Vector3i] 的每个分量除以给定的 [int]。"
+
+msgid "Vector used for 4D math using floating point coordinates."
+msgstr "浮点数坐标向量,用于 4D 数学。"
+
msgid "Constructs a [Vector4] as a copy of the given [Vector4]."
msgstr "构造给定 [Vector4] 的副本。"
+msgid "Constructs a new [Vector4] from the given [Vector4i]."
+msgstr "从给定的 [Vector4i] 构造新的 [Vector4]。"
+
+msgid "Returns a [Vector4] with the given components."
+msgstr "返回具有给定分量的 [Vector4]。"
+
+msgid "Returns the dot product of this vector and [param with]."
+msgstr "返回该向量与 [param with] 的点积。"
+
+msgid ""
+"Enumerated value for the W axis. Returned by [method max_axis_index] and "
+"[method min_axis_index]."
+msgstr ""
+"W 轴的枚举值。由 [method max_axis_index] 和 [method min_axis_index] 返回。"
+
+msgid ""
+"Multiplies each component of the [Vector4] by the components of the given "
+"[Vector4].\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) * Vector4(3, 4, 5, 6)) # Prints \"(30, 80, "
+"150, 240)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4] 的每个分量乘以给定 [Vector4] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) * Vector4(3, 4, 5, 6)) # 输出 \"(30, 80, 150, "
+"240)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Multiplies each component of the [Vector4] by the given [float].\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) * 2) # Prints \"(20, 40, 60, 80)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4] 的每个分量乘以给定的 [float]。\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) * 2) # 输出 \"(20, 40, 60, 80)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Adds each component of the [Vector4] by the components of the given "
+"[Vector4].\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) + Vector4(3, 4, 5, 6)) # Prints \"(13, 24, 35, "
+"46)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4] 的每个分量加上给定 [Vector4] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) + Vector4(3, 4, 5, 6)) # 输出 \"(13, 24, 35, "
+"46)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Subtracts each component of the [Vector4] by the components of the given "
+"[Vector4].\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) - Vector4(3, 4, 5, 6)) # Prints \"(7, 16, 25, "
+"34)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4] 的每个分量减去给定 [Vector4] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) - Vector4(3, 4, 5, 6)) # 输出 \"(7, 16, 25, "
+"34)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Divides each component of the [Vector4] by the components of the given "
+"[Vector4].\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) / Vector4(2, 5, 3, 4)) # Prints \"(5, 4, 10, "
+"10)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4] 的每个分量除以给定 [Vector4] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) / Vector4(2, 5, 3, 4)) # 输出 \"(5, 4, 10, "
+"10)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Divides each component of the [Vector4] by the given [float].\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) / 2 # Prints \"(5, 10, 15, 20)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4] 的每个分量除以给定的 [float]。\n"
+"[codeblock]\n"
+"print(Vector4(10, 20, 30, 40) / 2 # 输出 \"(5, 10, 15, 20)\"\n"
+"[/codeblock]"
+
+msgid "Divides each component of the [Vector4] by the given [int]."
+msgstr "将该 [Vector4] 的每个分量除以给定的 [int]。"
+
+msgid "Vector used for 4D math using integer coordinates."
+msgstr "整数坐标向量,用于 4D 数学。"
+
msgid "Constructs a [Vector4i] as a copy of the given [Vector4i]."
msgstr "构造给定 [Vector4i] 的副本。"
+msgid "Constructs a new [Vector4i] from the given [Vector4]."
+msgstr "从给定的 [Vector4] 构造新的 [Vector4i]。"
+
+msgid "Returns a [Vector4i] with the given components."
+msgstr "返回具有给定分量的 [Vector4i]。"
+
+msgid ""
+"Multiplies each component of the [Vector4i] by the components of the given "
+"[Vector4i].\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) * Vector4i(3, 4, 5, 6)) # Prints \"(30, 80, "
+"150, 240)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4i] 的每个分量乘以给定 [Vector4i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) * Vector4i(3, 4, 5, 6))# 输出 \"(30, 80, 150, "
+"240)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Multiplies each component of the [Vector4i] by the given [float].\n"
+"Returns a Vector4 value due to floating-point operations.\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) * 2) # Prints \"(20, 40, 60, 80)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4i] 的每个分量乘以给定的 [float]。\n"
+"由于浮点数运算,返回值为 Vector4。\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) * 2) # 输出 \"(20, 40, 60, 80)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Adds each component of the [Vector4i] by the components of the given "
+"[Vector4i].\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) + Vector4i(3, 4, 5, 6)) # Prints \"(13, 24, "
+"35, 46)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4i] 的每个分量加上给定 [Vector4i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) + Vector4i(3, 4, 5, 6)) # 输出 \"(13, 24, 35, "
+"46)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Subtracts each component of the [Vector4i] by the components of the given "
+"[Vector4i].\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) - Vector4i(3, 4, 5, 6)) # Prints \"(7, 16, "
+"25, 34)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4i] 的每个分量减去给定 [Vector4i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) - Vector4i(3, 4, 5, 6)) # 输出 \"(7, 16, 25, "
+"34)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Divides each component of the [Vector4i] by the components of the given "
+"[Vector4i].\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) / Vector4i(2, 5, 3, 4)) # Prints \"(5, 4, 10, "
+"10)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4i] 的每个分量除以给定 [Vector4i] 的对应分量。\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) / Vector4i(2, 5, 3, 4)) # 输出 \"(5, 4, 10, "
+"10)\"\n"
+"[/codeblock]"
+
+msgid ""
+"Divides each component of the [Vector4i] by the given [float].\n"
+"Returns a Vector4 value due to floating-point operations.\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) / 2 # Prints \"(5, 10, 15, 20)\"\n"
+"[/codeblock]"
+msgstr ""
+"将该 [Vector4i] 的每个分量除以给定的 [float]。\n"
+"由于浮点数运算,返回值为 Vector4。\n"
+"[codeblock]\n"
+"print(Vector4i(10, 20, 30, 40) / 2 # 输出 \"(5, 10, 15, 20)\"\n"
+"[/codeblock]"
+
+msgid "Divides each component of the [Vector4i] by the given [int]."
+msgstr "将该 [Vector4] 的每个分量除以给定的 [int]。"
+
msgid "Physics body that simulates the behavior of a car."
msgstr "模拟汽车行为的物理体。"
@@ -27687,7 +51464,58 @@ msgid "Vertical version of [FlowContainer]."
msgstr "[FlowContainer] 的垂直版本。"
msgid "Base resource for video streams."
-msgstr "视频流的资源基类。"
+msgstr "视频流的基础资源。"
+
+msgid "Returns the number of audio channels."
+msgstr "返回音频通道的数量。"
+
+msgid "Returns the video duration in seconds, if known, or 0 if unknown."
+msgstr "视频时长已知时返回视频时长,未知时返回 0。"
+
+msgid ""
+"Return the current playback timestamp. Called in response to the [member "
+"VideoStreamPlayer.stream_position] getter."
+msgstr ""
+"返回当前播放时间戳。获取 [member VideoStreamPlayer.stream_position] 时会被调"
+"用。"
+
+msgid "Allocates a [Texture2D] in which decoded video frames will be drawn."
+msgstr "分配一个 [Texture2D],解码得到的视频帧会在其中绘制。"
+
+msgid "Returns the paused status, as set by [method _set_paused]."
+msgstr "返回暂停状态,由 [method _set_paused] 设置。"
+
+msgid ""
+"Called in response to [member VideoStreamPlayer.autoplay] or [method "
+"VideoStreamPlayer.play]. Note that manual playback may also invoke [method "
+"_stop] multiple times before this method is called. [method _is_playing] "
+"should return true once playing."
+msgstr ""
+"[member VideoStreamPlayer.autoplay] 或 [method VideoStreamPlayer.play] 时会被"
+"调用。请注意,手动播放在这个方法被调用前也可能多次调用 [method _stop]。开始播"
+"放后 [method _is_playing] 就应该返回 true。"
+
+msgid ""
+"Seeks to [code]time[/code] seconds. Called in response to the [member "
+"VideoStreamPlayer.stream_position] setter."
+msgstr ""
+"检索至第 [code]time[/code] 秒。设置 [member VideoStreamPlayer."
+"stream_position] 时会被调用。"
+
+msgid ""
+"Select the audio track [code]idx[/code]. Called when playback starts, and in "
+"response to the [member VideoStreamPlayer.audio_track] setter."
+msgstr ""
+"选择 [code]idx[/code] 音轨。播放开始时,或者设置 [member VideoStreamPlayer."
+"audio_track] 时会被调用。"
+
+msgid ""
+"Set the paused status of video playback. [method _is_paused] must return "
+"[code]paused[/code]. Called in response to the [member VideoStreamPlayer."
+"paused] setter."
+msgstr ""
+"设置视频播放的暂停状态。[method _is_paused] 必须返回 [code]paused[/code]。设"
+"置 [member VideoStreamPlayer.paused] 时会被调用。"
msgid "Control for playing video streams."
msgstr "用于播放视频流的控件。"
@@ -27756,6 +51584,31 @@ msgstr "播放结束时触发。"
msgid "[VideoStream] resource for Ogg Theora videos."
msgstr "[VideoStream] Ogg Theora 视频的资源。"
+msgid "Base class for viewports."
+msgstr "视口的基类。"
+
+msgid ""
+"A Viewport creates a different view into the screen, or a sub-view inside "
+"another viewport. Children 2D Nodes will display on it, and children "
+"Camera3D 3D nodes will render on it too.\n"
+"Optionally, a viewport can have its own 2D or 3D world, so they don't share "
+"what they draw with other viewports.\n"
+"Viewports can also choose to be audio listeners, so they generate positional "
+"audio depending on a 2D or 3D camera child of it.\n"
+"Also, viewports can be assigned to different screens in case the devices "
+"have multiple screens.\n"
+"Finally, viewports can also behave as render targets, in which case they "
+"will not be visible unless the associated texture is used to draw."
+msgstr ""
+"Viewport(视口)会在屏幕中创建不同的视图,或是在其他视口中创建子视图。视口上"
+"会显示 2D 子节点,也会渲染 Camera3D 3D 子节点。\n"
+"视口也可以拥有自己的 2D 或 3D 世界,这样就不会与其他视口共享绘制的内容。\n"
+"视口也可以选择作为音频监听器,这样就可以根据 2D 或 3D 相机子节点生成位置音"
+"频。\n"
+"另外,在设备有多个屏幕的情况下,可以将视口分配给不同的屏幕。\n"
+"最后,视口也可以充当渲染目标,在这种情况下,除非使用与其相关联的纹理进行绘"
+"制,否则它们将不可见。"
+
msgid ""
"Returns the first valid [World2D] for this viewport, searching the [member "
"world_2d] property of itself and any Viewport ancestor."
@@ -27763,6 +51616,9 @@ msgstr ""
"返回该视口的首个有效 [World2D],在它自身及任何 Viewport 祖先节点的 [member "
"world_2d] 属性中查找。"
+msgid "Returns an individual bit on the rendering layer mask."
+msgstr "返回渲染层遮罩上的某个比特位。"
+
msgid ""
"Returns the mouse's position in this [Viewport] using the coordinate system "
"of this [Viewport]."
@@ -27805,6 +51661,10 @@ msgid "If [code]true[/code], the viewport will process 3D audio streams."
msgstr "如果为 [code]true[/code],该视口将处理 3D 音频流。"
msgid ""
+"The rendering layers in which this [Viewport] renders [CanvasItem] nodes."
+msgstr "渲染层,该 [Viewport] 会渲染位于这些层中的 [CanvasItem] 节点。"
+
+msgid ""
"The canvas transform of the viewport, useful for changing the on-screen "
"positions of all child [CanvasItem]s. This is relative to the global canvas "
"transform of the viewport."
@@ -27815,6 +51675,9 @@ msgstr ""
msgid "The overlay mode for test rendered geometry in debug purposes."
msgstr "在调试时,用于测试渲染的几何图形的叠加模式。"
+msgid "Disable 3D rendering (but keep 2D rendering)."
+msgstr "禁用 3D 渲染(但保留 2D 渲染)。"
+
msgid ""
"The global canvas transform of the viewport. The canvas transform is "
"relative to this."
@@ -27853,6 +51716,9 @@ msgstr "如果为 [code]true[/code],该视口应使其背景渲染为透明。
msgid "The custom [World2D] which can be used as 2D environment source."
msgstr "自定义的 [World2D],可以作为 2D 环境源。"
+msgid "The custom [World3D] which can be used as 3D environment source."
+msgstr "自定义的 [World3D],可以作为 3D 环境源。"
+
msgid "Emitted when a Control node grabs keyboard focus."
msgstr "当控件节点获取键盘焦点时触发。"
@@ -27871,6 +51737,19 @@ msgstr "此象限将被分成 16 个方向,并被最多 16 张阴影贴图使
msgid "This quadrant will be split 64 ways and used by up to 64 shadow maps."
msgstr "这个象限将被分成 64 个方向,并被最多 64 张阴影贴图使用。"
+msgid ""
+"Represents the size of the [enum PositionalShadowAtlasQuadrantSubdiv] enum."
+msgstr "代表 [enum PositionalShadowAtlasQuadrantSubdiv] 枚举的大小。"
+
+msgid "Represents the size of the [enum Scaling3DMode] enum."
+msgstr "代表 [enum Scaling3DMode] 枚举的大小。"
+
+msgid "Represents the size of the [enum MSAA] enum."
+msgstr "代表 [enum MSAA] 枚举的大小。"
+
+msgid "Represents the size of the [enum ScreenSpaceAA] enum."
+msgstr "代表 [enum ScreenSpaceAA] 枚举的大小。"
+
msgid "Amount of objects in frame."
msgstr "帧中对象的数量。"
@@ -27881,7 +51760,7 @@ msgid "Amount of draw calls in frame."
msgstr "帧中的绘制调用量。"
msgid "Represents the size of the [enum RenderInfo] enum."
-msgstr "表示 [enum RenderInfo] 枚举的大小。"
+msgstr "代表 [enum RenderInfo] 枚举的大小。"
msgid "Objects are displayed normally."
msgstr "对象正常显示。"
@@ -27889,6 +51768,9 @@ msgstr "对象正常显示。"
msgid "Objects are displayed in wireframe style."
msgstr "对象以线框风格显示。"
+msgid "Represents the size of the [enum VRSMode] enum."
+msgstr "代表 [enum VRSMode] 枚举的大小。"
+
msgid "Texture which displays the content of a [Viewport]."
msgstr "显示 [Viewport] 内容的纹理。"
@@ -27899,6 +51781,12 @@ msgstr ""
"显示 [Viewport] 节点的路径。该路径是相对于场景根的,而不是相对于使用该纹理的"
"节点。"
+msgid "Corresponds to [constant Node.PROCESS_MODE_INHERIT]."
+msgstr "对应 [constant Node.PROCESS_MODE_INHERIT]。"
+
+msgid "Corresponds to [constant Node.PROCESS_MODE_ALWAYS]."
+msgstr "对应 [constant Node.PROCESS_MODE_ALWAYS]。"
+
msgid "Enables certain nodes only when approximately visible."
msgstr "只在大约可见时启用某些节点。"
@@ -27913,6 +51801,15 @@ msgstr ""
"[b]注意:[/b]一旦添加到场景树中,需要一帧来计算节点的可见性,所以这个方法将在"
"它被实例化后立即返回 [code]false[/code],即使屏幕在绘制过程中。"
+msgid "The VisibleOnScreenNotifier2D's bounding rectangle."
+msgstr "该 VisibleOnScreenNotifier2D 的边界矩形。"
+
+msgid "Emitted when the VisibleOnScreenNotifier2D enters the screen."
+msgstr "当该 VisibleOnScreenNotifier2D 进入屏幕时发出。"
+
+msgid "Emitted when the VisibleOnScreenNotifier2D exits the screen."
+msgstr "当该 VisibleOnScreenNotifier2D 退出屏幕时发出。"
+
msgid "Detects approximately when the node is visible on screen."
msgstr "大约在节点在屏幕上可见时进行检测。"
@@ -27927,6 +51824,15 @@ msgstr ""
"[b]注意:[/b]一旦添加到场景树中,需要一帧来计算节点的可见性,所以这个方法将在"
"它被实例化后立即返回 [code]false[/code],即使屏幕在绘制过程中。"
+msgid "The VisibleOnScreenNotifier3D's bounding box."
+msgstr "该 VisibleOnScreenNotifier3D 的边界框。"
+
+msgid "Emitted when the VisibleOnScreenNotifier3D enters the screen."
+msgstr "当该 VisibleOnScreenNotifier3D 进入屏幕时发出。"
+
+msgid "Emitted when the VisibleOnScreenNotifier3D exits the screen."
+msgstr "当该 VisibleOnScreenNotifier3D 退出屏幕时发出。"
+
msgid "Parent of all visual 3D nodes."
msgstr "所有可视 3D 节点的父节点。"
@@ -27989,8 +51895,59 @@ msgstr "片段着色器,对片段(像素)进行操作。"
msgid "A shader for light calculations."
msgstr "用于光线计算的着色器。"
+msgid "A function for the \"start\" stage of particle shader."
+msgstr "粒子着色器的“开始”阶段所使用的函数。"
+
+msgid "A function for the \"process\" stage of particle shader."
+msgstr "粒子着色器的“处理”阶段所使用的函数。"
+
+msgid ""
+"A function for the \"collide\" stage (particle collision handler) of "
+"particle shader."
+msgstr "粒子着色器的“碰撞”阶段所使用的函数(粒子碰撞处理器)。"
+
+msgid ""
+"A function for the \"start\" stage of particle shader, with customized "
+"output."
+msgstr "粒子着色器的“开始”阶段所使用的函数,带自定义输出。"
+
+msgid ""
+"A function for the \"process\" stage of particle shader, with customized "
+"output."
+msgstr "粒子着色器的“处理”阶段所使用的函数,带自定义输出。"
+
msgid "Represents the size of the [enum Type] enum."
-msgstr "表示 [enum Type] 枚举的大小。"
+msgstr "代表 [enum Type] 枚举的大小。"
+
+msgid "Represents the size of the [enum VaryingMode] enum."
+msgstr "代表 [enum VaryingMode] 枚举的大小。"
+
+msgid "Varying is of type [float]."
+msgstr "Varying 的类型为 [float]。"
+
+msgid "Varying is of type [int]."
+msgstr "Varying 的类型为 [int]。"
+
+msgid "Varying is of type unsigned [int]."
+msgstr "Varying 的类型为无符号 [int]。"
+
+msgid "Varying is of type [Vector2]."
+msgstr "Varying 的类型为 [Vector2]。"
+
+msgid "Varying is of type [Vector3]."
+msgstr "Varying 的类型为 [Vector3]。"
+
+msgid "Varying is of type [Vector4]."
+msgstr "Varying 的类型为 [Vector2]。"
+
+msgid "Varying is of type [bool]."
+msgstr "Varying 的类型为 [bool]。"
+
+msgid "Varying is of type [Transform3D]."
+msgstr "Varying 的类型为 [Transform2D]。"
+
+msgid "Represents the size of the [enum VaryingType] enum."
+msgstr "代表 [enum VariantType] 枚举的大小。"
msgid "Base class for nodes in a visual shader graph."
msgstr "可视化着色器图中节点的基类。"
@@ -28029,29 +51986,49 @@ msgstr ""
msgid ""
"Floating-point scalar. Translated to [code]float[/code] type in shader code."
-msgstr "浮点标量。在着色器代码中被转换成[code]float[/code]类型。"
+msgstr "浮点数类型。在着色器代码中,会被翻译为 [code]float[/code] 类型。"
+
+msgid "Integer scalar. Translated to [code]int[/code] type in shader code."
+msgstr "整数标量。在着色器代码中,会被翻译为 [code]int[/code] 类型。"
+
+msgid ""
+"Unsigned integer scalar. Translated to [code]uint[/code] type in shader code."
+msgstr "无符号整数标量。在着色器代码中,会被翻译为 [code]uint[/code] 类型。"
+
+msgid ""
+"2D vector of floating-point values. Translated to [code]vec2[/code] type in "
+"shader code."
+msgstr "浮点数 2D 向量。在着色器代码中,会被翻译为 [code]vec2[/code] 类型。"
msgid ""
"3D vector of floating-point values. Translated to [code]vec3[/code] type in "
"shader code."
-msgstr "浮点值的 3D 向量。在着色器代码中转换为 [code]vec3[/code] 类型。"
+msgstr "浮点数 3D 向量。在着色器代码中,会被翻译为 [code]vec3[/code] 类型。"
+
+msgid ""
+"4D vector of floating-point values. Translated to [code]vec4[/code] type in "
+"shader code."
+msgstr "浮点数 4D 向量。在着色器代码中,会被翻译为 [code]vec4[/code] 类型。"
msgid "Boolean type. Translated to [code]bool[/code] type in shader code."
-msgstr "布尔类型。在着色器代码中转换为 [code]bool[/code] 类型。"
+msgstr "布尔值类型。在着色器代码中,会被翻译为 [code]bool[/code] 类型。"
msgid "Transform type. Translated to [code]mat4[/code] type in shader code."
-msgstr "变换类型。在着色器代码中转换为 [code]mat4[/code] 类型。"
+msgstr "变换类型。在着色器代码中,会被翻译为 [code]mat4[/code] 类型。"
msgid ""
"Sampler type. Translated to reference of sampler uniform in shader code. Can "
"only be used for input ports in non-uniform nodes."
msgstr ""
-"采样器类型。转换为着色器代码中的采样器 uniform 引用。只能用于非 uniform 节点"
-"中的输入端口。"
+"采样器类型。在着色器代码中,会被翻译为对采样器 uniform 的引用。只能用于非 "
+"uniform 节点的输入端口。"
msgid "Represents the size of the [enum PortType] enum."
msgstr "表示 [enum PortType] 枚举的大小。"
+msgid "Represents the size of the [enum BillboardType] enum."
+msgstr "代表 [enum BillboardType] 枚举的大小。"
+
msgid "A boolean constant to be used within the visual shader graph."
msgstr "在可视化着色器图中使用的布尔常量。"
@@ -28079,12 +52056,30 @@ msgid ""
"values."
msgstr "将值限制在[code]min[/code]和[code]max[/code]之间。"
+msgid "A type of operands and returned value."
+msgstr "操作数和返回值的类型。"
+
msgid "A floating-point scalar."
msgstr "浮点标量。"
+msgid "An integer scalar."
+msgstr "整数标量。"
+
+msgid "An unsigned integer scalar."
+msgstr "无符号整数标量。"
+
+msgid "A 2D vector type."
+msgstr "2D 向量类型。"
+
msgid "A 3D vector type."
msgstr "3D向量类型。"
+msgid "A 4D vector type."
+msgstr "4D 向量类型。"
+
+msgid "Represents the size of the [enum OpType] enum."
+msgstr "代表 [enum OpType] 枚举的大小。"
+
msgid "A [Color] constant to be used within the visual shader graph."
msgstr "[Color] 常量,在可视化着色器图中使用。"
@@ -28155,6 +52150,9 @@ msgstr ""
"return vec3(r, g, b);\n"
"[/codeblock]"
+msgid "Represents the size of the [enum Function] enum."
+msgstr "代表 [enum Function] 枚举的大小。"
+
msgid "A [Color] operator to be used within the visual shader graph."
msgstr "在可视化着色器图中使用的 [Color] 运算符。"
@@ -28312,9 +52310,15 @@ msgstr ""
"}\n"
"[/codeblock]"
+msgid "Represents the size of the [enum Operator] enum."
+msgstr "代表 [enum Operator] 枚举的大小。"
+
msgid "Translated to [code]uniform vec4[/code] in the shader language."
msgstr "在着色器语言中被转换成 [code]uniform vec4[/code]。"
+msgid "A title of the node."
+msgstr "节点的标题。"
+
msgid "A comparison function for common types within the visual shader graph."
msgstr "可视化着色器图内常见类型的比较函数。"
@@ -28339,6 +52343,9 @@ msgstr "布林类型。"
msgid "A transform ([code]mat4[/code]) type."
msgstr "变换类型,即 [code]mat4[/code]。"
+msgid "Represents the size of the [enum ComparisonType] enum."
+msgstr "代表 [enum ComparisonType] 枚举的大小。"
+
msgid "Comparison for equality ([code]a == b[/code])."
msgstr "相等比较,即 [code]a == b[/code]。"
@@ -28377,6 +52384,9 @@ msgid ""
"condition."
msgstr "如果向量中的任意分量满足比较条件,则结果为真。"
+msgid "Represents the size of the [enum Condition] enum."
+msgstr "代表 [enum Condition] 枚举的大小。"
+
msgid ""
"Translated to [code]texture(cubemap, vec3)[/code] in the shader language. "
"Returns a color vector and alpha channel as scalar."
@@ -28394,6 +52404,9 @@ msgid ""
"TextureType] for options."
msgstr "定义源纹理提供的数据类型。选项参阅[enum TextureType]。"
+msgid "Represents the size of the [enum Source] enum."
+msgstr "代表 [enum Source] 枚举的大小。"
+
msgid "No hints are added to the uniform declaration."
msgstr "在uniform声明中未添加提示。"
@@ -28417,6 +52430,9 @@ msgid ""
msgstr ""
"用于定义自定义 [VisualShaderNode] 的虚类,以便在可视化着色器编辑器中使用。"
+msgid "Visual Shader plugins"
+msgstr "可视化着色器插件"
+
msgid ""
"Override this method to define the description of the associated custom node "
"in the Visual Shader Editor's members dialog.\n"
@@ -28514,6 +52530,9 @@ msgstr "在 [code]x[/code] 中使用局部差分的导数。"
msgid "Derivative in [code]y[/code] using local differencing."
msgstr "在 [code]y[/code] 中使用局部差分的导数。"
+msgid "Represents the size of the [enum Precision] enum."
+msgstr "代表 [enum Precision] 枚举的大小。"
+
msgid "Translates to [code]determinant(x)[/code] in the shader language."
msgstr "在着色器语言中翻译成[code]determinant(x)[/code]。"
@@ -28556,6 +52575,135 @@ msgstr ""
"值为 [code]N[/code]。否则,将返回 [code]-N[/code]。"
msgid ""
+"Returns the sine of the parameter. Translates to [code]sin(x)[/code] in the "
+"Godot Shader Language."
+msgstr ""
+"返回参数的正弦值。在 Godot 着色器语言中,会被翻译为 [code]sin(x)[/code]。"
+
+msgid ""
+"Returns the cosine of the parameter. Translates to [code]cos(x)[/code] in "
+"the Godot Shader Language."
+msgstr ""
+"返回参数的余弦值。在 Godot 着色器语言中,会被翻译为 [code]cos(x)[/code]。"
+
+msgid ""
+"Returns the tangent of the parameter. Translates to [code]tan(x)[/code] in "
+"the Godot Shader Language."
+msgstr ""
+"返回参数的正切值。在 Godot 着色器语言中,会被翻译为 [code]tan(x)[/code]。"
+
+msgid ""
+"Returns the arc-sine of the parameter. Translates to [code]asin(x)[/code] in "
+"the Godot Shader Language."
+msgstr ""
+"返回参数的反正弦值。在 Godot 着色器语言中,会被翻译为 [code]asin(x)[/code]。"
+
+msgid ""
+"Returns the arc-cosine of the parameter. Translates to [code]acos(x)[/code] "
+"in the Godot Shader Language."
+msgstr ""
+"返回参数的反余弦值。在 Godot 着色器语言中,会被翻译为 [code]acos(x)[/code]。"
+
+msgid ""
+"Returns the arc-tangent of the parameter. Translates to [code]atan(x)[/code] "
+"in the Godot Shader Language."
+msgstr ""
+"返回参数的反正切值。在 Godot 着色器语言中,会被翻译为 [code]atan(x)[/code]。"
+
+msgid ""
+"Returns the hyperbolic sine of the parameter. Translates to [code]sinh(x)[/"
+"code] in the Godot Shader Language."
+msgstr ""
+"返回参数的双曲正弦值。在 Godot 着色器语言中,会被翻译为 [code]sinh(x)[/"
+"code]。"
+
+msgid ""
+"Returns the hyperbolic cosine of the parameter. Translates to [code]cosh(x)[/"
+"code] in the Godot Shader Language."
+msgstr ""
+"返回参数的双曲余弦值。在 Godot 着色器语言中,会被翻译为 [code]cosh(x)[/"
+"code]。"
+
+msgid ""
+"Returns the hyperbolic tangent of the parameter. Translates to [code]tanh(x)"
+"[/code] in the Godot Shader Language."
+msgstr ""
+"返回参数的双曲正切值。在 Godot 着色器语言中,会被翻译为 [code]tanh(x)[/"
+"code]。"
+
+msgid ""
+"Returns the natural logarithm of the parameter. Translates to [code]log(x)[/"
+"code] in the Godot Shader Language."
+msgstr ""
+"返回参数的自然对数。在 Godot 着色器语言中,会被翻译为 [code]log(x)[/code]。"
+
+msgid ""
+"Returns the natural exponentiation of the parameter. Translates to "
+"[code]exp(x)[/code] in the Godot Shader Language."
+msgstr ""
+"返回该参数的自然指数。在 Godot 着色器语言中,会被翻译为 [code]exp(x)[/code]。"
+
+msgid ""
+"Returns the square root of the parameter. Translates to [code]sqrt(x)[/code] "
+"in the Godot Shader Language."
+msgstr ""
+"返回参数的平方根。在 Godot 着色器语言中,会被翻译为 [code]sqrt(x)[/code]。"
+
+msgid ""
+"Returns the absolute value of the parameter. Translates to [code]abs(x)[/"
+"code] in the Godot Shader Language."
+msgstr ""
+"返回参数的绝对值。在 Godot 着色器语言中,会被翻译为 [code]abs(x)[/code]。"
+
+msgid ""
+"Extracts the sign of the parameter. Translates to [code]sign(x)[/code] in "
+"the Godot Shader Language."
+msgstr ""
+"提取参数的符号。在 Godot 着色器语言中,会被翻译为 [code]sign(x)[/code]。"
+
+msgid ""
+"Finds the nearest integer less than or equal to the parameter. Translates to "
+"[code]floor(x)[/code] in the Godot Shader Language."
+msgstr ""
+"查找小于或等于参数的最接近的整数。在 Godot 着色器语言中,会被翻译为 "
+"[code]floor(x)[/code]。"
+
+msgid ""
+"Finds the nearest integer to the parameter. Translates to [code]round(x)[/"
+"code] in the Godot Shader Language."
+msgstr ""
+"查找最接近参数的整数。在 Godot 着色器语言中,会被翻译为 [code]round(x)[/"
+"code]。"
+
+msgid ""
+"Finds the nearest integer that is greater than or equal to the parameter. "
+"Translates to [code]ceil(x)[/code] in the Godot Shader Language."
+msgstr ""
+"查找大于或等于参数的最接近的整数。在 Godot 着色器语言中,会被翻译为 "
+"[code]ceil(x)[/code]。"
+
+msgid ""
+"Computes the fractional part of the argument. Translates to [code]fract(x)[/"
+"code] in the Godot Shader Language."
+msgstr ""
+"计算参数的小数部分。在 Godot 着色器语言中,会被翻译为 [code]fract(x)[/code]。"
+
+msgid "Sums two numbers using [code]a + b[/code]."
+msgstr "使用 [code]a + b[/code] 将两个数字相加。"
+
+msgid "Subtracts two numbers using [code]a - b[/code]."
+msgstr "使用 [code]a - b[/code] 将两个数字相减。"
+
+msgid "Multiplies two numbers using [code]a * b[/code]."
+msgstr "使用 [code]a * b[/code] 将两个数字相乘。"
+
+msgid "Divides two numbers using [code]a / b[/code]."
+msgstr "使用 [code]a / b[/code] 将两个数字相除。"
+
+msgid "Translated to [code]uniform float[/code] in the shader language."
+msgstr "在着色器语言中被翻译为 [code]uniform float[/code]。"
+
+msgid ""
"Minimum value for range hints. Used if [member hint] is set to [constant "
"HINT_RANGE] or [constant HINT_RANGE_STEP]."
msgstr ""
@@ -28597,7 +52745,7 @@ msgstr ""
"[code]hint_range(min, max, step)[/code]。"
msgid "Represents the size of the [enum Hint] enum."
-msgstr "表示 [enum Hint] 枚举的大小。"
+msgstr "代表 [enum Hint] 枚举的大小。"
msgid "A Fresnel effect to be used within the visual shader graph."
msgstr "在可视化着色器图中使用的菲涅尔效果。"
@@ -28719,6 +52867,9 @@ msgstr ""
"提供对着色器可用的输入变量(内置)的访问。关于每种着色器类型的可用内置变量列"
"表,请参阅着色器参考(查看[code]教程[/code]部分的链接)。"
+msgid "Shading reference index"
+msgstr "着色参考索引"
+
msgid ""
"A boolean comparison operator to be used within the visual shader graph."
msgstr "布尔比较运算符,在可视化着色器图中使用。"
@@ -28741,10 +52892,44 @@ msgid ""
msgstr ""
"与 [code]NaN[/code] 比较(不是一个数字;表示无效的数字结果,如除以 0)。"
+msgid "This node can be used in fragment shaders."
+msgstr "该节点可用于片段着色器。"
+
+msgid ""
+"Linearly interpolates between two values within the visual shader graph."
+msgstr "在可视化着色器图中,在两个值之间进行线性插值。"
+
msgid "Translates to [code]mix(a, b, weight)[/code] in the shader language."
msgstr "在着色器语言中转换为 [code]mix(a, b, weight)[/code]。"
msgid ""
+"The [code]a[/code] and [code]b[/code] ports use a 2D vector type. The "
+"[code]weight[/code] port uses a scalar type."
+msgstr ""
+"[code]a[/code] 和 [code]b[/code] 端口使用 2D 向量类型。[code]weight[/code] 端"
+"口使用标量类型。"
+
+msgid ""
+"The [code]a[/code] and [code]b[/code] ports use a 3D vector type. The "
+"[code]weight[/code] port uses a scalar type."
+msgstr ""
+"[code]a[/code] 和 [code]b[/code] 端口使用 3D 向量类型。[code]weight[/code] 端"
+"口使用标量类型。"
+
+msgid ""
+"The [code]a[/code] and [code]b[/code] ports use a 4D vector type. The "
+"[code]weight[/code] port uses a scalar type."
+msgstr ""
+"[code]a[/code] 和 [code]b[/code] 端口使用 4D 向量类型。[code]weight[/code] 端"
+"口使用标量类型。"
+
+msgid "Performs a fused multiply-add operation within the visual shader graph."
+msgstr "在可视化着色器图中,执行乘加融合运算。"
+
+msgid "A floating-point scalar type."
+msgstr "浮点数标量类型。"
+
+msgid ""
"Calculates an outer product of two vectors within the visual shader graph."
msgstr "计算可视化着色器图中两个向量的外积。"
@@ -28771,8 +52956,59 @@ msgstr ""
"此可视化着色器节点以 \"输出\" 块的形式出现在所有着色器图中,有多个输出值端"
"口。"
+msgid "A base type for the parameters within the visual shader graph."
+msgstr "可视化着色器图中,参数的基础类型。"
+
+msgid "Defines the scope of the parameter."
+msgstr "定义该参数的作用域。"
+
+msgid "Represents the size of the [enum Qualifier] enum."
+msgstr "代表 [enum Qualifier] 枚举的大小。"
+
+msgid "A reference to an existing [VisualShaderNodeParameter]."
+msgstr "对现有 [VisualShaderNodeParameter] 的引用。"
+
+msgid "A visual shader node that accelerates particles."
+msgstr "对粒子进行加速的可视着色器节点。"
+
+msgid "The particles will be accelerated based on their velocity."
+msgstr "粒子会根据速度进行加速。"
+
+msgid "The particles will be accelerated towards or away from the center."
+msgstr "粒子会根据朝向中心或远离中心的方向进行加速。"
+
+msgid "Represents the size of the [enum Mode] enum."
+msgstr "代表 [enum Mode] 枚举的大小。"
+
+msgid "If enabled, the particle starts with the position defined by this node."
+msgstr "如果启用,则粒子从该节点所定义的位置开始。"
+
+msgid ""
+"If enabled, the particle starts with the rotation and scale defined by this "
+"node."
+msgstr "如果启用,则粒子从该节点所定义的旋转和缩放开始。"
+
+msgid "If enabled,the particle starts with the velocity defined by this node."
+msgstr "如果启用,则粒子从该节点所定义的速度开始。"
+
+msgid "If enabled, the particle starts with the color defined by this node."
+msgstr "如果启用,则粒子从该节点所定义的颜色开始。"
+
+msgid ""
+"If enabled, the particle starts with the [code]CUSTOM[/code] data defined by "
+"this node."
+msgstr "如果启用,则粒子从该节点所定义的 [code]CUSTOM[/code] 自定义数据开始。"
+
+msgid "A base class for particle emitters."
+msgstr "粒子发射器的基类。"
+
+msgid ""
+"If [code]true[/code], the angle will be interpreted in degrees instead of "
+"radians."
+msgstr "如果为 [code]true[/code],夹角会被解释为度数,而不是弧度数。"
+
msgid "The size of the node in the visual shader graph."
-msgstr "可视化着色器图中节点的大小。"
+msgstr "可视化着色器图中,该节点的大小。"
msgid ""
"Translates to [code]step(edge, x)[/code] in the shader language.\n"
@@ -28783,6 +53019,9 @@ msgstr ""
"如果 [code]x[/code] 小于 [code]edge[/code],返回 [code]0.0[/code],否则返回 "
"[code]1.0[/code]。"
+msgid "A transform type."
+msgstr "变换类型。"
+
msgid ""
"Performs a lookup operation on the provided texture, with support for "
"multiple texture sources to choose from."
@@ -28824,6 +53063,12 @@ msgstr "对作为 uniform 着色器提供的纹理进行查找操作。"
msgid "Sets the default color if no texture is assigned to the uniform."
msgstr "如果没有给 uniform 分配纹理,则设置默认颜色。"
+msgid "Represents the size of the [enum ColorDefault] enum."
+msgstr "代表 [enum ColorDefault] 枚举的大小。"
+
+msgid "Represents the size of the [enum TextureSource] enum."
+msgstr "代表 [enum TextureSource] 枚举的大小。"
+
msgid ""
"Performs a uniform texture lookup with triplanar within the visual shader "
"graph."
@@ -28842,6 +53087,9 @@ msgstr ""
"使用四个类型为 [code]vec3[/code] 的向量创建一个 4x4 变换矩阵。每个向量是矩阵"
"中的一行,最后一列是一个 [code]vec4(0, 0, 0, 1)[/code]。"
+msgid "A constant [Transform3D], which can be used as an input node."
+msgstr "[Transform3D] 常量,可用作输入节点。"
+
msgid ""
"Takes a 4x4 transform matrix and decomposes it into four [code]vec3[/code] "
"values, one from each row of the matrix."
@@ -28896,11 +53144,14 @@ msgid ""
msgstr ""
"将向量 [code]b[/code] 乘以变换 [code]a[/code],跳过变换的最后一行和一列。"
+msgid "A constant [Vector2], which can be used as an input node."
+msgstr "[Vector2] 常量,可用作输入节点。"
+
msgid "A [Vector3] constant to be used within the visual shader graph."
msgstr "[Vector3] 常量,用于可视化着色器图中。"
msgid "A constant [Vector3], which can be used as an input node."
-msgstr "常量 [Vector3],它可以作为输入节点使用。"
+msgstr "[Vector3] 常量,可用作输入节点。"
msgid "A [Vector3] constant which represents the state of this node."
msgstr "[Vector3] 常量,表示该节点的状态。"
@@ -28908,6 +53159,9 @@ msgstr "[Vector3] 常量,表示该节点的状态。"
msgid "Translated to [code]uniform vec3[/code] in the shader language."
msgstr "在着色器语言中被转换成 [code]uniform vec3[/code]。"
+msgid "A constant 4D vector, which can be used as an input node."
+msgstr "4D 常向量,可用作输入节点。"
+
msgid ""
"Returns the distance between two points. To be used within the visual shader "
"graph."
@@ -29165,17 +53419,17 @@ msgstr ""
"custom_step]属性的自定义步长。"
msgid "Vertical version of [Separator]."
-msgstr "[Separator]的垂直版本。"
+msgstr "[Separator] 的垂直版本。"
msgid ""
"Vertical version of [Separator]. Even though it looks vertical, it is used "
"to separate objects horizontally."
-msgstr "[Separator]的垂直版本。尽管它看起来是垂直的,但它用来水平分离对象。"
+msgstr "[Separator] 的垂直版本。尽管外观是垂直的,但作用是水平分隔对象。"
msgid ""
"The width of the area covered by the separator. Effectively works like a "
"minimum width."
-msgstr "分隔符所覆盖区域的宽度。以最小宽度时有效工作。"
+msgstr "分隔器覆盖区域的宽度。效果上和最小宽度一致。"
msgid ""
"The style for the separator line. Works best with [StyleBoxLine] (remember "
@@ -29615,6 +53869,9 @@ msgstr "返回给定对等体的 IP 地址。"
msgid "Returns the remote port of the given peer."
msgstr "返回给定对等体的远程端口。"
+msgid "A WebSocket connection."
+msgstr "WebSocket 连接。"
+
msgid ""
"Returns [code]true[/code] if the last received packet was sent as a text "
"payload. See [enum WriteMode]."
@@ -29632,6 +53889,220 @@ msgid ""
"(any byte combination is allowed)."
msgstr "指定 WebSockets 消息应以二进制有效载荷的形式传输(允许任何字节组合)。"
+msgid "XR interface using WebXR."
+msgstr "使用 WebXR 的 AR/VR 接口。"
+
+msgid ""
+"WebXR is an open standard that allows creating VR and AR applications that "
+"run in the web browser.\n"
+"As such, this interface is only available when running in Web exports.\n"
+"WebXR supports a wide range of devices, from the very capable (like Valve "
+"Index, HTC Vive, Oculus Rift and Quest) down to the much less capable (like "
+"Google Cardboard, Oculus Go, GearVR, or plain smartphones).\n"
+"Since WebXR is based on JavaScript, it makes extensive use of callbacks, "
+"which means that [WebXRInterface] is forced to use signals, where other XR "
+"interfaces would instead use functions that return a result immediately. "
+"This makes [WebXRInterface] quite a bit more complicated to initialize than "
+"other XR interfaces.\n"
+"Here's the minimum code required to start an immersive VR session:\n"
+"[codeblock]\n"
+"extends Node3D\n"
+"\n"
+"var webxr_interface\n"
+"var vr_supported = false\n"
+"\n"
+"func _ready():\n"
+" # We assume this node has a button as a child.\n"
+" # This button is for the user to consent to entering immersive VR mode.\n"
+" $Button.pressed.connect(self._on_button_pressed)\n"
+"\n"
+" webxr_interface = XRServer.find_interface(\"WebXR\")\n"
+" if webxr_interface:\n"
+" # WebXR uses a lot of asynchronous callbacks, so we connect to "
+"various\n"
+" # signals in order to receive them.\n"
+" webxr_interface.session_supported.connect(self."
+"_webxr_session_supported)\n"
+" webxr_interface.session_started.connect(self."
+"_webxr_session_started)\n"
+" webxr_interface.session_ended.connect(self._webxr_session_ended)\n"
+" webxr_interface.session_failed.connect(self._webxr_session_failed)\n"
+"\n"
+" # This returns immediately - our _webxr_session_supported() method\n"
+" # (which we connected to the \"session_supported\" signal above) "
+"will\n"
+" # be called sometime later to let us know if it's supported or not.\n"
+" webxr_interface.is_session_supported(\"immersive-vr\")\n"
+"\n"
+"func _webxr_session_supported(session_mode, supported):\n"
+" if session_mode == 'immersive-vr':\n"
+" vr_supported = supported\n"
+"\n"
+"func _on_button_pressed():\n"
+" if not vr_supported:\n"
+" OS.alert(\"Your browser doesn't support VR\")\n"
+" return\n"
+"\n"
+" # We want an immersive VR session, as opposed to AR ('immersive-ar') or "
+"a\n"
+" # simple 3DoF viewer ('viewer').\n"
+" webxr_interface.session_mode = 'immersive-vr'\n"
+" # 'bounded-floor' is room scale, 'local-floor' is a standing or sitting\n"
+" # experience (it puts you 1.6m above the ground if you have 3DoF "
+"headset),\n"
+" # whereas as 'local' puts you down at the XROrigin.\n"
+" # This list means it'll first try to request 'bounded-floor', then\n"
+" # fallback on 'local-floor' and ultimately 'local', if nothing else is\n"
+" # supported.\n"
+" webxr_interface.requested_reference_space_types = 'bounded-floor, local-"
+"floor, local'\n"
+" # In order to use 'local-floor' or 'bounded-floor' we must also\n"
+" # mark the features as required or optional.\n"
+" webxr_interface.required_features = 'local-floor'\n"
+" webxr_interface.optional_features = 'bounded-floor'\n"
+"\n"
+" # This will return false if we're unable to even request the session,\n"
+" # however, it can still fail asynchronously later in the process, so we\n"
+" # only know if it's really succeeded or failed when our\n"
+" # _webxr_session_started() or _webxr_session_failed() methods are "
+"called.\n"
+" if not webxr_interface.initialize():\n"
+" OS.alert(\"Failed to initialize\")\n"
+" return\n"
+"\n"
+"func _webxr_session_started():\n"
+" $Button.visible = false\n"
+" # This tells Godot to start rendering to the headset.\n"
+" get_viewport().use_xr = true\n"
+" # This will be the reference space type you ultimately got, out of the\n"
+" # types that you requested above. This is useful if you want the game "
+"to\n"
+" # work a little differently in 'bounded-floor' versus 'local-floor'.\n"
+" print (\"Reference space type: \" + webxr_interface."
+"reference_space_type)\n"
+"\n"
+"func _webxr_session_ended():\n"
+" $Button.visible = true\n"
+" # If the user exits immersive mode, then we tell Godot to render to the "
+"web\n"
+" # page again.\n"
+" get_viewport().use_xr = false\n"
+"\n"
+"func _webxr_session_failed(message):\n"
+" OS.alert(\"Failed to initialize: \" + message)\n"
+"[/codeblock]\n"
+"There are a couple ways to handle \"controller\" input:\n"
+"- Using [XRController3D] nodes and their [signal XRController3D."
+"button_pressed] and [signal XRController3D.button_released] signals. This is "
+"how controllers are typically handled in XR apps in Godot, however, this "
+"will only work with advanced VR controllers like the Oculus Touch or Index "
+"controllers, for example.\n"
+"- Using the [signal select], [signal squeeze] and related signals. This "
+"method will work for both advanced VR controllers, and non-traditional input "
+"sources like a tap on the screen, a spoken voice command or a button press "
+"on the device itself.\n"
+"You can use both methods to allow your game or app to support a wider or "
+"narrower set of devices and input methods, or to allow more advanced "
+"interactions with more advanced devices."
+msgstr ""
+"WebXR 是一种开放标准,允许创建在网络浏览器中运行的 VR 和 AR 应用程序。\n"
+"因此,此接口仅在 Web 导出中运行时可用。\n"
+"WebXR 支持范围广泛的设备,从功能强大的设备(如 Valve Index、HTC Vive、Oculus "
+"Rift 和 Quest)到功能低得多的设备(如 Google Cardboard、Oculus Go、GearVR 或"
+"普通智能手机)。\n"
+"由于 WebXR 基于 JavaScript,它大量使用回调,这意味着 [WebXRInterface] 被迫使"
+"用信号,而其他 XR 接口将改为使用立即返回结果的函数。这使得 [WebXRInterface] "
+"的初始化比其他 XR 接口要复杂得多。\n"
+"以下是启动沉浸式 VR 会话所需的最少代码:\n"
+"[codeblock]\n"
+"extends Node3D\n"
+"\n"
+"var webxr_interface\n"
+"var vr_supported = false\n"
+"\n"
+"func _ready():\n"
+" # 我们假设这个节点有一个按钮作为子节点。\n"
+" # 该按钮供用户同意进入沉浸式 VR 模式。\n"
+" $Button.pressed.connect(self._on_button_pressed)\n"
+"\n"
+" webxr_interface = XRServer.find_interface(\"WebXR\")\n"
+" if webxr_interface:\n"
+" # WebXR 使用了很多异步回调,所以我们连接各种\n"
+" # 信号,以便接收它们。\n"
+" webxr_interface.session_supported.connect(self."
+"_webxr_session_supported)\n"
+" webxr_interface.session_started.connect(self."
+"_webxr_session_started)\n"
+" webxr_interface.session_ended.connect(self._webxr_session_ended)\n"
+" webxr_interface.session_failed.connect(self._webxr_session_failed)\n"
+"\n"
+" # 这会立即返回——我们的 _webxr_session_supported() 方法\n"
+" # (我们连接到上面的“session_supported”信号)将\n"
+" # 在稍后的某个时间被调用,让我们知道它是否受支持。\n"
+" webxr_interface.is_session_supported(\"immersive-vr\")\n"
+"\n"
+"func _webxr_session_supported(session_mode, supported):\n"
+" if session_mode == 'immersive-vr':\n"
+" vr_supported = supported\n"
+"\n"
+"func _on_button_pressed():\n"
+" if not vr_supported:\n"
+" OS.alert(\"Your browser doesn't support VR\")\n"
+" return\n"
+"\n"
+" # 我们想要一个沉浸式 VR 会话,而不是 AR('immersive-ar')或\n"
+" # 简单的 3DoF 查看器('viewer')。\n"
+" webxr_interface.session_mode = 'immersive-vr'\n"
+" # 'bounded-floor' 是房间比例,'local-floor' 是站立或坐着\n"
+" # 的体验(如果你有 3DoF 头戴设备,它会让你离地 1.6m),\n"
+" # 而“local”会让你在 XROrigin 下。\n"
+" # 这个列表意味着它会首先尝试请求“bounded-floor”,然后\n"
+" # 回退到“local-floor”,最后是“local”,如果没有别的\n"
+" # 支持的话。\n"
+" webxr_interface.requested_reference_space_types = 'bounded-floor, local-"
+"floor, local'\n"
+" # 为了使用“local-floor”或“bounded-floor”,我们还必须\n"
+" # 将功能标记为必需或可选。\n"
+" webxr_interface.required_features = 'local-floor'\n"
+" webxr_interface.optional_features = 'bounded-floor'\n"
+"\n"
+" # 如果我们甚至无法请求会话,这将返回 false,\n"
+" # 但是,它仍然可以在稍后的过程中异步失败,\n"
+" # 因此我们只有在调用 _webxr_session_started() 或\n"
+" # _webxr_session_failed() 方法时才知道它是真的成功还是失败。\n"
+" if not webxr_interface.initialize():\n"
+" OS.alert(\"Failed to initialize\")\n"
+" return\n"
+"\n"
+"func _webxr_session_started():\n"
+" $Button.visible = false\n"
+" # 这告诉 Godot 开始渲染到头戴设备。\n"
+" get_viewport().use_xr = true\n"
+" # 这将是您最终获得的参考空间类型,与您在上面请求的类型不同。\n"
+" # 如果您希望游戏在 “bounded-floor” 和 “local-floor”\n"
+" # 中的运行方式有所不同,这将很有用。\n"
+" print (\"Reference space type: \" + webxr_interface."
+"reference_space_type)\n"
+"\n"
+"func _webxr_session_ended():\n"
+" $Button.visible = true\n"
+" # 如果用户退出沉浸式模式,那么我们会告诉 Godot\n"
+" # 再次渲染到网页。\n"
+" get_viewport().use_xr = false\n"
+"\n"
+"func _webxr_session_failed(message):\n"
+" OS.alert(\"Failed to initialize: \" + message)\n"
+"[/codeblock]\n"
+"有几种方法可以处理“控制器”输入:\n"
+"- 使用 [XRController3D] 节点及其 [signal XRController3D.button_pressed] 和 "
+"[signal XRController3D.button_released] 信号。这是 Godot 中 XR 应用程序通常处"
+"理控制器的方式,但是,这仅适用于高级 VR 控制器,例如 Oculus Touch 或 Index 控"
+"制器。\n"
+"- 使用 [signal select]、[signal squeeze] 和其他相关信号。这种方法适用于高级 "
+"VR 控制器和非传统输入源,例如屏幕上的轻敲、语音命令或设备本身的按钮按下。\n"
+"您可以使用这两种方法来让您的游戏或应用程序支持更多或更窄的设备和输入法集,或"
+"者允许与更高级的设备进行更高级的交互。"
+
msgid ""
"Checks if the given [code]session_mode[/code] is supported by the user's "
"browser.\n"
@@ -29680,6 +54151,177 @@ msgstr "目标射线由手持指示器发射,很可能是 VR 触摸控制器
msgid "Target ray from touch screen, mouse or other tactile input device."
msgstr "目标射线由触摸屏、鼠标等触觉输入设备发射。"
+msgid "Base class for all windows."
+msgstr "所有窗口的基类。"
+
+msgid ""
+"A node that creates a window. The window can either be a native system "
+"window or embedded inside another [Window] (see [member Viewport."
+"gui_embed_subwindows]).\n"
+"At runtime, [Window]s will not close automatically when requested. You need "
+"to handle it manually using [signal close_requested] (this applies both to "
+"clicking close button and clicking outside popup)."
+msgstr ""
+"创建窗口的节点。该窗口可能是原生系统窗口,也可以是嵌入到其他 [Window] 中的窗"
+"口(见 [member Viewport.gui_embed_subwindows])。\n"
+"在运行时,[Window] 不会在请求关闭时自动关闭。你需要使用 [signal "
+"close_requested] 手动处理(适用于点击关闭按钮和点击弹出窗口外部)。"
+
+msgid "Returns layout direction and text writing direction."
+msgstr "返回排版方向和文本书写方向。"
+
+msgid "Causes the window to grab focus, allowing it to receive user input."
+msgstr "使该窗口获得焦点,从而接收用户输入。"
+
+msgid "Returns [code]true[/code] if the window is focused."
+msgstr "如果该窗口已获得焦点,则返回 [code]true[/code]。"
+
+msgid "Sets a specified window flag."
+msgstr "设置指定的窗口标志。"
+
+msgid ""
+"If [param active] is [code]true[/code], enables system's native IME (Input "
+"Method Editor)."
+msgstr ""
+"如果 [param active] 为 [code]true[/code],则启用系统的原生 IME(输入法编辑"
+"器)。"
+
+msgid "Moves IME to the given position."
+msgstr "将 IME 移动到给定位置。"
+
+msgid ""
+"Sets layout direction and text writing direction. Right-to-left layouts are "
+"necessary for certain languages (e.g. Arabic and Hebrew)."
+msgstr ""
+"设置布局方向和文本书写方向。某些语言需要从右至左的布局(例如阿拉伯语和希伯来"
+"语)。"
+
+msgid ""
+"Enables font oversampling. This makes fonts look better when they are scaled "
+"up."
+msgstr "启用字体过采样。会使得字体在放大后更好看。"
+
+msgid ""
+"Toggles if any text should automatically change to its translated version "
+"depending on the current locale."
+msgstr "切换是否所有文本都应该根据当前区域设置自动变为翻译后的版本。"
+
+msgid "The screen the window is currently on."
+msgstr "该窗口当前所在的屏幕。"
+
+msgid ""
+"Sets a polygonal region of the window which accepts mouse events. Mouse "
+"events outside the region will be passed through.\n"
+"Passing an empty array will disable passthrough support (all mouse events "
+"will be intercepted by the window, which is the default behavior).\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# Set region, using Path2D node.\n"
+"$Window.mouse_passthrough_polygon = $Path2D.curve.get_baked_points()\n"
+"\n"
+"# Set region, using Polygon2D node.\n"
+"$Window.mouse_passthrough_polygon = $Polygon2D.polygon\n"
+"\n"
+"# Reset region to default.\n"
+"$Window.mouse_passthrough_polygon = []\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// Set region, using Path2D node.\n"
+"GetNode<Window>(\"Window\").MousePassthrough = GetNode<Path2D>(\"Path2D\")."
+"Curve.GetBakedPoints();\n"
+"\n"
+"// Set region, using Polygon2D node.\n"
+"GetNode<Window>(\"Window\").MousePassthrough = "
+"GetNode<Polygon2D>(\"Polygon2D\").Polygon;\n"
+"\n"
+"// Reset region to default.\n"
+"GetNode<Window>(\"Window\").MousePassthrough = new Vector2[] {};\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]Note:[/b] This property is ignored if [member mouse_passthrough] is set "
+"to [code]true[/code].\n"
+"[b]Note:[/b] On Windows, the portion of a window that lies outside the "
+"region is not drawn, while on Linux (X11) and macOS it is.\n"
+"[b]Note:[/b] This property is implemented on Linux (X11), macOS and Windows."
+msgstr ""
+"设置窗口的一个接受鼠标事件的多边形区域。该区域外的鼠标事件将被传递出去。\n"
+"传递一个空数组将禁用穿透支持(所有鼠标事件将被窗口拦截,这是默认行为)。\n"
+"[codeblocks]\n"
+"[gdscript]\n"
+"# 设置区域,使用 Path2D 节点。\n"
+"$Window.mouse_passthrough_polygon = $Path2D.curve.get_baked_points()\n"
+"\n"
+"# 设置区域,使用 Polygon2D 节点。\n"
+"$Window.mouse_passthrough_polygon = $Polygon2D.polygon\n"
+"\n"
+"# 重置区域为默认值。\n"
+"$Window.mouse_passthrough_polygon = []\n"
+"[/gdscript]\n"
+"[csharp]\n"
+"// 设置区域,使用 Path2D 节点。\n"
+"GetNode<Window>(\"Window\").MousePassthrough = GetNode<Path2D>(\"Path2D\")."
+"Curve.GetBakedPoints();\n"
+"\n"
+"// 设置区域,使用 Polygon2D 节点。\n"
+"GetNode<Window>(\"Window\").MousePassthrough = "
+"GetNode<Polygon2D>(\"Polygon2D\").Polygon;\n"
+"\n"
+"// 重置区域为默认值。\n"
+"GetNode<Window>(\"Window\").MousePassthrough = new Vector2[] {};\n"
+"[/csharp]\n"
+"[/codeblocks]\n"
+"[b]注意:[/b]如果 [member mouse_passthrough] 设置为 [code]true[/code],则忽略"
+"此属性。\n"
+"[b]注意:[/b]在 Windows 上,位于区域外的窗口部分不会被绘制,而在 Linux (X11) "
+"和 macOS 上则会被绘制。\n"
+"[b]注意:[/b]该属性在 Linux (X11)、macOS 和 Windows 上实现。"
+
+msgid "The window's position in pixels."
+msgstr "该窗口的位置,单位为像素。"
+
+msgid "The window's size in pixels."
+msgstr "该窗口的大小,单位为像素。"
+
+msgid ""
+"If [code]true[/code], the window can't be resized. Minimize and maximize "
+"buttons are disabled."
+msgstr ""
+"如果为 [code]true[/code],则无法调整窗口大小。最小化和最大化按钮被禁用。"
+
+msgid "If [code]true[/code], the window is visible."
+msgstr "如果为 [code]true[/code],则该窗口可见。"
+
+msgid ""
+"Emitted when the [Window]'s DPI changes as a result of OS-level changes (e."
+"g. moving the window from a Retina display to a lower resolution one).\n"
+"[b]Note:[/b] Only implemented on macOS."
+msgstr ""
+"该 [Window] 的 DPI 由于操作系统级别的更改而发生更改时发出(例如将该窗口从 "
+"Retina 屏幕移动到了更低分辨率的屏幕)。\n"
+"[b]注意:[/b]仅在 macOS 上实现。"
+
+msgid "Emitted when the [Window] gains focus."
+msgstr "当该 [Window] 获得焦点时发出。"
+
+msgid "Emitted when the [Window] loses its focus."
+msgstr "当该 [Window] 失去焦点时发出。"
+
+msgid ""
+"Full screen window mode. Note that this is not [i]exclusive[/i] full screen. "
+"On Windows and Linux, a borderless window is used to emulate full screen. On "
+"macOS, a new desktop is used to display the running project.\n"
+"Regardless of the platform, enabling full screen will change the window size "
+"to match the monitor's size. Therefore, make sure your project supports "
+"[url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html]multiple "
+"resolutions[/url] when enabling full screen mode."
+msgstr ""
+"全屏窗口模式。请注意,这不是[i]独占的[/i]全屏显示。在 Windows 和 Linux 上,无"
+"边框窗口用于模拟全屏。在 macOS 上,会创建一个新的桌面用于显示正在运行的项"
+"目。\n"
+"无论平台如何,启用全屏都会更改窗口大小以匹配显示器的大小。因此,请确保您的项"
+"目在启用全屏模式时支持[url=$DOCS_URL/tutorials/rendering/"
+"multiple_resolutions.html]多种分辨率[/url]。"
+
msgid ""
"The window can't be resizing by dragging its resize grip. It's still "
"possible to resize the window using [member size]. This flag is ignored for "
@@ -29689,21 +54331,60 @@ msgstr ""
"整窗口的大小。这个标志对于全屏窗口来说是被忽略的。用 [member unresizable] 设"
"置。"
+msgid "Max value of the [enum Flags]."
+msgstr "[enum Flags] 的最大值。"
+
+msgid "Initial window position is determined by [member position]."
+msgstr "初始窗口位置由 [member position] 决定。"
+
+msgid "Initial window position is a center of the primary screen."
+msgstr "初始窗口位置为主屏幕的中心。"
+
+msgid "Initial window position is a center of the main window screen."
+msgstr "初始窗口位置为主窗口屏幕的中心。"
+
+msgid "Initial window position is a center of [member current_screen] screen."
+msgstr "初始窗口位置为 [member current_screen] 屏幕的中心。"
+
msgid "The color of the title's text."
msgstr "标题文本的颜色。"
+msgid "The color of the title's text outline."
+msgstr "标题文本轮廓的颜色。"
+
+msgid "Horizontal position offset of the close button."
+msgstr "关闭按钮的水平位置偏移。"
+
+msgid "Vertical position offset of the close button."
+msgstr "关闭按钮的垂直位置偏移。"
+
+msgid "Height of the title bar."
+msgstr "标题栏的高度。"
+
+msgid "The size of the title outline."
+msgstr "标题轮廓的尺寸。"
+
msgid "The font used to draw the title."
msgstr "用于绘制标题的字体。"
+msgid "The size of the title font."
+msgstr "标题字体的大小。"
+
msgid "The icon for the close button."
msgstr "关闭按钮的图标。"
+msgid "The icon for the close button when it's being pressed."
+msgstr "关闭按钮被按下时的图标。"
+
msgid "Class that has everything pertaining to a 2D world."
msgstr "拥有与 2D 世界有关的所有内容的类。"
msgid "Class that has everything pertaining to a world."
msgstr "拥有与世界相关的一切的类。"
+msgid "The World3D's [Environment]."
+msgstr "该 World3D 的 [Environment]。"
+
msgid "The line's distance from the origin."
msgstr "该直线与原点的距离。"
@@ -29718,6 +54399,30 @@ msgid ""
msgstr ""
"此 [WorldEnvironment] 世界环境所使用的 [Environment] 环境资源,定义默认属性。"
+msgid "An X509 certificate (e.g. for TLS)."
+msgstr "X509 证书(例如用于 TLS)。"
+
+msgid ""
+"The X509Certificate class represents an X509 certificate. Certificates can "
+"be loaded and saved like any other [Resource].\n"
+"They can be used as the server certificate in [method StreamPeerTLS."
+"accept_stream] (along with the proper [CryptoKey]), and to specify the only "
+"certificate that should be accepted when connecting to an TLS server via "
+"[method StreamPeerTLS.connect_to_stream]."
+msgstr ""
+"X509Certificate 类代表 X509 证书。证书可以像其他的 [Resource] 资源一样加载和"
+"保存。\n"
+"可以用作 [method StreamPeerTLS.accept_stream] 中的服务器证书(搭配正确的 "
+"[CryptoKey]),也可以用于指定通过 [method StreamPeerTLS.connect_to_stream] 连"
+"接到 TLS 服务器时应该接受的唯一证书。"
+
+msgid "Loads a certificate from [param path] (\"*.crt\" file)."
+msgstr "从路径 [param path] 加载证书(“*.crt”文件)。"
+
+msgid ""
+"Saves a certificate to the given [param path] (should be a \"*.crt\" file)."
+msgstr "将证书保存到给定的路径 [param path](应该是“*.crt”文件)。"
+
msgid ""
"Low-level class for creating parsers for [url=https://en.wikipedia.org/wiki/"
"XML]XML[/url] files."
@@ -29764,6 +54469,13 @@ msgid ""
msgstr ""
"检查当前元素是否为空(只适用于完全空的标签,例如 [code]<element\\>[/code])。"
+msgid "Opens an XML [param file] for parsing. This returns an error code."
+msgstr "打开 XML 文件 [param file] 进行解析。返回的是错误码。"
+
+msgid ""
+"Opens an XML raw [param buffer] for parsing. This returns an error code."
+msgstr "打开 XML 缓冲区 [param buffer] 进行解析。返回的是错误码。"
+
msgid "Reads the next node of the file. This returns an error code."
msgstr "读取文件的下一个节点。返回的是错误码。"
@@ -29822,6 +54534,9 @@ msgid ""
"tracking."
msgstr "应用了一些 AR/VR 规则的相机节点,例如位置跟踪。"
+msgid "XR documentation index"
+msgstr "XR 文档索引"
+
msgid "A spatial node representing a spatially-tracked controller."
msgstr "表示空间跟踪控制器的空间节点。"
@@ -29831,6 +54546,9 @@ msgstr "当该控制器上的一个按钮被按下时触发。"
msgid "Emitted when a button on this controller is released."
msgstr "当该控制器上的一个按钮被释放时触发。"
+msgid "Base class for an XR interface implementation."
+msgstr "XR 接口实现的基类。"
+
msgid ""
"If this is an AR interface that requires displaying a camera feed as the "
"background, this method returns the feed ID in the [CameraServer] for this "
@@ -29845,11 +54563,21 @@ msgid ""
msgstr "返回 [enum Capabilities] 标签的组合,提供关于这个接口功能的信息。"
msgid ""
+"Returns the name of this interface (OpenXR, OpenVR, OpenHMD, ARKit, etc)."
+msgstr "返回该接口的名称(OpenXR、OpenVR、OpenHMD、ARKit 等)。"
+
+msgid ""
"Returns the resolution at which we should render our intermediate results "
"before things like lens distortion are applied by the VR platform."
msgstr "返回在VR平台应用镜头失真等内容之前渲染的中间结果的分辨率。"
msgid ""
+"Returns the an array of supported environment blend modes, see [enum "
+"XRInterface.EnvironmentBlendMode]."
+msgstr ""
+"返回支持的环境混合模式数组,见 [enum XRInterface.EnvironmentBlendMode]。"
+
+msgid ""
"If supported, returns the status of our tracking. This will allow you to "
"provide feedback to the user whether there are issues with positional "
"tracking."
@@ -29857,6 +54585,55 @@ msgstr ""
"如果支持,返回我们的跟踪状态。这将使你能够向用户反馈,是否存在位置跟踪的问"
"题。"
+msgid ""
+"Sets the active environment blend mode.\n"
+"[param mode] is the [enum XRInterface.EnvironmentBlendMode] starting with "
+"the next frame.\n"
+"[b]Note:[/b] Not all runtimes support all environment blend modes, so it is "
+"important to check this at startup. For example:\n"
+"[codeblock]\n"
+" func _ready():\n"
+" var xr_interface : XRInterface = XRServer."
+"find_interface(\"OpenXR\")\n"
+" if xr_interface and xr_interface.is_initialized():\n"
+" var vp : Viewport = get_viewport()\n"
+" vp.use_xr = true\n"
+" var acceptable_modes = [ XRInterface."
+"XR_ENV_BLEND_MODE_OPAQUE, XRInterface.XR_ENV_BLEND_MODE_ADDITIVE ]\n"
+" var modes = xr_interface."
+"get_supported_environment_blend_modes()\n"
+" for mode in acceptable_modes:\n"
+" if mode in modes:\n"
+" xr_interface."
+"set_environment_blend_mode(mode)\n"
+" break\n"
+"[/codeblock]"
+msgstr ""
+"设置活动的环境混合模式。\n"
+"[param mode] 为下一帧开始的 [enum XRInterface.EnvironmentBlendMode]。\n"
+"[b]注意:[/b]不是所有的运行时都支持全部的环境混合模式,所以在启动时进行检查很"
+"重要。例如:\n"
+"[codeblock]\n"
+" func _ready():\n"
+" var xr_interface : XRInterface = XRServer."
+"find_interface(\"OpenXR\")\n"
+" if xr_interface and xr_interface.is_initialized():\n"
+" var vp : Viewport = get_viewport()\n"
+" vp.use_xr = true\n"
+" var acceptable_modes = [ XRInterface."
+"XR_ENV_BLEND_MODE_OPAQUE, XRInterface.XR_ENV_BLEND_MODE_ADDITIVE ]\n"
+" var modes = xr_interface."
+"get_supported_environment_blend_modes()\n"
+" for mode in acceptable_modes:\n"
+" if mode in modes:\n"
+" xr_interface."
+"set_environment_blend_mode(mode)\n"
+" break\n"
+"[/codeblock]"
+
+msgid "Stops passthrough."
+msgstr "停止穿透。"
+
msgid "Turns the interface off."
msgstr "关闭接口。"
@@ -29873,6 +54650,9 @@ msgstr "此接口可以与正常的渲染输出一起工作(非基于 HMD 的
msgid "This interface supports stereoscopic rendering."
msgstr "该接口支持立体渲染。"
+msgid "This interface supports quad rendering (not yet supported by Godot)."
+msgstr "该接口支持四边形渲染(Godot 尚不支持)。"
+
msgid "This interface supports AR (video background and real world tracking)."
msgstr "该接口支持 AR(视频背景和真实世界跟踪)。"
@@ -29899,6 +54679,25 @@ msgid ""
"turned off, etc.)."
msgstr "追踪功能失效(相机未插电或被遮挡、灯塔关闭,等等)。"
+msgid "Opaque blend mode. This is typically used for VR devices."
+msgstr "不透明混合模式。通常用于 VR 设备。"
+
+msgid ""
+"Additive blend mode. This is typically used for AR devices or VR devices "
+"with passthrough."
+msgstr "加法混合模式。通常用于带有穿透功能的 AR 或 VR 设备。"
+
+msgid ""
+"Alpha blend mode. This is typically used for AR or VR devices with "
+"passthrough capabilities. The alpha channel controls how much of the "
+"passthrough is visible. Alpha of 0.0 means the passthrough is visible and "
+"this pixel works in ADDITIVE mode. Alpha of 1.0 means that the passthrough "
+"is not visible and this pixel works in OPAQUE mode."
+msgstr ""
+"Alpha 混合模式。通常用于带有穿透功能的 AR 或 VR 设备。Alpha 通道控制穿透的可"
+"见程度。Alpha 为 0.0 表示穿透可见、该像素处于加法模式。Alpha 为 1.0 表示穿透"
+"不可见,该像素处于不透明模式。"
+
msgid "The origin point in AR/VR."
msgstr "AR/VR 的原点。"
@@ -30019,7 +54818,7 @@ msgstr ""
msgid ""
"The profile associated with this tracker, interface dependent but will "
"indicate the type of controller being tracked."
-msgstr "与此追踪器关联的配置文件,取决于界面,但将指示被追踪的控制器类型。"
+msgstr "与此追踪器关联的配置,取决于界面,但将指示被追踪的控制器类型。"
msgid "The type of tracker."
msgstr "该追踪器的类型。"
@@ -30185,7 +54984,7 @@ msgid ""
"Resets the orientation but keeps the tilt of the device. So if we're looking "
"down, we keep looking down but heading will be reset."
msgstr ""
-"重置方向,但保持设备的倾斜度。因此,如果我们正在往下看,会继续往下看,但方向"
+"重置方向,但保持设备的倾斜度。因此,如果我们正在往下看,会继续往下看,但航向"
"会被重置。"
msgid ""
@@ -30193,6 +54992,84 @@ msgid ""
"gets centered."
msgstr "不重置 HMD 的方向,只让玩家的位置居中。"
+msgid "Allows the creation of zip files."
+msgstr "允许创建 zip 文件。"
+
+msgid ""
+"This class implements a writer that allows storing the multiple blobs in a "
+"zip archive.\n"
+"[codeblock]\n"
+"func write_zip_file():\n"
+" var writer := ZIPPacker.new()\n"
+" var err := writer.open(\"user://archive.zip\")\n"
+" if err != OK:\n"
+" return err\n"
+" writer.start_file(\"hello.txt\")\n"
+" writer.write_file(\"Hello World\".to_utf8_buffer())\n"
+" writer.close_file()\n"
+"\n"
+" writer.close()\n"
+" return OK\n"
+"[/codeblock]"
+msgstr ""
+"该类实现了一个写入器,可以将多个 blob 存储在一个压缩文件中。\n"
+"[codeblock]\n"
+"func write_zip_file():\n"
+" var writer := ZIPPacker.new()\n"
+" var err := writer.open(\"user://archive.zip\")\n"
+" if err != OK:\n"
+" return err\n"
+" writer.start_file(\"hello.txt\")\n"
+" writer.write_file(\"Hello World\".to_utf8_buffer())\n"
+" writer.close_file()\n"
+"\n"
+" writer.close()\n"
+" return OK\n"
+"[/codeblock]"
+
+msgid ""
+"Write the given [param data] to the file.\n"
+"Needs to be called after [method start_file]."
+msgstr ""
+"将给定的 [param data] 写到文件中。\n"
+"需要在 [method start_file] 之后调用。"
+
+msgid "Allows reading the content of a zip file."
+msgstr "允许读取 zip 文件的内容。"
+
+msgid ""
+"This class implements a reader that can extract the content of individual "
+"files inside a zip archive.\n"
+"[codeblock]\n"
+"func read_zip_file():\n"
+" var reader := ZIPReader.new()\n"
+" var err := reader.open(\"user://archive.zip\")\n"
+" if err != OK:\n"
+" return PackedByteArray()\n"
+" var res := reader.read_file(\"hello.txt\")\n"
+" reader.close()\n"
+" return res\n"
+"[/codeblock]"
+msgstr ""
+"该类实现了一个可以提取 zip 存档中各个文件内容的读取器。\n"
+"[codeblock]\n"
+"func read_zip_file():\n"
+" var reader := ZIPReader.new()\n"
+" var err := reader.open(\"user://archive.zip\")\n"
+" if err != OK:\n"
+" return PackedByteArray()\n"
+" var res := reader.read_file(\"hello.txt\")\n"
+" reader.close()\n"
+" return res\n"
+"[/codeblock]"
+
+msgid ""
+"Returns the list of names of all files in the loaded archive.\n"
+"Must be called after [method open]."
+msgstr ""
+"返回加载的存档中所有文件的名称列表。\n"
+"必须在 [method open] 之后调用。"
+
msgid ""
"Opens the zip archive at the given [param path] and reads its file index."
msgstr "打开给定 [param path] 的压缩文件,并读取其文件索引。"
diff --git a/editor/translations/editor/ar.po b/editor/translations/editor/ar.po
index 51d860efe7..719f8fd49e 100644
--- a/editor/translations/editor/ar.po
+++ b/editor/translations/editor/ar.po
@@ -71,13 +71,14 @@
# أحمد النور <ahmed2699@gmail.com>, 2022.
# Commander Gordon <gordoncommander@gmail.com>, 2022.
# Abdulrahman <abdelrahman.ramadan686@gmail.com>, 2022.
+# "Ali F. Abbas" <alifuadabbas@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-09 09:37+0000\n"
-"Last-Translator: Nabeel20 <nabeelandnizam@gmail.com>\n"
+"PO-Revision-Date: 2023-02-18 04:10+0000\n"
+"Last-Translator: \"Ali F. Abbas\" <alifuadabbas@gmail.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
"godot/ar/>\n"
"Language: ar\n"
@@ -146,18 +147,160 @@ msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT"
msgstr ""
"المحور الأفقي لمركز التحكم Joystick الثاني، المُطلق الأيسر، Sony L2، Xbox LT"
+msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT"
+msgstr "عصا التحكم 2 المحور Y, الزر الأيمن, زر R2 على Sony, زر RT على Xbox"
+
+msgid "Joystick 3 X-Axis"
+msgstr "المحور X لعصا التحكم 3"
+
+msgid "Joystick 3 Y-Axis"
+msgstr "المحور Y لعصا التحكم 3"
+
+msgid "Joystick 4 X-Axis"
+msgstr "المحور X لعصا التحكم 4"
+
+msgid "Joystick 4 Y-Axis"
+msgstr "المحور Y لعصا التحكم 4"
+
+msgid "Unknown Joypad Axis"
+msgstr "محور ذراع تحكم غير معروف"
+
+msgid "Joypad Motion on Axis %d (%s) with Value %.2f"
+msgstr "حركةذراع التحكم على المحور d% (s%) مع قيمة 2f.%"
+
+msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B"
+msgstr "مفتاح الحركة الأسفل, زر X على سوني, زر A على Xbox, زر B على Nintendo"
+
+msgid "Right Action, Sony Circle, Xbox B, Nintendo A"
+msgstr "مفتاح الحركة الأيمن, زر O على سوني, زر B على Xbox, زر A على Nintendo"
+
+msgid "Left Action, Sony Square, Xbox X, Nintendo Y"
+msgstr ""
+"مفتاح الحركة الأيسر, زر المربع على سوني, زر X على Xbox, زر Y على Nintendo"
+
+msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X"
+msgstr ""
+"مفتاح الحركة الأعلى, زر المثلث على سوني, زر Y على Xbox, زر X على Nintendo"
+
+msgid "Back, Sony Select, Xbox Back, Nintendo -"
+msgstr ""
+"مفتاح الرجوع, زر الإختيار على سوني, زر الرجوع على Xbox, زر - على Nintendo"
+
+msgid "Guide, Sony PS, Xbox Home"
+msgstr "الدليل, Sony PS, زر الرئيسية على Xbox"
+
+msgid "Start, Nintendo +"
+msgstr "البداية, زر + على Nintendo"
+
+msgid "Left Stick, Sony L3, Xbox L/LS"
+msgstr "الإتجاه الأيسر على عصا التحكم, زر L3 على Sony, زر L/LS على Xbox"
+
+msgid "Right Stick, Sony R3, Xbox R/RS"
+msgstr "الإتجاه الأيمن على عصا التحكم, زر R3 على Sony, زر R/RS على Xbox"
+
+msgid "Left Shoulder, Sony L1, Xbox LB"
+msgstr "زر الكتف الأيسر, زر L1 على Sony, زر LB على Xbox"
+
+msgid "Right Shoulder, Sony R1, Xbox RB"
+msgstr "زر الكتف الأيمن, زر R1 على Sony, زر RB على Xbox"
+
+msgid "D-pad Up"
+msgstr "زر ذراع التحكم الأعلى"
+
+msgid "D-pad Down"
+msgstr "زر ذراع التحكم الأسفل"
+
+msgid "D-pad Left"
+msgstr "زر ذراع التحكم الأيسر"
+
+msgid "D-pad Right"
+msgstr "زر ذراع التحكم الأيمن"
+
+msgid "Xbox Share, PS5 Microphone, Nintendo Capture"
+msgstr "Xbox مشاركة, PS5 ميكروفون, Nintendo إلتقاط"
+
+msgid "Xbox Paddle 1"
+msgstr "Xbox المجداف 1"
+
+msgid "Xbox Paddle 2"
+msgstr "Xbox المجداف 2"
+
+msgid "Xbox Paddle 3"
+msgstr "Xbox المجداف 3"
+
+msgid "Xbox Paddle 4"
+msgstr "Xbox المجداف 4"
+
+msgid "PS4/5 Touchpad"
+msgstr "PS4/5 لوحة اللمس"
+
+msgid "Joypad Button %d"
+msgstr "ذراع التحكم d%"
+
+msgid "Pressure:"
+msgstr "الضغط:"
+
+msgid "touched"
+msgstr "لُمست"
+
+msgid "released"
+msgstr "تُركت"
+
+msgid "Screen %s at (%s) with %s touch points"
+msgstr "الشاشة s% في (s%) مع s% نقاط لمس"
+
+msgid ""
+"Screen dragged with %s touch points at position (%s) with velocity of (%s)"
+msgstr "الشاشة سُحبت مع s% نقاط لمس في الموقع (s%) مع سرعة (s%)"
+
+msgid "Magnify Gesture at (%s) with factor %s"
+msgstr "إيماءة تكبير في (s%) مع العامل s%"
+
+msgid "Pan Gesture at (%s) with delta (%s)"
+msgstr "إيماءة حركة في (s%) مع معامل دلتا (s%)"
+
+msgid "MIDI Input on Channel=%s Message=%s"
+msgstr "إدخال MIDI على القناة=s% الرسالة=s%"
+
+msgid "Input Event with Shortcut=%s"
+msgstr "حدث إدخال مع إختصار=s%"
+
+msgid "Accept"
+msgstr "قبول"
+
msgid "Select"
msgstr "حدد"
msgid "Cancel"
msgstr "إلغاء"
+msgid "Focus Next"
+msgstr "حدد التالي"
+
+msgid "Focus Prev"
+msgstr "حدد السابق"
+
+msgid "Left"
+msgstr "يساراً"
+
+msgid "Right"
+msgstr "يميناً"
+
msgid "Up"
msgstr "أعلى"
msgid "Down"
msgstr "أسفل"
+msgid "Page Up"
+msgstr "الصفحة السابقة"
+
+msgid "Page Down"
+msgstr "الصفحة التالية"
+
+msgid "Home"
+msgstr "الرئيسية"
+
msgid "End"
msgstr "النهاية"
@@ -176,21 +319,123 @@ msgstr "تراجع"
msgid "Redo"
msgstr "إعادة تراجع"
+msgid "Completion Query"
+msgstr "إستعلام إكمال"
+
+msgid "New Line"
+msgstr "سطر جديد"
+
+msgid "New Blank Line"
+msgstr "سطر فارغ جديد"
+
+msgid "New Line Above"
+msgstr "سطر جديد في الأعلى"
+
+msgid "Indent"
+msgstr "المسافة البادئة"
+
+msgid "Dedent"
+msgstr "إنعدام المسافة البادئة"
+
+msgid "Backspace"
+msgstr "مفتاح التراجع"
+
+msgid "Backspace Word"
+msgstr "تراجع عن كلمة"
+
+msgid "Backspace all to Left"
+msgstr "أرجع الكل إلى اليسار"
+
msgid "Delete"
msgstr "حذف"
+msgid "Delete Word"
+msgstr "حذف كلمة"
+
+msgid "Delete all to Right"
+msgstr "حذف الكل إلى اليمين"
+
+msgid "Caret Left"
+msgstr "علامة إقحام على اليسار"
+
+msgid "Caret Word Left"
+msgstr "علامة إقحام الكلمة على اليسار"
+
+msgid "Caret Right"
+msgstr "علامة إقحام على اليمين"
+
+msgid "Caret Word Right"
+msgstr "علامة إقحام الكلمة على اليمين"
+
+msgid "Caret Up"
+msgstr "علامة الإقحام العليا"
+
+msgid "Caret Down"
+msgstr "عالمة الإقحام السفلى"
+
+msgid "Caret Line Start"
+msgstr "علامة إقحام بداية السطر"
+
+msgid "Caret Line End"
+msgstr "علامة إقحام نهاية السطر"
+
+msgid "Caret Page Up"
+msgstr "علامة إقحام الصفحة السابقة"
+
+msgid "Caret Page Down"
+msgstr "علامة إقحام الصفحة التالية"
+
+msgid "Caret Document Start"
+msgstr "علامة إقحام بداية المستند"
+
+msgid "Caret Document End"
+msgstr "علامة إقحام نهاية المستند"
+
+msgid "Caret Add Below"
+msgstr "علامة إقحام إضافة للأسفل"
+
+msgid "Caret Add Above"
+msgstr "علامة إقحام إضافة للأعلى"
+
+msgid "Scroll Up"
+msgstr "مرر لأعلى"
+
+msgid "Scroll Down"
+msgstr "مرر لأسفل"
+
msgid "Select All"
msgstr "تحديد الكل"
+msgid "Select Word Under Caret"
+msgstr "حدد كلمة تحت علامة الإقحام"
+
+msgid "Add Selection for Next Occurrence"
+msgstr "أضف التحديد للتكرار التالي"
+
+msgid "Clear Carets and Selection"
+msgstr "مسح التحديد و علامات الإقحام"
+
+msgid "Toggle Insert Mode"
+msgstr "التبديل إلى وضع الإدخال"
+
msgid "Duplicate Nodes"
msgstr "مضاعفة العُقد"
msgid "Delete Nodes"
msgstr "حذف العُقد"
+msgid "Go Up One Level"
+msgstr "إذهب مرحلة للأعلى"
+
msgid "Refresh"
msgstr "تحديث"
+msgid "Show Hidden"
+msgstr "أظهر الملفات المخفية"
+
+msgid "Swap Input Direction"
+msgstr "تبديل جهة الإدخال"
+
msgid "Invalid input %d (not passed) in expression"
msgstr "مدخلات خاطئة %d (لم يتم تمريرها) في التعبير"
@@ -212,6 +457,12 @@ msgstr "معامل غير صالح لإنشاء '%s'"
msgid "On call to '%s':"
msgstr "عند استدعاء '%s':"
+msgid "Built-in script"
+msgstr "النص المُدمج:"
+
+msgid "Built-in"
+msgstr "مُدمج:"
+
msgid "B"
msgstr "بايت"
@@ -233,6 +484,18 @@ msgstr "بيبي بايت (PiB)"
msgid "EiB"
msgstr "إكسي بايت (EiB)"
+msgid "Example: %s"
+msgstr "مثال: s%"
+
+msgid "%d item"
+msgid_plural "%d items"
+msgstr[0] "العنصر: d%"
+msgstr[1] "العنصر: d%"
+msgstr[2] "العنصران: d%"
+msgstr[3] "العناصر: d%"
+msgstr[4] "العناصر: d%"
+msgstr[5] "العناصر: d%"
+
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
@@ -243,9 +506,18 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "فعالية action بهذا الاسم '%s' موجودة سلفاً."
+msgid "Cannot Revert - Action is same as initial"
+msgstr "لا يمكن التراجع - الإجراء هو نفس الإجراء الأولي"
+
+msgid "Revert Action"
+msgstr "التراجع عن الإجراء"
+
msgid "Add Event"
msgstr "إضافة حَدث"
+msgid "Remove Action"
+msgstr "مسح الإجراء"
+
msgid "Add"
msgstr "أضف"
@@ -261,6 +533,9 @@ msgstr "الوقت:"
msgid "Value:"
msgstr "القيمة:"
+msgid "Update Selected Key Handles"
+msgstr "تحديث المفاتيح المحددة"
+
msgid "Insert Key Here"
msgstr "أدخل المفتاح هنا"
@@ -459,6 +734,9 @@ msgstr "موقع"
msgid "Scale"
msgstr "المقياس"
+msgid "BlendShape"
+msgstr "‏‮شكل ممزوج"
+
msgid "Methods"
msgstr "دوال"
@@ -541,12 +819,6 @@ msgstr "إستعمل منحنيات بيزر"
msgid "Create RESET Track(s)"
msgstr "إنشاء مسار(ات) إعادة التعيين (RESET)"
-msgid "Anim. Optimizer"
-msgstr "مُحسن الحركة"
-
-msgid "Max. Angular Error:"
-msgstr "أقصي أخطاء زواية:"
-
msgid "Optimize"
msgstr "تحسين"
@@ -1536,9 +1808,6 @@ msgstr "إفتح"
msgid "Select Current Folder"
msgstr "تحديد المجلد الحالي"
-msgid "File exists, overwrite?"
-msgstr "الملف موجود، إستبدال؟"
-
msgid "Select This Folder"
msgstr "حدد هذا المجلد"
@@ -3176,7 +3445,7 @@ msgid "Import As:"
msgstr "إستيراد ك:"
msgid "Preset"
-msgstr "إعداد مُسبق"
+msgstr "المعد مسبقا"
msgid "Save Scenes, Re-Import, and Restart"
msgstr "احفظ المشاهد، إعادة-الإستيراد، وإعادة التشغيل"
@@ -7053,9 +7322,6 @@ msgstr "تغيير المنطقة الميتة للفعالية Action deadzone"
msgid "Erase Input Action"
msgstr "مسح إجراء الإدخال"
-msgid "Rename Input Action Event"
-msgstr "إعادة تسمية حدث فعالية الإدخال"
-
msgid "Project Settings (project.godot)"
msgstr "إعدادات المشروع (project.godot)"
@@ -8124,9 +8390,6 @@ msgstr ""
msgid "The AnimationPlayer root node is not a valid node."
msgstr "العُقدة الرئيسة لمُشغل الرسومات المتحركة ليست عُقدة صالحة."
-msgid "Pick a color from the editor window."
-msgstr "اختر لوناً من نافذة المُحرر."
-
msgid "Switch between hexadecimal and code values."
msgstr "بدّل بين القيم البرمجية والسداسية العشرية."
@@ -8156,9 +8419,6 @@ msgstr "تنبيه!"
msgid "Please Confirm..."
msgstr "يُرجى التأكيد..."
-msgid "Must use a valid extension."
-msgstr "يجب أن يستخدم صيغة صحيحة."
-
msgid "Enable grid minimap."
msgstr "تفعيل الخريطة المصغرة للشبكة."
diff --git a/editor/translations/editor/bg.po b/editor/translations/editor/bg.po
index 227c371174..dceb2a6a32 100644
--- a/editor/translations/editor/bg.po
+++ b/editor/translations/editor/bg.po
@@ -23,7 +23,7 @@ msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 14:12+0000\n"
+"PO-Revision-Date: 2023-02-18 04:10+0000\n"
"Last-Translator: Любомир Василев <lyubomirv@gmx.com>\n"
"Language-Team: Bulgarian <https://hosted.weblate.org/projects/godot-engine/"
"godot/bg/>\n"
@@ -37,15 +37,75 @@ msgstr ""
msgid "Physical"
msgstr "Физически"
+msgid "Left Mouse Button"
+msgstr "Ляв бутон на мишката"
+
+msgid "Right Mouse Button"
+msgstr "Десен бутон на мишката"
+
+msgid "Middle Mouse Button"
+msgstr "Среден бутон на мишката"
+
+msgid "Mouse Wheel Up"
+msgstr "Колелцето на мишката нагоре"
+
+msgid "Mouse Wheel Down"
+msgstr "Колелцето на мишката надолу"
+
+msgid "Mouse Wheel Left"
+msgstr "Колелцето на мишката наляво"
+
+msgid "Mouse Wheel Right"
+msgstr "Колелцето на мишката надясно"
+
+msgid "Mouse Thumb Button 1"
+msgstr "Страничен бутон 1 на мишката"
+
+msgid "Mouse Thumb Button 2"
+msgstr "Страничен бутон 2 на мишката"
+
msgid "Button"
msgstr "Бутон"
+msgid "Double Click"
+msgstr "Двойно щракване"
+
+msgid "D-pad Left"
+msgstr "Кръстат бутон наляво"
+
+msgid "D-pad Right"
+msgstr "Кръстат бутон надясно"
+
+msgid "Joypad Button %d"
+msgstr "Бутон %d на контролера"
+
+msgid "Accept"
+msgstr "Потвърждаване"
+
msgid "Cancel"
msgstr "Отказ"
+msgid "Focus Next"
+msgstr "Фокусиране върху следващото"
+
+msgid "Focus Prev"
+msgstr "Фокусиране върху предишното"
+
+msgid "Left"
+msgstr "Наляво"
+
+msgid "Right"
+msgstr "Надясно"
+
msgid "Down"
msgstr "Надолу"
+msgid "Page Up"
+msgstr "Страница нагоре"
+
+msgid "Page Down"
+msgstr "Страница надолу"
+
msgid "End"
msgstr "Край"
@@ -58,18 +118,84 @@ msgstr "Копиране"
msgid "Paste"
msgstr "Поставяне"
+msgid "New Line"
+msgstr "Нов ред"
+
+msgid "Indent"
+msgstr "Увеличаване на отстъпа"
+
+msgid "Dedent"
+msgstr "Намаляване на отстъпа"
+
msgid "Delete"
msgstr "Изтриване"
+msgid "Delete Word"
+msgstr "Изтриване на дума"
+
+msgid "Delete all to Right"
+msgstr "Изтриване на всичко вдясно"
+
+msgid "Caret Left"
+msgstr "Курсор наляво"
+
+msgid "Caret Word Left"
+msgstr "Курсор с дума наляво"
+
+msgid "Caret Right"
+msgstr "Курсор надясно"
+
+msgid "Caret Word Right"
+msgstr "Курсор с дума надясно"
+
+msgid "Caret Down"
+msgstr "Курсор надолу"
+
+msgid "Caret Line Start"
+msgstr "Курсор в началото на реда"
+
+msgid "Caret Line End"
+msgstr "Курсор в края на реда"
+
+msgid "Caret Page Up"
+msgstr "Курсор страница нагоре"
+
+msgid "Caret Page Down"
+msgstr "Курсор страница надолу"
+
+msgid "Caret Document Start"
+msgstr "Курсор в началото на документа"
+
+msgid "Caret Document End"
+msgstr "Курсор в края документа"
+
+msgid "Scroll Up"
+msgstr "Превъртане нагоре"
+
+msgid "Scroll Down"
+msgstr "Превъртане надолу"
+
msgid "Select All"
msgstr "Избиране на всичко"
+msgid "Clear Carets and Selection"
+msgstr "Изчистване на курсорите и избраното"
+
+msgid "Toggle Insert Mode"
+msgstr "Превключване на режима на вмъкване"
+
msgid "Duplicate Nodes"
msgstr "Дублиране на обектите"
msgid "Delete Nodes"
msgstr "Изтриване на обектите"
+msgid "Show Hidden"
+msgstr "Показване на скритите"
+
+msgid "Swap Input Direction"
+msgstr "Промяна на направлението на въвеждане"
+
msgid "Invalid input %d (not passed) in expression"
msgstr "Неправилен входен параметър %d (не е подаден) в израза"
@@ -92,6 +218,12 @@ msgstr "Неправилни аргументи за изграждане на
msgid "On call to '%s':"
msgstr "При извикване на „%s“:"
+msgid "Built-in script"
+msgstr "Вграден скрипт"
+
+msgid "Built-in"
+msgstr "Вграден"
+
msgid "B"
msgstr "Б"
@@ -116,6 +248,36 @@ msgstr "ЕиБ"
msgid "An action with the name '%s' already exists."
msgstr "Вече съществува действие с името „%s“."
+msgid "Cannot Revert - Action is same as initial"
+msgstr "Няма нищо за отмяна – действието е същото като първоначалното"
+
+msgid "Revert Action"
+msgstr "Отмяна на действието"
+
+msgid "Add Event"
+msgstr "Добавяне на събитие"
+
+msgid "Remove Action"
+msgstr "Премахване на действието"
+
+msgid "Cannot Remove Action"
+msgstr "Действието не може да се премахне"
+
+msgid "Edit Event"
+msgstr "Редактиране на събитието"
+
+msgid "Remove Event"
+msgstr "Премахване на събитието"
+
+msgid "Filter by name..."
+msgstr "Филтриране по име…"
+
+msgid "Clear All"
+msgstr "Изчистване на всичко"
+
+msgid "Add New Action"
+msgstr "Добавяне на ново действие"
+
msgid "Add"
msgstr "Добавяне"
@@ -143,6 +305,12 @@ msgstr "Добавяне на точка на Безие"
msgid "Move Bezier Points"
msgstr "Преместване на точки на Безие"
+msgid "Select All Keys"
+msgstr "Избиране на всички ключове"
+
+msgid "Deselect All Keys"
+msgstr "Премахване на избора на всички ключове"
+
msgid "Change Animation Length"
msgstr "Промяна на продължителността на анимацията"
@@ -152,6 +320,15 @@ msgstr "Промени анимационния цикъл"
msgid "Property Track"
msgstr "Пътечка за свойство"
+msgid "3D Position Track"
+msgstr "Пътечка за 3-измерна позиция"
+
+msgid "3D Rotation Track"
+msgstr "Пътечка за 3-измерна ротация"
+
+msgid "3D Scale Track"
+msgstr "Пътечка за 3-измерно скалиране"
+
msgid "Call Method Track"
msgstr "Пътечка за извикване на метод"
@@ -188,6 +365,9 @@ msgstr "Промяна на пътя на пътечката"
msgid "Toggle this track on/off."
msgstr "Включване/изключване на тази пътечка."
+msgid "Use Blend"
+msgstr "Използване на смесване"
+
msgid "Update Mode (How this property is set)"
msgstr "Режим на обновяване (как се задава стойност на това свойство)"
@@ -213,9 +393,18 @@ msgstr "Завъртане:"
msgid "Scale:"
msgstr "Мащаб:"
+msgid "Blend Shape:"
+msgstr "Форма за смесване:"
+
msgid "Type:"
msgstr "Тип:"
+msgid "(Invalid, expected type: %s)"
+msgstr "(Неправилно, очакван тип: %s)"
+
+msgid "Start (s):"
+msgstr "Начало (сек):"
+
msgid "Toggle Track Enabled"
msgstr "Включване/изключване на пътечката"
@@ -234,12 +423,21 @@ msgstr "Линейно"
msgid "Cubic"
msgstr "Кубично"
+msgid "Linear Angle"
+msgstr "Линеен ъгъл"
+
+msgid "Cubic Angle"
+msgstr "Кубичен ъгъл"
+
msgid "Insert Key"
msgstr "Вмъкване на ключ"
msgid "Duplicate Key(s)"
msgstr "Дублиране на ключа/ключовете"
+msgid "Add RESET Value(s)"
+msgstr "Добавяне на НУЛИРАНЕ на стойност(и)"
+
msgid "Delete Key(s)"
msgstr "Изтриване на ключа/ключовете"
@@ -255,6 +453,12 @@ msgstr "Промяна на режима на повтаряне на анима
msgid "Remove Anim Track"
msgstr "Премахване на анимационната пътечка"
+msgid "Create new track for %s and insert key?"
+msgstr "Да се създаде ли нова пътечка за %s и да се вмъкне ключ?"
+
+msgid "Create %d new tracks and insert keys?"
+msgstr "Да се създадат ли %d нови пътечки и да се вмъкнат ключове?"
+
msgid "Create"
msgstr "Създаване"
@@ -273,6 +477,11 @@ msgstr "Промяна на стъпката на анимацията"
msgid "Rearrange Tracks"
msgstr "Пренареждане на пътечките"
+msgid "Blend Shape tracks only apply to MeshInstance3D nodes."
+msgstr ""
+"Пътечките за форма на смесване могат да работят само с обекти от тип "
+"MeshInstance3D."
+
msgid ""
"Audio tracks can only point to nodes of type:\n"
"-AudioStreamPlayer\n"
@@ -303,9 +512,15 @@ msgstr "Добавяне на ключ за пътечка с метод"
msgid "Position"
msgstr "Позиция"
+msgid "Rotation"
+msgstr "Ротация"
+
msgid "Scale"
msgstr "Скалиране"
+msgid "BlendShape"
+msgstr "Форма на смесване"
+
msgid "Methods"
msgstr "Методи"
@@ -409,6 +624,9 @@ msgstr "Свързване към скрипт:"
msgid "From Signal:"
msgstr "От сигнал:"
+msgid "Go to Source"
+msgstr "Към източника"
+
msgid "Scene does not contain any script."
msgstr "Сцената не съдържа скриптове."
@@ -418,6 +636,9 @@ msgstr "Избиране на метод"
msgid "Remove"
msgstr "Премахване"
+msgid "Unbind Signal Arguments:"
+msgstr "Несвързани аргументи на сигнал:"
+
msgid "Receiver Method:"
msgstr "Метод-получател:"
@@ -433,6 +654,9 @@ msgstr "Свързване"
msgid "Signal:"
msgstr "Сигнал:"
+msgid "No description."
+msgstr "Няма описание."
+
msgid "Connect '%s' to '%s'"
msgstr "Свързване на „%s“ с „%s“"
@@ -451,12 +675,18 @@ msgstr "Разкачване"
msgid "Connect a Signal to a Method"
msgstr "Свързване на сигнала към метод"
+msgid "Edit Connection: '%s'"
+msgstr "Редактиране на връзката: „%s“"
+
msgid "Signals"
msgstr "Сигнали"
msgid "Disconnect All"
msgstr "Разкачване на всички"
+msgid "Copy Name"
+msgstr "Копиране на името"
+
msgid "Edit..."
msgstr "Редактиране..."
@@ -481,6 +711,9 @@ msgstr "Съвпадения:"
msgid "Description:"
msgstr "Описание:"
+msgid "Remote %s:"
+msgstr "Отдалечено %s:"
+
msgid "Debugger"
msgstr "Дебъгер"
@@ -511,15 +744,72 @@ msgstr "Грешка:"
msgid "%s Error"
msgstr "Грешка от %s"
+msgid "%s Error:"
+msgstr "Грешка в %s:"
+
+msgid "%s Source"
+msgstr "Изходен код на %s:"
+
+msgid "%s Source:"
+msgstr "Изходен код на %s:"
+
+msgid "Debug session started."
+msgstr "Сесията на дебъгване започна."
+
+msgid "Debug session closed."
+msgstr "Сесията на дебъгване приключи."
+
+msgid "Line %d"
+msgstr "Ред %d"
+
+msgid "Delete Breakpoint"
+msgstr "Изтриване на точката на прекъсване"
+
+msgid "Delete All Breakpoints in:"
+msgstr "Премахване на всички точки на прекъсване в:"
+
+msgid "Delete All Breakpoints"
+msgstr "Премахване на всички точки на прекъсване"
+
msgid "Copy Error"
msgstr "Копиране на грешката"
+msgid "Open C++ Source on GitHub"
+msgstr "Отваряне на изходния код (C++) в GitHub"
+
+msgid "C++ Source"
+msgstr "Изходен код (C++)"
+
+msgid "Video RAM"
+msgstr "Видео-памет"
+
msgid "Skip Breakpoints"
msgstr "Пропускане на точките на прекъсване"
+msgid "Step Into"
+msgstr "Навлизане навътре"
+
+msgid "Step Over"
+msgstr "Прескачане"
+
+msgid "Break"
+msgstr "Пауза"
+
+msgid "Continue"
+msgstr "Продължаване"
+
+msgid "Stack Frames"
+msgstr "Стек"
+
+msgid "Filter Stack Variables"
+msgstr "Филтриране на променливите в стека"
+
msgid "Breakpoints"
msgstr "Точки на прекъсване"
+msgid "Expand All"
+msgstr "Разгъване на всичко"
+
msgid "Collapse All"
msgstr "Свиване на всичко"
@@ -739,21 +1029,72 @@ msgstr "Глобална променлива"
msgid "Navigation"
msgstr "Навигация"
+msgid "Navigation, both 2D and 3D."
+msgstr "Навигация (2- и 3-измерна)."
+
+msgid ""
+"Text Server implementation powered by ICU and HarfBuzz libraries.\n"
+"Supports complex text layouts, BiDi, and contextual OpenType font features."
+msgstr ""
+"Реализация на текстовия сървър на основата на библиотеките ICU и HarfBuzz.\n"
+"Поддържат се сложни текстови оформления, двупосочен текст и контекстно-"
+"зависимите функционалности на шрифтове OpenType."
+
+msgid ""
+"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType "
+"library (if disabled, WOFF2 support is also disabled)."
+msgstr ""
+"Поддръжка на форматите за шрифтове TrueType, OpenType, Type 1 и WOFF1чрез "
+"библиотеката FreeType (ако това е изключено, поддръжката на WOFF2 също ще "
+"бъде изключена)."
+
+msgid "WOFF2 font format support using FreeType and Brotli libraries."
+msgstr ""
+"Поддръжка на формата за шрифтове WOFF2 чрез библиотеките FreeType и Brotli."
+
+msgid ""
+"SIL Graphite smart font technology support (supported by Advanced Text "
+"Server only)."
+msgstr ""
+"Поддръжка на умната технология за шрифтове „SIL Graphite“ (поддържа се само "
+"от разширения текстов сървър)."
+
+msgid "General Features:"
+msgstr "Общи функционалности:"
+
+msgid "Text Rendering and Font Options:"
+msgstr "Настройки за изчертаването на текст и шрифтовете:"
+
+msgid "File saving failed."
+msgstr "Запазването на файла беше неуспешно."
+
msgid "Nodes and Classes:"
msgstr "Обекти и класове:"
+msgid "File '%s' format is invalid, import aborted."
+msgstr "Форматът на файла „%s“ е неправилен. Внасянето е прекратено."
+
msgid "Error saving profile to path: '%s'."
msgstr "Грешка при запазването на профила в: „%s“."
msgid "New"
-msgstr "Нова"
+msgstr "Нов"
msgid "Save"
msgstr "Запазване"
+msgid "Profile:"
+msgstr "Профил:"
+
msgid "Reset to Defaults"
msgstr "Връщане на стандартните настройки"
+msgid "Actions:"
+msgstr "Действия:"
+
+msgid "Please Confirm:"
+msgstr "Моля, потвърдете:"
+
msgid "Export Profile"
msgstr "Изнасяне на профила"
@@ -865,9 +1206,6 @@ msgstr "Отваряне"
msgid "Select Current Folder"
msgstr "Избиране на текущата папка"
-msgid "File exists, overwrite?"
-msgstr "Файлът съществува. Искате ли да го презапишете?"
-
msgid "Select This Folder"
msgstr "Избиране на тази папка"
@@ -940,6 +1278,9 @@ msgstr "Запазване и рестартиране"
msgid "(Re)Importing Assets"
msgstr "(Повторно) внасяне на ресурсите"
+msgid "No return value."
+msgstr "Не връща стойност."
+
msgid "Class:"
msgstr "Клас:"
@@ -955,6 +1296,12 @@ msgstr "Описание"
msgid "overrides %s:"
msgstr "заменя %s:"
+msgid "property:"
+msgstr "свойство:"
+
+msgid "Operators"
+msgstr "Оператори"
+
msgid "Theme Properties"
msgstr "Свойства на темата"
@@ -976,6 +1323,9 @@ msgstr "Стилове"
msgid "Enumerations"
msgstr "Изброени типове"
+msgid "Annotations"
+msgstr "Анотации"
+
msgid "Property Descriptions"
msgstr "Описания на свойствата"
@@ -1006,6 +1356,9 @@ msgstr "Показване на всичко"
msgid "Methods Only"
msgstr "Само методи"
+msgid "Operators Only"
+msgstr "Само оператори"
+
msgid "Signals Only"
msgstr "Само сигнали"
@@ -1027,6 +1380,9 @@ msgstr "Метод"
msgid "Signal"
msgstr "Сигнал"
+msgid "Annotation"
+msgstr "Анотация"
+
msgid "Constant"
msgstr "Константа"
@@ -1045,9 +1401,15 @@ msgstr "Преместване нагоре"
msgid "Move Down"
msgstr "Преместване надолу"
+msgid "Resize Array..."
+msgstr "Преоразмеряване на масива…"
+
msgid "Resize Array"
msgstr "Преоразмеряване на масива"
+msgid "Metadata name must be a valid identifier."
+msgstr "Името на мета-данните трябва да бъде правилен идентификатор."
+
msgid "Copy Property Path"
msgstr "Копиране на пътя на свойството"
@@ -1063,6 +1425,26 @@ msgstr "Редактиране на филтрите"
msgid "Language:"
msgstr "Език:"
+msgctxt "Locale"
+msgid "Script:"
+msgstr "Писменост:"
+
+msgid "Country:"
+msgstr "Страна:"
+
+msgid "Language"
+msgstr "Език"
+
+msgctxt "Locale"
+msgid "Script"
+msgstr "Писменост"
+
+msgid "Country"
+msgstr "Страна"
+
+msgid "Variant"
+msgstr "Вариант"
+
msgid "Clear Output"
msgstr "Изчистване на изхода"
@@ -1099,12 +1481,21 @@ msgstr "Грешка при запазването на библиотеката
msgid "Changes may be lost!"
msgstr "Промените могат да бъдат загубени!"
+msgid "Could not start subprocess(es)!"
+msgstr "Пускането на под-процес(и) е невъзможно!"
+
+msgid "Reload the played scene."
+msgstr "Презареждане на пуснатата сцена."
+
msgid "Play the project."
msgstr "Пускане на проекта."
msgid "Play the edited scene."
msgstr "Пускане на редактираната сцена."
+msgid "Play a custom scene."
+msgstr "Пускане на персонализирана сцена."
+
msgid "Quick Open..."
msgstr "Бързо отваряне..."
@@ -1120,6 +1511,12 @@ msgstr "Запазване на сцената като..."
msgid "Current scene not saved. Open anyway?"
msgstr "Текущата сцена не е запазена. Отваряне въпреки това?"
+msgid "Remote Undo: %s"
+msgstr "Отдалечена отмяна: %s"
+
+msgid "Remote Redo: %s"
+msgstr "Отдалечено повторение: %s"
+
msgid "Can't reload a scene that was never saved."
msgstr "Сцена, която никога не е била запазвана, не може да бъде презаредена."
@@ -1255,6 +1652,9 @@ msgstr "Повторно отваряне на затворена сцена"
msgid "Save Scene"
msgstr "Запазване на сцената"
+msgid "Export As..."
+msgstr "Изнасяне като…"
+
msgid "MeshLibrary..."
msgstr "Библиотека с полигонни мрежи…"
@@ -1270,6 +1670,9 @@ msgstr "Проект"
msgid "Project Settings..."
msgstr "Настройки на проекта..."
+msgid "Project Settings"
+msgstr "Настройки на проекта"
+
msgid "Version Control"
msgstr "Контрол на версиите"
@@ -1294,6 +1697,9 @@ msgstr "Редактор"
msgid "Editor Settings..."
msgstr "Настройки на редактора..."
+msgid "Command Palette..."
+msgstr "Палитра с команди…"
+
msgid "Take Screenshot"
msgstr "Заснемане на екрана"
@@ -1321,6 +1727,9 @@ msgstr "Относно Godot"
msgid "Run Project"
msgstr "Пускане на проекта"
+msgid "Choose a renderer."
+msgstr "Избор на метод на изчертаване."
+
msgid "Inspector"
msgstr "Инспектор"
@@ -1412,21 +1821,51 @@ msgstr "Нов скрипт"
msgid "Extend Script"
msgstr "Разширяване на скрипта"
+msgid "New Shader"
+msgstr "Нов шейдър"
+
+msgid "Edit Built-in Action"
+msgstr "Редактиране на вграденото действие"
+
msgid "Editor Settings"
msgstr "Настройки на редактора"
msgid "General"
msgstr "Общи"
+msgid "No notifications."
+msgstr "Няма известия."
+
+msgid "Show notifications."
+msgstr "Показване на известията."
+
+msgid "Silence the notifications."
+msgstr "Заглушаване на известията."
+
msgid "All Devices"
msgstr "Всички устройства"
msgid "Device"
msgstr "Устройство"
+msgid "Completed with warnings."
+msgstr "Завършено с предупредителни съобщения."
+
msgid "Could not open file to read from path \"%s\"."
msgstr "Файловете на проекта не могат да бъдат изнесени като проект на gradle."
+msgid "Failed to export project files."
+msgstr "Файловете на проекта не бяха изнесени успешно."
+
+msgid "Can't open encrypted file to write."
+msgstr "Не може да бъде отворен шифрован файл за запис."
+
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Не може да бъде отворен файл за четене от пътя „%s“."
+
+msgid "Template file not found: \"%s\"."
+msgstr "Шаблонният файл не е намерен: „%s“."
+
msgid "Retrieving the mirror list..."
msgstr "Получаване на списъка с огледални местоположения..."
@@ -1563,9 +2002,21 @@ msgstr ""
"Неправилен ключ за шифроване (трябва да бъде с дължина 64 шестнадесетични "
"знака)"
+msgid "Export PCK/ZIP..."
+msgstr "Изнасяне на PCK/ZIP…"
+
+msgid "Export Project..."
+msgstr "Изнасяне на проекта…"
+
msgid "Export All"
msgstr "Изнасяне на всичко"
+msgid "Choose an export mode:"
+msgstr "Изберете режим на изнасяне:"
+
+msgid "Export All..."
+msgstr "Изнасяне на всичко…"
+
msgid "ZIP File"
msgstr "Файл ZIP"
@@ -1590,6 +2041,12 @@ msgstr "Грешка при преместването:"
msgid "Error duplicating:"
msgstr "Грешка при дублирането:"
+msgid "Failed to save resource at %s: %s"
+msgstr "Ресурсът не може да бъде запазен в %s: %s"
+
+msgid "Failed to load resource at %s: %s"
+msgstr "Ресурсът не може да бъде зареден от %s: %s"
+
msgid "Unable to update dependencies:"
msgstr "Зависимостите не могат да бъдат обновени:"
@@ -1653,6 +2110,15 @@ msgstr "Замяна във файловете"
msgid "Searching..."
msgstr "Търсене..."
+msgid "%d match in %d file"
+msgstr "%d съвпадение в %d файл"
+
+msgid "%d matches in %d file"
+msgstr "%d съвпадения в %d файл"
+
+msgid "%d matches in %d files"
+msgstr "%d съвпадения в %d файла"
+
msgid "Invalid group name."
msgstr "Неправилно име на група."
@@ -1674,9 +2140,21 @@ msgstr "Редактор на групи"
msgid "Reimport"
msgstr "Повторно внасяне"
+msgid "Enable looping."
+msgstr "Включване на повтарянето."
+
msgid "Offset:"
msgstr "Отместване:"
+msgid "Loop:"
+msgstr "Повтаряне:"
+
+msgid "Music Playback:"
+msgstr "Възпроизвеждане на музика:"
+
+msgid "Configuration:"
+msgstr "Конфигурация:"
+
msgid "Importing Scene..."
msgstr "Внасяне на сцената..."
@@ -1692,6 +2170,35 @@ msgstr "2D"
msgid "3D"
msgstr "3D"
+msgid "<Unnamed Material>"
+msgstr "<Материал без име>"
+
+msgid "Error opening scene"
+msgstr "Грешка при отварянето на сцената"
+
+msgid "Extract"
+msgstr "Извличане"
+
+msgid "Set Paths"
+msgstr "Задаване на пътища"
+
+msgid "Set paths to save animations as resource files on Reimport"
+msgstr ""
+"Задаване на пътища за запазване на анимациите като ресурсни файлове при "
+"повторно внасяне"
+
+msgid "Actions..."
+msgstr "Действия…"
+
+msgid "Extract Materials"
+msgstr "Извличане на материалите"
+
+msgid "Materials"
+msgstr "Материали"
+
+msgid "Save Extension:"
+msgstr "Разширение:"
+
msgid "Select Importer"
msgstr "Изберете вид внасяне"
@@ -1713,6 +2220,9 @@ msgstr "Внасяне като:"
msgid "Failed to load resource."
msgstr "Ресурсът не може да бъде зареден."
+msgid "Property Name Style"
+msgstr "Начин на показване на имената на свойствата"
+
msgid "Copy Properties"
msgstr "Копиране на свойствата"
@@ -2123,6 +2633,12 @@ msgstr ""
msgid "Save Animation"
msgstr "Запазване на анимацията"
+msgid "Invalid AnimationLibrary file."
+msgstr "Неправилен файл с анимационна библиотека."
+
+msgid "Invalid Animation file."
+msgstr "Неправилен файл с анимация."
+
msgid "Animation Name:"
msgstr "Име на анимацията:"
@@ -2132,6 +2648,21 @@ msgstr "Поставена анимация"
msgid "Open in Inspector"
msgstr "Отваряне в инспектора"
+msgid "Paste Animation to Library from clipboard"
+msgstr "Поставяне на анимация от буфера за обмен в библиотеката"
+
+msgid "Save animation library to resource on disk"
+msgstr "Запазване на анимационната библиотека като ресурс на диска"
+
+msgid "Remove animation library"
+msgstr "Премахване на анимационната библиотека"
+
+msgid "Copy animation to clipboard"
+msgstr "Копиране на анимацията в буфера за обмен"
+
+msgid "Save animation to resource on disk"
+msgstr "Запазване на анимацията като ресурс на диска"
+
msgid "Toggle Autoplay"
msgstr "Превключване на авт. възпроизвеждане"
@@ -2185,6 +2716,9 @@ msgstr "Инструменти за анимациите"
msgid "Animation"
msgstr "Анимация"
+msgid "Manage Animations..."
+msgstr "Управление на анимациите…"
+
msgid "Edit Transitions..."
msgstr "Редактиране на преходите..."
@@ -2281,6 +2815,9 @@ msgstr "Групиране на избрания обект/обекти"
msgid "Remove selected node or transition."
msgstr "Премахване на избрания обект или преход."
+msgid "Transition:"
+msgstr "Преход:"
+
msgid "Play Mode:"
msgstr "Режим на възпроизвеждане:"
@@ -2507,6 +3044,9 @@ msgstr "Групирано"
msgid "Add Node Here"
msgstr "Добавяне на обект тук"
+msgid "Scaling:"
+msgstr "Скалиране:"
+
msgid "Lock Selected"
msgstr "Заключване на избраното"
@@ -2669,6 +3209,11 @@ msgstr ""
"Ако тази настройка е включено, навигационните полигони и мрежи ще бъдат "
"видими в изпълняващия се проект."
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "Пускане на %d екземпляр"
+msgstr[1] "Пускане на %d екземпляра"
+
msgid " - Variation"
msgstr " – Вариация"
@@ -2696,6 +3241,9 @@ msgstr "Точки на повърхността + нормали (насоче
msgid "Volume"
msgstr "Обем"
+msgid "Emission Source:"
+msgstr "Източник на излъчването:"
+
msgid ""
"Can't determine a save path for lightmap images.\n"
"Save your scene and try again."
@@ -2748,6 +3296,18 @@ msgstr ""
msgid "No mesh to debug."
msgstr "Няма полигонна мрежа за дебъгване."
+msgid "MeshInstance3D lacks a Mesh."
+msgstr "В MeshInstance3D няма полигонна мрежа."
+
+msgid "Mesh has no surface to create outlines from."
+msgstr "Полигонната мрежа няма повърхност, от която да се създадат контури."
+
+msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES."
+msgstr "Примитивният тип на полигонната мрежа не е PRIMITIVE_TRIANGLES."
+
+msgid "Could not create outline."
+msgstr "Контурът не може да бъде създаден."
+
msgid "Create Outline"
msgstr "Създаване на контур"
@@ -2810,6 +3370,15 @@ msgstr "Източник за полигонна мрежа:"
msgid "Mesh Up Axis:"
msgstr "Ос сочеща нагоре за полигонната мрежа:"
+msgid "YZ-Plane Transform."
+msgstr "Трансформация в равнината YZ."
+
+msgid "XZ-Plane Transform."
+msgstr "Трансформация в равнината XZ."
+
+msgid "XY-Plane Transform."
+msgstr "Трансформация в равнината XY."
+
msgid "Objects: %d\n"
msgstr "Обекти: %d\n"
@@ -2846,12 +3415,18 @@ msgstr "Ротация"
msgid "Translate"
msgstr "Транслиране"
+msgid "Translating:"
+msgstr "Транслиране:"
+
msgid "Rotating %s degrees."
msgstr "Завъртане на %s градуса."
msgid "Lock View Rotation"
msgstr "Заключване на въртенето на изгледа"
+msgid "Normal Buffer"
+msgstr "Буфер за нормалите"
+
msgid "View Environment"
msgstr "Показване на обкръжението"
@@ -2929,6 +3504,27 @@ msgstr "Прилепване на обектите към пода"
msgid "Couldn't find a solid floor to snap the selection to."
msgstr "Не е намерен твърд под, към който да се прилепи избраното."
+msgid ""
+"Scene contains\n"
+"DirectionalLight3D.\n"
+"Preview disabled."
+msgstr ""
+"Сцената съдържа\n"
+"DirectionalLight3D.\n"
+"Прегледът е невъзможен."
+
+msgid "Preview disabled."
+msgstr "Прегледът е невъзможен."
+
+msgid ""
+"Scene contains\n"
+"WorldEnvironment.\n"
+"Preview disabled."
+msgstr ""
+"Сцената съдържа\n"
+"WorldEnvironment.\n"
+"Прегледът е невъзможен."
+
msgid "Use Local Space"
msgstr "Използване на локалното пространство"
@@ -3314,12 +3910,18 @@ msgstr "Към следващата точка на прекъсване"
msgid "Go to Previous Breakpoint"
msgstr "Към предходната точка на прекъсване"
+msgid "Save File As"
+msgstr "Запазване на файла като"
+
msgid "Create Rest Pose from Bones"
msgstr "Създаване на поза на покоя от костите"
msgid "Reset to Rest Pose"
msgstr "Връщане в поза на покой"
+msgid "Export Skeleton Profile As..."
+msgstr "Изнасяне на профила на скелета като…"
+
msgid "Create Polygon2D"
msgstr "Създаване на Polygon2D"
@@ -3353,6 +3955,15 @@ msgstr "Създаване на съседен CollisionPolygon2D"
msgid "Create LightOccluder2D Sibling"
msgstr "Създаване на съседен LightOccluder2D"
+msgid "Simplification:"
+msgstr "Опростяване:"
+
+msgid "Shrink (Pixels):"
+msgstr "Смаляване (пиксели):"
+
+msgid "Grow (Pixels):"
+msgstr "Уголемяване (пиксели):"
+
msgid "Update Preview"
msgstr "Обновяване на предварителния преглед"
@@ -3508,6 +4119,9 @@ msgstr "Премахване на всички елементи – иконки
msgid "Remove All StyleBox Items"
msgstr "Премахване на всички елементи – стилове"
+msgid "Remove Data Type Items From Theme"
+msgstr "Премахване на елементите с типове данни от темата"
+
msgid "Add Color Item"
msgstr "Добавяне на елемент – цвят"
@@ -3682,9 +4296,57 @@ msgstr "Завъртане надясно"
msgid "Rotate Left"
msgstr "Завъртане наляво"
+msgid "Shift+Ctrl: Draw rectangle."
+msgstr "Shift+Ctrl: рисуване на правоъгълник."
+
+msgid "Scattering:"
+msgstr "Разпръскване:"
+
+msgid "To Source"
+msgstr "Към източник"
+
+msgid "Select tiles."
+msgstr "Избиране на плочки."
+
+msgid "No tiles selected."
+msgstr "Няма избрани плочки."
+
+msgid "Yes"
+msgstr "Да"
+
+msgid "No"
+msgstr "Не"
+
+msgid "Add a new atlas source"
+msgstr "Добавяне на нов източник на атлас"
+
+msgid "Remove source"
+msgstr "Премахване на източника"
+
+msgid "Add atlas source"
+msgstr "Добавяне на източник на атлас"
+
+msgid "Sort Sources"
+msgstr "Сортиране на източниците"
+
+msgid "Scenes Collection"
+msgstr "Колекция от сцени"
+
+msgid "Open Atlas Merging Tool"
+msgstr "Отваряне на инструмента за обединяване на атласи"
+
+msgid "Scenes collection properties:"
+msgstr "Свойства на колекцията от сцени:"
+
+msgid "Tile properties:"
+msgstr "Свойства на плочката:"
+
msgid "TileSet"
msgstr "Плочен набор"
+msgid "TileMap"
+msgstr "Плочна карта"
+
msgid "Error"
msgstr "Грешка"
@@ -3841,9 +4503,27 @@ msgstr "Функция за цвят."
msgid "Color constant."
msgstr "Константа за цвят."
+msgid "Color parameter."
+msgstr "Свойство за цвят."
+
+msgid "Integer function."
+msgstr "Целочислена функция."
+
+msgid "Integer operator."
+msgstr "Целочислен оператор."
+
msgid "Transform function."
msgstr "Функция за трансформация."
+msgid "Transform operator."
+msgstr "Оператор за трансформация."
+
+msgid "Sums two transforms."
+msgstr "Сумира две трансформации."
+
+msgid "Divides two transforms."
+msgstr "Разделя две трансформации."
+
msgid "Transform constant."
msgstr "Константа за трансформация."
@@ -4052,6 +4732,9 @@ msgstr "Нулиране"
msgid "Regular Expression Error:"
msgstr "Грешка в регулярния израз:"
+msgid "Scene name is empty."
+msgstr "Името на сцената е празно."
+
msgid "2D Scene"
msgstr "2-измерна сцена"
@@ -4180,6 +4863,9 @@ msgstr "Неправилен базов път."
msgid "Wrong extension chosen."
msgstr "Избрано е грешно разширение."
+msgid "Global shader parameter '%s' already exists'"
+msgstr "Вече съществува глобален шейдърен параметър с името „%s“"
+
msgid "Invalid type argument to convert(), use TYPE_* constants."
msgstr ""
"Невалиден тип на аргумент, подаден на convert() - използвайте константите "
@@ -4549,6 +5235,17 @@ msgstr ""
"Използвайте го само като под-обект на Area3D, StaticBody3D, RigidBody3D, "
"KinematicBody3D и т.н., за да им дадете форма."
+msgid ""
+"CollisionShape3D only serves to provide a collision shape to a "
+"CollisionObject3D derived node.\n"
+"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. to give them a shape."
+msgstr ""
+"CollisionShape3D служи само, за да даде форма за колизии на обект основан на "
+"CollisionObject3D.\n"
+"Използвайте го само като под-обект на Area3D, StaticBody3D, RigidBody3D, "
+"KinematicBody3D, и т.н., за да им дадете форма."
+
msgid "Nothing is visible because no mesh has been assigned."
msgstr "Не се вижда нищо, той като няма зададена полигонна мрежа."
@@ -4558,6 +5255,12 @@ msgstr ""
"Не се вижда нищо, тъй като полигонните мрежи не са били свързани към стъпки "
"на изчертаване."
+msgid "Creating probes"
+msgstr "Създаване на сонди"
+
+msgid "Generating Probe Volumes"
+msgstr "Създаване на обеми за сонди"
+
msgid "This body will be ignored until you set a mesh."
msgstr "Това тяло ще бъде игнорирано, докато не зададете полигонна мрежа."
@@ -4577,12 +5280,12 @@ msgstr "Тревога!"
msgid "Please Confirm..."
msgstr "Моля, потвърдете..."
-msgid "Must use a valid extension."
-msgstr "Трябва да се използва правилно разширение."
-
msgid "(Other)"
msgstr "(Други)"
+msgid "Unsupported BMFont texture format."
+msgstr "Неподдържан формат за текстури BMFont"
+
msgid ""
"Shader keywords cannot be used as parameter names.\n"
"Choose another name."
diff --git a/editor/translations/editor/ca.po b/editor/translations/editor/ca.po
index 6d888c3448..8e60fbc066 100644
--- a/editor/translations/editor/ca.po
+++ b/editor/translations/editor/ca.po
@@ -445,12 +445,6 @@ msgstr "Aplica reinicialització"
msgid "Use Bezier Curves"
msgstr "Fés servir Corbes Bézier"
-msgid "Anim. Optimizer"
-msgstr "Optimitzador d'Animació"
-
-msgid "Max. Angular Error:"
-msgstr "Error Angular Max.:"
-
msgid "Optimize"
msgstr "Optimitza"
@@ -5635,9 +5629,6 @@ msgstr "Canviar zona morta de l'acció"
msgid "Erase Input Action"
msgstr "Elimina l'Acció d'Entrada"
-msgid "Rename Input Action Event"
-msgstr "Reanomena la Incidència de l'Acció d'Entrada"
-
msgid "Project Settings (project.godot)"
msgstr "Configuració del Projecte (project.godot)"
@@ -6279,9 +6270,6 @@ msgstr "Ep!"
msgid "Please Confirm..."
msgstr "Confirmeu..."
-msgid "Must use a valid extension."
-msgstr "Cal utilitzar una extensió vàlida."
-
msgid "Enable grid minimap."
msgstr "Activa el minimapa de quadrícula."
diff --git a/editor/translations/editor/cs.po b/editor/translations/editor/cs.po
index 3c58f37106..e9a8d5f83d 100644
--- a/editor/translations/editor/cs.po
+++ b/editor/translations/editor/cs.po
@@ -9,7 +9,7 @@
# Luděk Novotný <gladosicek@gmail.com>, 2016, 2018.
# Martin Novák <maidx@seznam.cz>, 2017, 2019.
# zxey <r.hozak@seznam.cz>, 2018.
-# Vojtěch Šamla <auzkok@seznam.cz>, 2018, 2019, 2020, 2021, 2022.
+# Vojtěch Šamla <auzkok@seznam.cz>, 2018, 2019, 2020, 2021, 2022, 2023.
# Peeter Angelo <contact@peeterangelo.com>, 2019.
# VojtechBrezina <vojta.brezina@gmail.com>, 2019, 2021.
# Garrom Orc Shaman <garromorcshaman@gmail.com>, 2019.
@@ -27,7 +27,7 @@
# ProfJack <profjackcz@gmail.com>, 2021.
# swifterik <blaha.j502@gmail.com>, 2021.
# Daniel <dan@ger.cz>, 2021.
-# Jakub Janšta <jansta.ja@gmail.com>, 2021.
+# Jakub Janšta <jansta.ja@gmail.com>, 2021, 2023.
# Petr Voparil <voparil.petr96@gmail.com>, 2022.
# JoeMoos <josephmoose13@gmail.com>, 2022.
# Mirinek <mirek.nozicka77@gmail.com>, 2022.
@@ -39,8 +39,8 @@ msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-09 01:51+0000\n"
-"Last-Translator: ElisHoli <eliskaholz@seznam.cz>\n"
+"PO-Revision-Date: 2023-02-18 04:10+0000\n"
+"Last-Translator: Vojtěch Šamla <auzkok@seznam.cz>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/godot-engine/godot/"
"cs/>\n"
"Language: cs\n"
@@ -50,9 +50,21 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.16-dev\n"
+msgid "Left Mouse Button"
+msgstr "Levé tlačítko myši"
+
+msgid "Right Mouse Button"
+msgstr "Pravé tlačítko myši"
+
+msgid "Middle Mouse Button"
+msgstr "Prostřední tlačítko myši"
+
msgid "Button"
msgstr "Tlačítko"
+msgid "Double Click"
+msgstr "Dvojklik"
+
msgid "Select"
msgstr "Vybrat"
@@ -119,6 +131,12 @@ msgstr "Neplatné argumenty pro zkonstruování '%s'"
msgid "On call to '%s':"
msgstr "Při volání '%s':"
+msgid "Built-in script"
+msgstr "Vestavěný skript"
+
+msgid "Built-in"
+msgstr "Vestavěný"
+
msgid "B"
msgstr "B"
@@ -151,7 +169,19 @@ msgid "An action with the name '%s' already exists."
msgstr "Akce s názvem \"%s\" již existuje."
msgid "Add Event"
-msgstr "Přidat akci"
+msgstr "Přidat událost"
+
+msgid "Remove Action"
+msgstr "Odstranit akci"
+
+msgid "Cannot Remove Action"
+msgstr "Nelze odstranit akci"
+
+msgid "Edit Event"
+msgstr "Upravit událost"
+
+msgid "Remove Event"
+msgstr "Odstranit událost"
msgid "Add"
msgstr "Přidat"
@@ -232,7 +262,7 @@ msgid "Update Mode (How this property is set)"
msgstr "Režim aktualizace (jak je tato vlastnost nastavena)"
msgid "Interpolation Mode"
-msgstr "Interpolační režim"
+msgstr "Režim interpolace"
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
msgstr "Režim uzavřené smyčky (Interpolace mezi koncem a začátkem smyčky)"
@@ -240,6 +270,12 @@ msgstr "Režim uzavřené smyčky (Interpolace mezi koncem a začátkem smyčky
msgid "Remove this track."
msgstr "Odstranit tuto stopu."
+msgid "Time (s):"
+msgstr "Čas (s):"
+
+msgid "Position:"
+msgstr "Pozice:"
+
msgid "Scale:"
msgstr "Zvětšení:"
@@ -264,6 +300,9 @@ msgstr "Lineární"
msgid "Cubic"
msgstr "Kubická"
+msgid "Clamp Loop Interp"
+msgstr "Interpolace svorkové smyčky"
+
msgid "Wrap Loop Interp"
msgstr "Interpolace ovinutou smyčkou"
@@ -344,6 +383,12 @@ msgstr "Cesta stopy není validní, nelze vložit klíč metody."
msgid "Add Method Track Key"
msgstr "Přidat stopu volání metody"
+msgid "Method not found in object:"
+msgstr "Tato metoda nebyla v objektu nalezena:"
+
+msgid "Rotation"
+msgstr "Rotace"
+
msgid "Scale"
msgstr "Měřítko"
@@ -429,12 +474,6 @@ msgstr "Použít Bézierovy křivky"
msgid "Create RESET Track(s)"
msgstr "Vytvořit RESET stopu/stopy"
-msgid "Anim. Optimizer"
-msgstr "Optimalizátor animace"
-
-msgid "Max. Angular Error:"
-msgstr "Maximální úhlová chyba:"
-
msgid "Optimize"
msgstr "Optimalizuj"
@@ -482,15 +521,15 @@ msgstr "%d nahrazeno."
msgid "%d match"
msgid_plural "%d matches"
-msgstr[0] "%d shoda."
-msgstr[1] "%d shod."
-msgstr[2] "%d shody."
+msgstr[0] "%d shoda"
+msgstr[1] "%d shody"
+msgstr[2] "%d shod"
msgid "%d of %d match"
msgid_plural "%d of %d matches"
-msgstr[0] "%d shoda."
-msgstr[1] "%d shod."
-msgstr[2] "%d shody."
+msgstr[0] "%d shoda"
+msgstr[1] "%d shody"
+msgstr[2] "%d shod"
msgid "Match Case"
msgstr "Rozlišovat malá/velká"
@@ -611,6 +650,9 @@ msgstr "Odpojit"
msgid "Connect a Signal to a Method"
msgstr "Připojit signál k metodě"
+msgid "Edit Connection: '%s'"
+msgstr "Upravit spojení: \"%s\""
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr ""
"Jste si jisti, že chcete odstranit všechna připojení ze signálu \"%s\"?"
@@ -624,6 +666,9 @@ msgstr "Jste si jistí, že chcete odstranit všechna připojení z tohoto sign
msgid "Disconnect All"
msgstr "Odpojit vše"
+msgid "Copy Name"
+msgstr "Kopírovat název"
+
msgid "Edit..."
msgstr "Upravit..."
@@ -657,6 +702,9 @@ msgstr "Shody:"
msgid "Description:"
msgstr "Popis:"
+msgid "Remote %s:"
+msgstr "Vzdálený %s:"
+
msgid "Debugger"
msgstr "Ladicí program"
@@ -753,9 +801,15 @@ msgstr "Varování:"
msgid "Error:"
msgstr "Chyba:"
+msgid "%s Error:"
+msgstr "Chyba %s:"
+
msgid "Stack Trace"
msgstr "Trasování zásobníku"
+msgid "Delete All Breakpoints in:"
+msgstr "Odstranit všechny breakpointy v:"
+
msgid "Copy Error"
msgstr "Kopírovat chybu"
@@ -1133,6 +1187,9 @@ msgstr "Otevřít rozložení audio sběrnice"
msgid "There is no '%s' file."
msgstr "Neexistuje '%s' soubor."
+msgid "Layout:"
+msgstr "Rozložení:"
+
msgid "Invalid file, not an audio bus layout."
msgstr "Neplatný soubor, není rozložení audio sběrnice."
@@ -1223,6 +1280,9 @@ msgstr "Navigace"
msgid "OpenGL"
msgstr "OpenGL"
+msgid "File saving failed."
+msgstr "Ukládání souboru selhalo."
+
msgid "Nodes and Classes:"
msgstr "Uzly a třídy:"
@@ -1241,6 +1301,9 @@ msgstr "Uložit"
msgid "Reset to Defaults"
msgstr "Obnovit výchozí"
+msgid "Please Confirm:"
+msgstr "Potvrďte prosím:"
+
msgid "Export Profile"
msgstr "Exportovat profil"
@@ -1424,9 +1487,6 @@ msgstr "Otevřít"
msgid "Select Current Folder"
msgstr "Vybrat stávající složku"
-msgid "File exists, overwrite?"
-msgstr "Soubor existuje, přepsat?"
-
msgid "Select This Folder"
msgstr "Vybrat tuto složku"
@@ -1542,6 +1602,9 @@ msgstr ""
msgid "(Re)Importing Assets"
msgstr "(Re)Importování assetů"
+msgid "Error codes returned:"
+msgstr "Vráceny chybové kódy:"
+
msgid "Top"
msgstr "Horní"
@@ -1566,6 +1629,9 @@ msgstr "Vlastnosti"
msgid "default:"
msgstr "výchozí:"
+msgid "Constructors"
+msgstr "Konstruktory"
+
msgid "Operators"
msgstr "Operátory"
@@ -1590,6 +1656,9 @@ msgstr "Styly"
msgid "Enumerations"
msgstr "Výčty"
+msgid "Annotations"
+msgstr "Anotace"
+
msgid "Property Descriptions"
msgstr "Popisy vlastnosti"
@@ -1603,9 +1672,15 @@ msgstr ""
"V současné době neexistuje žádný popis pro tuto vlastnost. Prosím pomozte "
"nám tím, že ho[color=$color][url=$url]vytvoříte[/url][/color]!"
+msgid "Constructor Descriptions"
+msgstr "Popisy konstruktorů"
+
msgid "Method Descriptions"
msgstr "Popisy metod"
+msgid "Operator Descriptions"
+msgstr "Popisy operátorů"
+
msgid "%d match."
msgstr "%d shoda."
@@ -1654,6 +1729,9 @@ msgstr "Metoda"
msgid "Signal"
msgstr "Signál"
+msgid "Annotation"
+msgstr "Anotace"
+
msgid "Constant"
msgstr "Konstantní"
@@ -1695,9 +1773,15 @@ msgstr "Připnuté %s"
msgid "Unpinned %s"
msgstr "Nepřipnuté %s"
+msgid "Select existing layout:"
+msgstr "Vybrat existující rozložení:"
+
msgid "Changed Locale Filter Mode"
msgstr "Změněn režim filtru pro nastavení jazyka"
+msgid "[Default]"
+msgstr "[Výchozí]"
+
msgid "Show All Locales"
msgstr "Zobrazit všechny jazyky"
@@ -1710,6 +1794,16 @@ msgstr "Editovat filtry"
msgid "Language:"
msgstr "Jazyk:"
+msgctxt "Locale"
+msgid "Script:"
+msgstr "Skript:"
+
+msgid "Country:"
+msgstr "Země:"
+
+msgid "Language"
+msgstr "Jazyk"
+
msgid "Clear Output"
msgstr "Vymazat výstup"
@@ -2467,12 +2561,30 @@ msgstr ""
"Podržte %s pro zaokrouhlení na celá čísla.\n"
" Pro přesnější změny podržte Shift."
+msgid "No notifications."
+msgstr "Žádné notifikace."
+
+msgid "Show notifications."
+msgstr "Zobrazit notifikace."
+
msgid "All Devices"
msgstr "Všechna zařízení"
msgid "Device"
msgstr "Zařízení"
+msgid "Filter by event..."
+msgstr "Filtrovat podle události..."
+
+msgid "Project export for platform:"
+msgstr "Exportovat projekt pro platformu:"
+
+msgid "Completed successfully."
+msgstr "Úspěšně dokončeno."
+
+msgid "Failed."
+msgstr "Selhalo."
+
msgid "Storing File:"
msgstr "Ukládám soubor:"
@@ -2491,6 +2603,12 @@ msgstr "Vlastní ladící šablona nebyla nalezena."
msgid "Custom release template not found."
msgstr "Vlastní šablona k uveřejnění nebyla nalezena."
+msgid "The given export path doesn't exist."
+msgstr "Zadaná cesta pro export neexistuje."
+
+msgid "Template file not found: \"%s\"."
+msgstr "Soubor šablony nenalezen: \"%s\"."
+
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr "Při 32-bitovým exportu vestavěné PCK nemůže být větší než 4 GiB."
@@ -3005,6 +3123,9 @@ msgstr "Znovu importovat"
msgid "Offset:"
msgstr "Offset(Posun):"
+msgid "Loop:"
+msgstr "Smyčka:"
+
msgid "Importing Scene..."
msgstr "Importuji scénu..."
@@ -3398,9 +3519,15 @@ msgstr "Přidat uzel..."
msgid "Enable Filtering"
msgstr "Povolit filtrování"
+msgid "Animation name can't be empty."
+msgstr "Název animace nemůže být prázdný."
+
msgid "Load Animation"
msgstr "Načíst animaci"
+msgid "Invalid AnimationLibrary file."
+msgstr "Neplatný soubor AnimationLibrary."
+
msgid "Animation Name:"
msgstr "Jméno animace:"
@@ -3410,6 +3537,12 @@ msgstr "Vložená animace"
msgid "Open in Inspector"
msgstr "Otevřít v inspektoru"
+msgid "Copy animation to clipboard"
+msgstr "Zkopírovat animaci do schránky"
+
+msgid "Save animation to resource on disk"
+msgstr "Uložit animaci do zdroje na disku"
+
msgid "Toggle Autoplay"
msgstr "Zapnout Autoplay"
@@ -3935,7 +4068,7 @@ msgid "Use Grid Snap"
msgstr "Použít mřížkové přichytávání"
msgid "Snapping Options"
-msgstr "Možnosti přichycení"
+msgstr "Možnosti přichytávání"
msgid "Use Rotation Snap"
msgstr "Použít rotační přichytávání"
@@ -3950,7 +4083,7 @@ msgid "Use Pixel Snap"
msgstr "Přichytávat na pixely"
msgid "Smart Snapping"
-msgstr "Chytré přichcování"
+msgstr "Chytré přichytávání"
msgid "Configure Snap..."
msgstr "Nastavení přichytávání..."
@@ -3982,6 +4115,9 @@ msgstr "Zobrazit kosti"
msgid "View"
msgstr "Zobrazení"
+msgid "Show When Snapping"
+msgstr "Zobrazit při přichytávání"
+
msgid "Hide"
msgstr "Schovat"
@@ -4286,6 +4422,12 @@ msgstr ""
"Při vzdáleném použití na zařízení je tato možnost efektivnější, když je "
"povolen síťový souborový systém."
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "Spustit %d instanci"
+msgstr[1] "Spustit %d instance"
+msgstr[2] "Spustit %d instancí"
+
msgid " - Variation"
msgstr " - Variace"
@@ -4412,6 +4554,9 @@ msgstr "Žádná mesh pro debugování."
msgid "Mesh has no UV in layer %d."
msgstr "Model nemá ve vrstvě %d žádné UV."
+msgid "Could not create outline."
+msgstr "Nelze vytvořit obrys."
+
msgid "Create Outline"
msgstr "Vytvořit obrys"
@@ -6587,13 +6732,14 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"Konfigurační soubor projektu nespecifikuje verzi Godotu ve které byl "
-"vytvořen.\n"
+"Zvolený projekt \"%s\" nespecifikuje podporovanou verzi enginu Godot ve svém "
+"konfiguračním souboru (\"project.godot\").\n"
"\n"
"Cesta projektu: %s\n"
"\n"
"Pokud se rozhodnete ho otevřít, tak bude převeden do aktuálního formátu "
-"konfiguračního souboru Godotu.\n"
+"konfiguračního souboru Godot.\n"
+"\n"
"Varování: Nebude možné otevřít projekt v dřívějších verzích enginu."
msgid ""
@@ -6607,13 +6753,14 @@ msgid ""
"Warning: You won't be able to open the project with previous versions of the "
"engine anymore."
msgstr ""
-"Následující konfigurační soubor projektu byl vytvořen starší verzí enginu a "
-"potřebuje být konvertován pro aktuální verzi:\n"
+"Vybraný projekt \"%s\" byl vytvořen starší verzí enginu a potřebuje být "
+"konvertován pro aktuální verzi.\n"
"\n"
"Cesta k projektu: %s\n"
"\n"
"Přejete si ho konvertovat?\n"
-"Varování: Nebude možné otevřít projekt v dřívějších verzích enginu."
+"\n"
+"Varování: Nebude možné otevřít projekt v předchozích verzích enginu."
msgid ""
"Can't open project \"%s\" at the following path:\n"
@@ -6719,9 +6866,15 @@ msgstr ""
"V této chvíli nemáte žádný projekt.\n"
"Přejete si prozkoumat oficiální ukázkové projekty v knihovně assetů?"
+msgid "Add Project Setting"
+msgstr "Přidat nastavení projektu"
+
msgid "Delete Item"
msgstr "Odstranit položku"
+msgid "(All)"
+msgstr "(Vše)"
+
msgid "Add Input Action"
msgstr "Přidat vstupní akci"
@@ -6731,9 +6884,6 @@ msgstr "Změnit mrtvou zónu akce"
msgid "Erase Input Action"
msgstr "Vymazat vstupní akce"
-msgid "Rename Input Action Event"
-msgstr "Přejmenovat událost vstupní akce"
-
msgid "Project Settings (project.godot)"
msgstr "Nastavení projektu (project.godot)"
@@ -7048,14 +7198,14 @@ msgstr "Varování konfigurace uzlu:"
msgid "Node has one connection."
msgid_plural "Node has {num} connections."
msgstr[0] "Uzel má jedno připojení."
-msgstr[1] "Uzel má {num} připojení"
-msgstr[2] "Uzel má připojení"
+msgstr[1] "Uzel má {num} připojení."
+msgstr[2] "Uzel má {num} připojení."
msgid "Node is in this group:"
msgid_plural "Node is in the following groups:"
msgstr[0] "Uzel je v této skupině:"
msgstr[1] "Uzly je v těchto skupinách:"
-msgstr[2] "Uzel je ve skupinách"
+msgstr[2] "Uzel je v těchto skupinách:"
msgid "Click to show signals dock."
msgstr "Kliknutím zobrazíte panel signálů."
@@ -7180,6 +7330,9 @@ msgstr "Neplatná základní cesta."
msgid "Wrong extension chosen."
msgstr "Vybrána špatná přípona."
+msgid "Global shader parameter '%s' already exists'"
+msgstr "Globální parametr shaderu \"%s\" již existuje"
+
msgid "Change Cylinder Radius"
msgstr "Změnit poloměr Cylinder"
@@ -7469,6 +7622,9 @@ msgstr "Podepisování vydání %s..."
msgid "Could not find keystore, unable to export."
msgstr "Nepodařilo se najít úložiště klíčů, nelze exportovat."
+msgid "Could not start apksigner executable."
+msgstr "Nelze spustit program apksigner."
+
msgid ""
"output: \n"
"%s"
@@ -7554,6 +7710,15 @@ msgstr "Znak '%s' není dovolen v identifikátoru."
msgid "Invalid executable file."
msgstr "Neplatný spouštěcí soubor."
+msgid "Could not start rcodesign executable."
+msgstr "Nelze spustit program rcodesign."
+
+msgid "Could not start xcrun executable."
+msgstr "Nelze spustit program xcrun."
+
+msgid "Could not start hdiutil executable."
+msgstr "Nelze spustit program hdiutil."
+
msgid "Invalid package short name."
msgstr "Neplatné krátké jméno balíčku."
@@ -7593,6 +7758,27 @@ msgstr "Neplatné rozměry Square 310x150 Logo obrázku (měly by být 310x150).
msgid "Invalid splash screen image dimensions (should be 620x300)."
msgstr "Neplatné rozměry obrázku uvítací obrazovky (měly by být 620x300)."
+msgid "Could not open template for export: \"%s\"."
+msgstr "Nelze otevřít šablonu pro export: \"%s\"."
+
+msgid "Invalid export template: \"%s\"."
+msgstr "Neplatná šablona pro export: \"%s\"."
+
+msgid "Could not write file: \"%s\"."
+msgstr "Nelze zapsat soubor: \"%s\"."
+
+msgid "Could not read file: \"%s\"."
+msgstr "Nelze přečíst soubor: \"%s\"."
+
+msgid "Could not read HTML shell: \"%s\"."
+msgstr "Nebylo možné přečíst HTML shell: \"%s\"."
+
+msgid "Could not create HTTP server directory: %s."
+msgstr "Nepodařilo se vytvořit adresář serveru HTTP: %s."
+
+msgid "Error starting HTTP server: %d."
+msgstr "Chyba při spuštění serveru HTTP: %d."
+
msgid "Stop HTTP Server"
msgstr "Zastavit HTTP Server"
@@ -7602,12 +7788,21 @@ msgstr "Spustit v prohlížeči"
msgid "Run exported HTML in the system's default browser."
msgstr "Spustit vyexportované HTML ve výchozím prohlížeči."
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Nelze přejmenovat dočasný soubor: \"%s\"."
+
+msgid "Failed to remove temporary file \"%s\"."
+msgstr "Nelze odstranit dočasný soubor: \"%s\"."
+
msgid "Invalid icon path:"
msgstr "Neplatná cesta ikony:"
msgid "Invalid file version:"
msgstr "Neplatná verze souboru:"
+msgid "Invalid product version:"
+msgstr "Neplatná verze produktu:"
+
msgid ""
"This node has no shape, so it can't collide or interact with other objects.\n"
"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
@@ -7696,6 +7891,13 @@ msgstr ""
msgid "PathFollow2D only works when set as a child of a Path2D node."
msgstr "PathFollow2D funguje pouze když je dítětem uzlu Path2D."
+msgid ""
+"A PhysicalBone2D only works with a Skeleton2D or another PhysicalBone2D as a "
+"parent node!"
+msgstr ""
+"Uzel PhysicalBone2D funguje pouze s rodičovským uzlem Skeleton2D nebo jiným "
+"PhysicalBone2D!"
+
msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"Pro zajištění funkčnosti musí vlastnost path ukazovat na platný uzel Node2D."
@@ -7724,6 +7926,17 @@ msgstr ""
"Používejte jej pouze jako potomka Area3D, StaticBody3D, RigidBody3D, "
"CharacterBody3D atd., abyste jim dali tvar."
+msgid ""
+"CollisionShape3D only serves to provide a collision shape to a "
+"CollisionObject3D derived node.\n"
+"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. to give them a shape."
+msgstr ""
+"CollisionShape3D slouží pouze k poskytnutí kolizního tvaru objektu "
+"CollissionObject3D a od něj odvozených uzlů.\n"
+"Použijte ho pouze jako potomka Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D a dalších, pro určení jejich tvaru."
+
msgid "Nothing is visible because no mesh has been assigned."
msgstr "Nic není zobrazeno, protože nebyla přiřazena žádná mřížka."
@@ -7785,9 +7998,6 @@ msgstr ""
"Barva: #%s\n"
"LMB: Nastavit barvu"
-msgid "Pick a color from the editor window."
-msgstr "Vyberte barvu z okna editoru."
-
msgid "Switch between hexadecimal and code values."
msgstr "Přepni mezi hexadecimálními a kódovými hodnotami."
@@ -7817,9 +8027,6 @@ msgstr "Pozor!"
msgid "Please Confirm..."
msgstr "Potvrďte prosím..."
-msgid "Must use a valid extension."
-msgstr "Je nutné použít platnou příponu."
-
msgid "Enable grid minimap."
msgstr "Povolit minimapu mřížky."
@@ -7846,6 +8053,16 @@ msgstr ""
"Výchozí prostředí specifikované v nastavení projektu (Vykreslování -> "
"Zobrazovací výřez -> Výchozí prostředí) se nepodařilo načíst."
+msgid "Unsupported BMFont texture format."
+msgstr "Nepodporovaný formát textury BMFont."
+
+msgid ""
+"Shader keywords cannot be used as parameter names.\n"
+"Choose another name."
+msgstr ""
+"Klíčové slovo shaderu nemůže být použito jako název pro parametr.\n"
+"Vyberte jiný název."
+
msgid ""
"The sampler port is connected but not used. Consider changing the source to "
"'SamplerPort'."
@@ -7859,6 +8076,9 @@ msgstr "Neplatný zdroj pro náhled."
msgid "Invalid source for shader."
msgstr "Neplatný zdroj pro shader."
+msgid "Filter"
+msgstr "Filtr"
+
msgid "Invalid comparison function for that type."
msgstr "Neplatná funkce pro porovnání tohoto typu."
diff --git a/editor/translations/editor/de.po b/editor/translations/editor/de.po
index 8eb4586c54..c74b59ab5c 100644
--- a/editor/translations/editor/de.po
+++ b/editor/translations/editor/de.po
@@ -91,13 +91,15 @@
# HolonProduction <holonproduction@gmail.com>, 2023.
# co1inco <colin.meihoefer@gmx.de>, 2023.
# Jakob <js2k2@gmx.de>, 2023.
+# DafabHoid <github@dafabhoid.de>, 2023.
+# Jummit <jummit@web.de>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 14:12+0000\n"
-"Last-Translator: Jakob <js2k2@gmx.de>\n"
+"PO-Revision-Date: 2023-02-20 00:45+0000\n"
+"Last-Translator: So Wieso <sowieso@dukun.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot/de/>\n"
"Language: de\n"
@@ -108,7 +110,7 @@ msgstr ""
"X-Generator: Weblate 4.16-dev\n"
msgid "Unset"
-msgstr "Deaktiviert"
+msgstr "Nicht gesetzt"
msgid "Physical"
msgstr "Physisch"
@@ -200,6 +202,9 @@ msgstr "Obere Aktion, Sony Dreieck, Xbox Y, Nintendo X"
msgid "Back, Sony Select, Xbox Back, Nintendo -"
msgstr "Zurück, Sony Select, Xbox Back, Nintendo -"
+msgid "Guide, Sony PS, Xbox Home"
+msgstr "Orientierung, Sony PS, Xbox Home"
+
msgid "Start, Nintendo +"
msgstr "Start, Nintendo +"
@@ -230,11 +235,32 @@ msgstr "Steuerkreuz Rechts"
msgid "Xbox Share, PS5 Microphone, Nintendo Capture"
msgstr "Xbox Teilen, PS5 Mikrofon, Nintendo Aufnehmen"
+msgid "Xbox Paddle 1"
+msgstr "Xbox Ruder 1"
+
+msgid "Xbox Paddle 2"
+msgstr "Xbox Ruder 2"
+
+msgid "Xbox Paddle 3"
+msgstr "Xbox Ruder 3"
+
+msgid "Xbox Paddle 4"
+msgstr "Xbox Ruder 4"
+
msgid "PS4/5 Touchpad"
msgstr "PS4/5 Touchpad"
+msgid "Joypad Button %d"
+msgstr "Joypad Taste %d"
+
+msgid "Pressure:"
+msgstr "Druck:"
+
+msgid "touched"
+msgstr "berührt"
+
msgid "released"
-msgstr "veröffentlicht"
+msgstr "losgelassen"
msgid "Screen %s at (%s) with %s touch points"
msgstr "Bildschirm %s bei (%s) mit %s Touch-Punkten"
@@ -249,13 +275,13 @@ msgid "Magnify Gesture at (%s) with factor %s"
msgstr "Vergrößerungsgeste bei (%s) mit Faktor %s"
msgid "Pan Gesture at (%s) with delta (%s)"
-msgstr "Pan Geste bei (%s) mit delta (%s)"
+msgstr "Schwenkgeste bei (%s) mit Delta (%s)"
msgid "MIDI Input on Channel=%s Message=%s"
-msgstr "MIDI Eingabe auf Kannal=%s Nachricht=%s"
+msgstr "MIDI-Eingabe auf Kanal=%s Nachricht=%s"
msgid "Input Event with Shortcut=%s"
-msgstr "Eingabe Event mit Tastenkürzel=%s"
+msgstr "Eingabeereignis mit Tastenkürzel=%s"
msgid "Accept"
msgstr "Annehmen"
@@ -290,6 +316,9 @@ msgstr "Bild Auf"
msgid "Page Down"
msgstr "Bild Ab"
+msgid "Home"
+msgstr "Pos1"
+
msgid "End"
msgstr "Ende"
@@ -308,6 +337,9 @@ msgstr "Rückgängig machen"
msgid "Redo"
msgstr "Wiederherstellen"
+msgid "Completion Query"
+msgstr "Vervollständigungsanfrage"
+
msgid "New Line"
msgstr "Neue Zeile"
@@ -323,14 +355,86 @@ msgstr "Einrücken"
msgid "Dedent"
msgstr "Ausrücken"
+msgid "Backspace"
+msgstr "Rücktaste"
+
+msgid "Backspace Word"
+msgstr "Linkes Wort löschen"
+
+msgid "Backspace all to Left"
+msgstr "Links alles löschen"
+
msgid "Delete"
msgstr "Löschen"
+msgid "Delete Word"
+msgstr "Wort löschen"
+
+msgid "Delete all to Right"
+msgstr "Rechts alles löschen"
+
+msgid "Caret Left"
+msgstr "Cursor nach links"
+
+msgid "Caret Word Left"
+msgstr "Cursor ein Wort nach links"
+
+msgid "Caret Right"
+msgstr "Cursor nach rechts"
+
+msgid "Caret Word Right"
+msgstr "Cursor ein Wort nach rechts"
+
+msgid "Caret Up"
+msgstr "Cursor eine Zeile hoch"
+
+msgid "Caret Down"
+msgstr "Cursor eine Zeile runter"
+
+msgid "Caret Line Start"
+msgstr "Cursor zum Anfang der Zeile"
+
+msgid "Caret Line End"
+msgstr "Cursor zum Ende der Zeile"
+
+msgid "Caret Page Up"
+msgstr "Cursor Bild Hoch"
+
+msgid "Caret Page Down"
+msgstr "Cursor Bild Ab"
+
+msgid "Caret Document Start"
+msgstr "Cursor zum Anfang des Dokuments"
+
+msgid "Caret Document End"
+msgstr "Cursor zum Ende des Dokuments"
+
+msgid "Caret Add Below"
+msgstr "Cursor unten einfügen"
+
+msgid "Caret Add Above"
+msgstr "Cursor oben einfügen"
+
+msgid "Scroll Up"
+msgstr "Hochscrollen"
+
+msgid "Scroll Down"
+msgstr "Runterscrollen"
+
msgid "Select All"
msgstr "Alles auswählen"
msgid "Select Word Under Caret"
-msgstr "Markiere Wort unter Cursor"
+msgstr "Wort unter Cursor auswählen"
+
+msgid "Add Selection for Next Occurrence"
+msgstr "Auswahl für nächstes Vorkommen hinzufügen"
+
+msgid "Clear Carets and Selection"
+msgstr "Cursor und Auswahl entfernen"
+
+msgid "Toggle Insert Mode"
+msgstr "Einfügemodus umschalten"
msgid "Duplicate Nodes"
msgstr "Nodes duplizieren"
@@ -338,9 +442,18 @@ msgstr "Nodes duplizieren"
msgid "Delete Nodes"
msgstr "Nodes löschen"
+msgid "Go Up One Level"
+msgstr "Eine Ebene nach oben gehen"
+
msgid "Refresh"
msgstr "Aktualisieren"
+msgid "Show Hidden"
+msgstr "Verstecktes anzeigen"
+
+msgid "Swap Input Direction"
+msgstr "Eingaberichtung umschalten"
+
msgid "Invalid input %d (not passed) in expression"
msgstr "Ungültige Eingabe %d (nicht übergeben) im Ausdruck"
@@ -363,6 +476,12 @@ msgstr "Ungültige Parameter für die Konstruktion von ‚%s‘"
msgid "On call to '%s':"
msgstr "Im Aufruf von ‚%s‘:"
+msgid "Built-in script"
+msgstr "Eingebettetes Skript"
+
+msgid "Built-in"
+msgstr "Eingebettet"
+
msgid "B"
msgstr "B"
@@ -384,6 +503,9 @@ msgstr "PiB"
msgid "EiB"
msgstr "EiB"
+msgid "Example: %s"
+msgstr "Beispiel: %s"
+
msgid "%d item"
msgid_plural "%d items"
msgstr[0] "%d Element"
@@ -399,12 +521,44 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "Eine Aktion mit dem Namen ‚%s‘ existiert bereits."
+msgid "Cannot Revert - Action is same as initial"
+msgstr ""
+"Kann nicht rückgängig gemacht werden - Die Aktion ist die gleiche wie die "
+"ursprüngliche"
+
+msgid "Revert Action"
+msgstr "Aktion rückgängig machen"
+
msgid "Add Event"
msgstr "Ereignis hinzufügen"
+msgid "Remove Action"
+msgstr "Aktion entfernen"
+
+msgid "Cannot Remove Action"
+msgstr "Aktion kann nicht entfernt werden"
+
+msgid "Edit Event"
+msgstr "Ereignis bearbeiten"
+
+msgid "Remove Event"
+msgstr "Ereignis entfernen"
+
+msgid "Filter by name..."
+msgstr "Nach Name filtern..."
+
+msgid "Clear All"
+msgstr "Alle abwählen"
+
+msgid "Add New Action"
+msgstr "Neue Aktion hinzufügen"
+
msgid "Add"
msgstr "Hinzufügen"
+msgid "Show Built-in Actions"
+msgstr "Eingebaute Aktionen zeigen"
+
msgid "Action"
msgstr "Aktion"
@@ -417,6 +571,9 @@ msgstr "Zeit:"
msgid "Value:"
msgstr "Wert:"
+msgid "Update Selected Key Handles"
+msgstr "Ausgewählte Schlüsselgriffe aktualisieren"
+
msgid "Insert Key Here"
msgstr "Schlüsselbild hier einfügen"
@@ -426,24 +583,100 @@ msgstr "Ausgewählte Schlüsselbilder duplizieren"
msgid "Delete Selected Key(s)"
msgstr "Ausgewählte Schlüsselbilder löschen"
+msgid "Make Handles Free"
+msgstr "Griffe ablösen"
+
+msgid "Make Handles Linear"
+msgstr "Griffe linear machen"
+
+msgid "Make Handles Balanced"
+msgstr "Griffe ausbalanciert machen"
+
+msgid "Make Handles Mirrored"
+msgstr "Griffe gespiegelt machen"
+
+msgid "Make Handles Balanced (Auto Tangent)"
+msgstr "Griffe ausbalanciert machen (Auto-Tangente)"
+
+msgid "Make Handles Mirrored (Auto Tangent)"
+msgstr "Griffe gespiegelt machen (Auto-Tangente)"
+
msgid "Add Bezier Point"
msgstr "Bezierpunkt hinzufügen"
msgid "Move Bezier Points"
msgstr "Bezierpunkt verschieben"
+msgid "Animation Duplicate Keys"
+msgstr "Animation Schlüsselbilder duplizieren"
+
+msgid "Animation Delete Keys"
+msgstr "Animation Schlüsselbilder löschen"
+
msgid "Focus"
msgstr "Fokus"
+msgid "Select All Keys"
+msgstr "Alle Schlüsselbilder auswählen"
+
+msgid "Deselect All Keys"
+msgstr "Alle Schlüsselbilder abwählen"
+
+msgid "Animation Change Transition"
+msgstr "Animation Übergang verändern"
+
+msgid "Animation Change %s"
+msgstr "Animation Änderung %s"
+
+msgid "Animation Change Keyframe Value"
+msgstr "Animation Änderung des Schlüsselbildwerts"
+
+msgid "Animation Change Call"
+msgstr "Animation Änderung des Aufrufs"
+
+msgid "Animation Multi Change Transition"
+msgstr "Animation Mehrere Änderungen des Übergangs"
+
+msgid "Animation Multi Change %s"
+msgstr "Animation Mehrere Änderungen %s"
+
+msgid "Animation Multi Change Keyframe Value"
+msgstr "Animation Mehrere Änderungen des Schlüsselbildwerts"
+
+msgid "Animation Multi Change Call"
+msgstr "Animation Mehrere Änderungen des Aufrufs"
+
msgid "Change Animation Length"
msgstr "Animationslänge ändern"
msgid "Change Animation Loop"
msgstr "Bearbeite Animationsschleife"
+msgid "Can't change loop mode on animation instanced from imported scene."
+msgstr ""
+"Der Wiederholungsmodus kann nicht für eine Animation geändert werden, die "
+"aus einer importierten Szene instanziiert wurde."
+
+msgid "Can't change loop mode on animation embedded in another scene."
+msgstr ""
+"Der Wiederholungsmodus kann nicht für eine Animation geändert werden, die in "
+"einer anderen Szene eingebettet wurde."
+
msgid "Property Track"
msgstr "Eigenschaftenspur"
+msgid "3D Position Track"
+msgstr "3D-Positionsspur"
+
+msgid "3D Rotation Track"
+msgstr "3D-Rotationsspur"
+
+msgid "3D Scale Track"
+msgstr "3D Skalierungsspur"
+
+msgid "Blend Shape Track"
+msgstr "Formmischungsspur"
+
msgid "Call Method Track"
msgstr "Methodenaufrufsspur"
@@ -474,12 +707,18 @@ msgstr "Funktionen:"
msgid "Audio Clips:"
msgstr "Audioschnipsel:"
+msgid "Animation Clips:"
+msgstr "Animationsschnipsel:"
+
msgid "Change Track Path"
msgstr "Spurpfad ändern"
msgid "Toggle this track on/off."
msgstr "Diese Spur an-/abschalten."
+msgid "Use Blend"
+msgstr "Mischung verwenden"
+
msgid "Update Mode (How this property is set)"
msgstr "Aktualisierungs-Modus (wie Eigenschaften gesetzt werden)"
@@ -504,6 +743,9 @@ msgstr "Rotation:"
msgid "Scale:"
msgstr "Skalierung:"
+msgid "Blend Shape:"
+msgstr "Formmischung:"
+
msgid "Type:"
msgstr "Typ:"
@@ -519,6 +761,18 @@ msgstr "Eingehender Handle:"
msgid "Out-Handle:"
msgstr "Ausgehender Handle:"
+msgid "Handle mode: Free\n"
+msgstr "Griffmodus: Frei\n"
+
+msgid "Handle mode: Linear\n"
+msgstr "Griffmodus: Linear\n"
+
+msgid "Handle mode: Balanced\n"
+msgstr "Griffmodus: Ausbalanciert\n"
+
+msgid "Handle mode: Mirrored\n"
+msgstr "Griffmodus: Gespiegelt\n"
+
msgid "Stream:"
msgstr "Stream:"
@@ -534,6 +788,9 @@ msgstr "Animations-Clip:"
msgid "Toggle Track Enabled"
msgstr "Spur ein-/ausschalten"
+msgid "Don't Use Blend"
+msgstr "Keine Mischung verwenden"
+
msgid "Continuous"
msgstr "Fortlaufend"
@@ -552,6 +809,12 @@ msgstr "Linear"
msgid "Cubic"
msgstr "Kubisch"
+msgid "Linear Angle"
+msgstr "Linearer Winkel"
+
+msgid "Cubic Angle"
+msgstr "Kubischer Winkel"
+
msgid "Clamp Loop Interp"
msgstr "Klammer-Wdrhol-Interpol"
@@ -579,20 +842,32 @@ msgstr "Animationsinterpolationsmodus ändern"
msgid "Change Animation Loop Mode"
msgstr "Animationswiederholungsmodus ändern"
+msgid "Change Animation Use Blend"
+msgstr "Mischungsnutzung der Animation ändern"
+
msgid ""
"Compressed tracks can't be edited or removed. Re-import the animation with "
"compression disabled in order to edit."
msgstr ""
-"Komprimierte Spuren können nicht bearbeitet oder entfernt werden. "
-"Importieren Sie die Animation erneut mit deaktivierter Kompression um das "
-"Bearbeiten zu ermöglichen."
+"Komprimierte Spuren können nicht bearbeitet oder entfernt werden. Um ein "
+"Bearbeiten zu ermöglichen, muss die Animation ohne Kompression erneut "
+"importiert werden."
msgid "Remove Anim Track"
msgstr "Spur entfernen"
+msgid "Create new track for %s and insert key?"
+msgstr "Neue Spur für %s erstellen und Schlüsselbild hinzufügen?"
+
+msgid "Create %d new tracks and insert keys?"
+msgstr "%d neue Spuren erstellen und Schlüsselbilder hinzufügen?"
+
msgid "Create"
msgstr "Erstellen"
+msgid "Animation Insert Key"
+msgstr "Animation Schlüsselbild einfügen"
+
msgid "node '%s'"
msgstr "Node ‚%s‘"
@@ -611,6 +886,14 @@ msgstr "Animationsschrittweite ändern"
msgid "Rearrange Tracks"
msgstr "Spuren neu anordnen"
+msgid "Blend Shape tracks only apply to MeshInstance3D nodes."
+msgstr "Formmischungsspuren wirken sich nur auf MeshInstance3D-Nodes aus."
+
+msgid "Position/Rotation/Scale 3D tracks only apply to 3D-based nodes."
+msgstr ""
+"Positions-/Rotations-/Skalierungs-3D-Spuren wirken sich nur auf 3D-basierte "
+"Nodes aus."
+
msgid ""
"Audio tracks can only point to nodes of type:\n"
"-AudioStreamPlayer\n"
@@ -637,6 +920,18 @@ msgstr "Bezierspur hinzufügen"
msgid "Track path is invalid, so can't add a key."
msgstr "Spurpfad ist ungültig, Schlüssel kann nicht hinzugefügt werden."
+msgid "Track is not of type Node3D, can't insert key"
+msgstr "Spur ist nicht vom Typ Node3D, Schlüssel kann nicht hinzugefügt werden"
+
+msgid "Add Position Key"
+msgstr "Positionsschlüssel hinzufügen"
+
+msgid "Add Rotation Key"
+msgstr "Rotationsschlüssel hinzufügen"
+
+msgid "Add Scale Key"
+msgstr "Skalierungsschlüssel hinzufügen"
+
msgid "Add Track Key"
msgstr "Spurschlüssel hinzufügen"
@@ -650,6 +945,9 @@ msgstr "Methodenaufrufsspurschlüssel hinzufügen"
msgid "Method not found in object:"
msgstr "Methode nicht im Objekt gefunden:"
+msgid "Animation Move Keys"
+msgstr "Animation Schlüssel bewegen"
+
msgid "Position"
msgstr "Position"
@@ -659,6 +957,9 @@ msgstr "Rotation"
msgid "Scale"
msgstr "Skalierung"
+msgid "BlendShape"
+msgstr "BlendShape"
+
msgid "Methods"
msgstr "Methoden"
@@ -674,12 +975,43 @@ msgstr "Zwischenablage ist leer!"
msgid "Paste Tracks"
msgstr "Spuren einfügen"
+msgid "Animation Scale Keys"
+msgstr "Animation Schlüssel skalieren"
+
+msgid "Make Easing Keys"
+msgstr "Glättungsschlüssel erzeugen"
+
msgid ""
"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
"Die Option ist nicht in Verbindung mit Bezier-Bearbeitung verwendbar, da es "
"sich nur um eine einzige Spur handelt."
+msgid "Animation Add RESET Keys"
+msgstr "Animation RESET-Schlüssel hinzufügen"
+
+msgid "Bake Animation as Linear keys."
+msgstr "Animation als lineare Schlüssel backen."
+
+msgid ""
+"This animation belongs to an imported scene, so changes to imported tracks "
+"will not be saved.\n"
+"\n"
+"To modify this animation, navigate to the scene's Advanced Import settings "
+"and select the animation.\n"
+"Some options, including looping, are available here. To add custom tracks, "
+"enable \"Save To File\" and\n"
+"\"Keep Custom Tracks\"."
+msgstr ""
+"Diese Animation gehört zu einer importierten Szene, Änderungen an "
+"importierten Spuren werden nicht gespeichert.\n"
+"\n"
+"Um die Animation ändern zu können, muss die Animation in den erweiterten "
+"Importeinstellungen der Szene ausgewählt werden.\n"
+"Einige Einstellungen, einschließlich des Wiederholungsmodus, sind dort "
+"verfügbar. Um eigene Spuren hinzufügen zu können, sollten die Optionen „In "
+"Datei speichern“ und „Eigene Spuren beibehalten“ aktiviert werden."
+
msgid "Warning: Editing imported animation"
msgstr "Achtung: Es wird eine importierte Animation bearbeitet"
@@ -688,6 +1020,12 @@ msgstr ""
"Ein AnimationPlayer-Node auswählen, um Animationen zu erzeugen oder zu "
"bearbeiten."
+msgid "Imported Scene"
+msgstr "Importierte Szene"
+
+msgid "Toggle between the bezier curve editor and track editor."
+msgstr "Zwischen Bezierkurven-Editor und Spur-Editor wechseln."
+
msgid "Only show tracks from nodes selected in tree."
msgstr "Nur Spuren der aktuell ausgewählten Nodes anzeigen."
@@ -721,6 +1059,9 @@ msgstr "Auswahl skalieren"
msgid "Scale From Cursor"
msgstr "Vom Cursor skalieren"
+msgid "Make Easing Selection"
+msgstr "Auswahl zum Glätten erstellen"
+
msgid "Duplicate Selection"
msgstr "Auswahl duplizieren"
@@ -739,18 +1080,24 @@ msgstr "Zum vorherigen Schritt"
msgid "Apply Reset"
msgstr "Zurücksetzen durchführen"
+msgid "Bake Animation"
+msgstr "Animation backen"
+
+msgid "Optimize Animation (no undo)"
+msgstr "Animation optimieren (kann nicht rückgängig gemacht werden)"
+
+msgid "Clean-Up Animation (no undo)"
+msgstr "Animation bereinigen (kann nicht rückgängig gemacht werden)"
+
+msgid "Pick a node to animate:"
+msgstr "Node zum animieren auswählen:"
+
msgid "Use Bezier Curves"
msgstr "Bezier-Kurven nutzen"
msgid "Create RESET Track(s)"
msgstr "RESET Spur(en) erstellen"
-msgid "Anim. Optimizer"
-msgstr "Animationsoptimierer"
-
-msgid "Max. Angular Error:"
-msgstr "Max. Winkel-Fehler:"
-
msgid "Optimize"
msgstr "Optimieren"
@@ -772,12 +1119,18 @@ msgstr "Bereinigen"
msgid "Scale Ratio:"
msgstr "Skalierungsverhältnis:"
+msgid "Select Transition and Easing"
+msgstr "Übergang und Glättung auswählen"
+
msgid "Select Tracks to Copy"
msgstr "Zu kopierende Spuren auswählen"
msgid "Select All/None"
msgstr "Alles/Nichts auswählen"
+msgid "Animation Change Keyframe Time"
+msgstr "Animation Schlüsselbildzeit ändern"
+
msgid "Add Audio Track Clip"
msgstr "Tonspurclip hinzufügen"
@@ -796,6 +1149,16 @@ msgstr "Zeilennummer:"
msgid "%d replaced."
msgstr "%d ersetzt."
+msgid "%d match"
+msgid_plural "%d matches"
+msgstr[0] "%d Übereinstimmung"
+msgstr[1] "%d Übereinstimmungen"
+
+msgid "%d of %d match"
+msgid_plural "%d of %d matches"
+msgstr[0] "%d von %d Übereinstimmungen"
+msgstr[1] "%d von %d Übereinstimmungen"
+
msgid "Match Case"
msgstr "Groß-/Kleinschreibung berücksichtigen"
@@ -845,6 +1208,9 @@ msgstr ""
"Zielmethode nicht gefunden. Bitte eine gültige Methode angeben oder ein "
"Skript dem Ziel-Node anhängen."
+msgid "Attached Script"
+msgstr "Angehängtes Skript"
+
msgid "Connect to Node:"
msgstr "Mit Node verbinden:"
@@ -854,12 +1220,30 @@ msgstr "Mit Skript verbinden:"
msgid "From Signal:"
msgstr "Durch Signal:"
+msgid "Filter Nodes"
+msgstr "Nodes filtern"
+
+msgid "Go to Source"
+msgstr "Zur Quelle springen"
+
msgid "Scene does not contain any script."
msgstr "Szene enthält kein einziges Skript."
msgid "Select Method"
msgstr "Methode auswählen"
+msgid "Filter Methods"
+msgstr "Methoden filtern"
+
+msgid "No method found matching given filters."
+msgstr "Keine Methode entspricht den gesetzten Filtern."
+
+msgid "Script Methods Only"
+msgstr "Nur Skript-Methoden"
+
+msgid "Compatible Methods Only"
+msgstr "Nur kompatible Methoden"
+
msgid "Remove"
msgstr "Entfernen"
@@ -869,6 +1253,14 @@ msgstr "Zusätzlichen Aufrufparameter hinzufügen:"
msgid "Extra Call Arguments:"
msgstr "Zusätzliche Aufrufparameter:"
+msgid "Allows to drop arguments sent by signal emitter."
+msgstr ""
+"Entfernen von Argumenten, welche vom Signalauslöser gesendet wurden, "
+"erlauben."
+
+msgid "Unbind Signal Arguments:"
+msgstr "Signalargumente lösen:"
+
msgid "Receiver Method:"
msgstr "Empfängermethode:"
@@ -902,11 +1294,14 @@ msgstr "Verbinden"
msgid "Signal:"
msgstr "Signale:"
+msgid "No description."
+msgstr "Keine Beschreibung."
+
msgid "Connect '%s' to '%s'"
msgstr "Verbinde ‚%s‘ mit ‚%s‘"
msgid "Disconnect '%s' from '%s'"
-msgstr "Trenne '%s' von '%s'"
+msgstr "‚%s‘ von ‚%s‘"
msgid "Disconnect all from signal: '%s'"
msgstr "Alle Verbindungen des Signals trennen: ‚%s‘"
@@ -920,24 +1315,36 @@ msgstr "Trennen"
msgid "Connect a Signal to a Method"
msgstr "Ein Signal mit einer Methode verbinden"
+msgid "Edit Connection: '%s'"
+msgstr "Verbindung bearbeiten: ‚%s‘"
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "Sollen wirklich alle Verbindungen des Signals „%s“ entfernt werden?"
msgid "Signals"
msgstr "Signale"
+msgid "Filter Signals"
+msgstr "Signale filtern"
+
msgid "Are you sure you want to remove all connections from this signal?"
msgstr "Sollen wirklich alle Verbindungen mit diesem Signal entfernt werden?"
msgid "Disconnect All"
msgstr "Alle Verbindungen lösen"
+msgid "Copy Name"
+msgstr "Name kopieren"
+
msgid "Edit..."
msgstr "Bearbeiten..."
msgid "Go to Method"
msgstr "Zur Methode springen"
+msgid "Change Type of \"%s\""
+msgstr "Typ von „%s“ ändern"
+
msgid "Change"
msgstr "Ändern"
@@ -947,6 +1354,12 @@ msgstr "%s erstellen"
msgid "No results for \"%s\"."
msgstr "Keine Ergebnisse für \"%s\"."
+msgid "This class is marked as deprecated."
+msgstr "Diese Klasse ist als veraltet eingetragen."
+
+msgid "This class is marked as experimental."
+msgstr "Diese Klasse ist als experimentell eingetragen."
+
msgid "No description available for %s."
msgstr "Keine Beschreibung zu ‚%s‘ verfügbar."
@@ -956,6 +1369,9 @@ msgstr "Favoriten:"
msgid "Recent:"
msgstr "Kürzlich:"
+msgid "(Un)favorite selected item."
+msgstr "Ausgewähltes Element (de)favorisieren."
+
msgid "Search:"
msgstr "Suche:"
@@ -983,9 +1399,21 @@ msgstr "Node-Pfad kopieren"
msgid "Instance:"
msgstr "Instanz:"
+msgid ""
+"This node has been instantiated from a PackedScene file:\n"
+"%s\n"
+"Click to open the original file in the Editor."
+msgstr ""
+"Dieses Node wurde aus einer PackedScene-Datei instantiiert:\n"
+"%s\n"
+"Zum öffnen der originalen Datei im Editor klicken."
+
msgid "Toggle Visibility"
msgstr "Sichtbarkeit umschalten"
+msgid "ms"
+msgstr "ms"
+
msgid "Monitors"
msgstr "Monitore"
@@ -1056,6 +1484,21 @@ msgstr "Zeit"
msgid "Calls"
msgstr "Aufrufe"
+msgid "Fit to Frame"
+msgstr "An Frame anpassen"
+
+msgid "Linked"
+msgstr "Verbunden"
+
+msgid "CPU"
+msgstr "CPU"
+
+msgid "GPU"
+msgstr "GPU"
+
+msgid "Execution resumed."
+msgstr "Ausführung fortgesetzt."
+
msgid "Bytes:"
msgstr "Bytes:"
@@ -1066,11 +1509,41 @@ msgid "Error:"
msgstr "Fehler:"
msgid "%s Error"
-msgstr "%s Fehler"
+msgstr "%s-Fehler"
+
+msgid "%s Error:"
+msgstr "%s-Fehler:"
+
+msgid "%s Source"
+msgstr "%s-Quelle"
+
+msgid "%s Source:"
+msgstr "%s-Quelle:"
msgid "Stack Trace"
msgstr "Stacktrace"
+msgid "Stack Trace:"
+msgstr "Stacktrace:"
+
+msgid "Debug session started."
+msgstr "Debug-Sitzung gestartet."
+
+msgid "Debug session closed."
+msgstr "Debug-Sitzung beendet."
+
+msgid "Line %d"
+msgstr "Zeile %d"
+
+msgid "Delete Breakpoint"
+msgstr "Haltepunkt entfernen"
+
+msgid "Delete All Breakpoints in:"
+msgstr "Alle Haltepunkte entfernen in:"
+
+msgid "Delete All Breakpoints"
+msgstr "Alle Haltepunkte entfernen"
+
msgid "Copy Error"
msgstr "Fehlermeldung kopieren"
@@ -1101,6 +1574,9 @@ msgstr "Fortfahren"
msgid "Stack Frames"
msgstr "Aufrufsverlauf"
+msgid "Filter Stack Variables"
+msgstr "Stack-Variablen filtern"
+
msgid "Breakpoints"
msgstr "Haltepunkte"
@@ -1113,6 +1589,9 @@ msgstr "Alle einklappen"
msgid "Profiler"
msgstr "Profiler"
+msgid "Visual Profiler"
+msgstr "Visueller Profiler"
+
msgid "List of Video Memory Usage by Resource:"
msgstr "Auflistung der Grafikspeichernutzung nach Ressource:"
@@ -1202,6 +1681,12 @@ msgstr "Szenen öffnen"
msgid "Owners of: %s (Total: %d)"
msgstr "Besitzer von: %s (Insgesamt: %d)"
+msgid "Localization remap"
+msgstr "Lokalisierungsneuzuordnung"
+
+msgid "Localization remap for path '%s' and locale '%s'."
+msgstr "Lokalisierungsneuzuordnung für Pfad ‚%s‘ und Sprache ‚%s‘."
+
msgid ""
"Remove the selected files from the project? (Cannot be undone.)\n"
"Depending on your filesystem configuration, the files will either be moved "
@@ -1425,6 +1910,12 @@ msgstr "Bypass"
msgid "Bus Options"
msgstr "Audiobusoptionen"
+msgid "Duplicate Bus"
+msgstr "Audiobus duplizieren"
+
+msgid "Delete Bus"
+msgstr "Audiobus löschen"
+
msgid "Reset Volume"
msgstr "Lautstärke zurücksetzen"
@@ -1512,18 +2003,29 @@ msgstr "Gültige Zeichen:"
msgid "Must not collide with an existing engine class name."
msgstr "Darf nicht mit existierenden Klassennamen der Engine übereinstimmen."
+msgid "Must not collide with an existing global script class name."
+msgstr ""
+"Darf nicht mit dem Klassennamen eines existierenden globalen Skripts "
+"übereinstimmen."
+
msgid "Must not collide with an existing built-in type name."
msgstr "Darf nicht mit existierenden eingebauten Typnamen übereinstimmen."
msgid "Must not collide with an existing global constant name."
msgstr "Darf nicht mit Namen existierender globaler Konstanten übereinstimmen."
+msgid "Keyword cannot be used as an Autoload name."
+msgstr "Schlüsselwörter können nicht als Autoload-Namen genutzt werden."
+
msgid "Autoload '%s' already exists!"
msgstr "Autoload '%s' existiert bereits!"
msgid "Rename Autoload"
msgstr "Autoload umbenennen"
+msgid "Toggle Autoload Globals"
+msgstr "Autoload-Globals umschalten"
+
msgid "Move Autoload"
msgstr "Autoload verschieben"
@@ -1536,21 +2038,33 @@ msgstr "Aktivieren"
msgid "Rearrange Autoloads"
msgstr "Autoloads neu anordnen"
+msgid "Can't add Autoload:"
+msgstr "Autoload konnte nicht hinzugefügt werden:"
+
msgid "%s is an invalid path. File does not exist."
msgstr "%s ist ein ungültiger Pfad. Datei existiert nicht."
msgid "%s is an invalid path. Not in resource path (res://)."
msgstr "%s ist ein ungültiger Pfad. Liegt nicht im Ressourcen-Pfad (res://)."
+msgid "Add Autoload"
+msgstr "Autoload hinzufügen"
+
msgid "Path:"
msgstr "Pfad:"
+msgid "Set path or press \"%s\" to create a script."
+msgstr "Pfad setzen oder „%s“ drücken, um neues Skript zu erzeugen."
+
msgid "Node Name:"
msgstr "Node-Name:"
msgid "Global Variable"
msgstr "Globale Variable"
+msgid "3D Engine"
+msgstr "3D-Engine"
+
msgid "2D Physics"
msgstr "2D-Physik"
@@ -1560,12 +2074,117 @@ msgstr "3D-Physik"
msgid "Navigation"
msgstr "Navigation"
+msgid "XR"
+msgstr "XR"
+
+msgid "RenderingDevice"
+msgstr "Rendergerät"
+
msgid "OpenGL"
msgstr "OpenGL"
msgid "Vulkan"
msgstr "Vulkan"
+msgid "Text Server: Fallback"
+msgstr "Textserver: Fallback"
+
+msgid "Text Server: Advanced"
+msgstr "Textserver: Erweitert"
+
+msgid "TTF, OTF, Type 1, WOFF1 Fonts"
+msgstr "TTF-, OTF-, Type 1-, WOFF1-Schriftarten"
+
+msgid "WOFF2 Fonts"
+msgstr "WOFF2-Schriftarten"
+
+msgid "SIL Graphite Fonts"
+msgstr "SIL-Graphite-Schriftarten"
+
+msgid "Multi-channel Signed Distance Field Font Rendering"
+msgstr "Mehrkanal vorzeichenbehaftetes Distanzfeld-Schriftarten-Rendern"
+
+msgid "3D Nodes as well as RenderingServer access to 3D features."
+msgstr "3D-Nodes und RenderingServer haben Zugriff auf 3D-Funktionen."
+
+msgid "2D Physics nodes and PhysicsServer2D."
+msgstr "2D-Physik-Nodes und PhysicsServer2D."
+
+msgid "3D Physics nodes and PhysicsServer3D."
+msgstr "3D-Physik-Nodes und PhysicsServer3D."
+
+msgid "Navigation, both 2D and 3D."
+msgstr "Navigation, sowohl in 2D wie auch in 3D."
+
+msgid "XR (AR and VR)."
+msgstr "XR (AR und VR)."
+
+msgid ""
+"RenderingDevice based rendering (if disabled, the OpenGL back-end is "
+"required)."
+msgstr ""
+"RenderingDevice-basiertes Rendern (OpenGL-Backend wird benötigt falls "
+"deaktiviert)."
+
+msgid ""
+"OpenGL back-end (if disabled, the RenderingDevice back-end is required)."
+msgstr ""
+"OpenGL-Backend (RenderingDevice-Backend wird benötigt falls deaktiviert)."
+
+msgid "Vulkan back-end of RenderingDevice."
+msgstr "Vulkan-Backend von RenderingDevice."
+
+msgid ""
+"Fallback implementation of Text Server\n"
+"Supports basic text layouts."
+msgstr ""
+"Fallback-Implementation von Text Server\n"
+"Unterstützt grundlegende Text-Layouts."
+
+msgid ""
+"Text Server implementation powered by ICU and HarfBuzz libraries.\n"
+"Supports complex text layouts, BiDi, and contextual OpenType font features."
+msgstr ""
+"Text Server-Implementation angetrieben durch ICU und HarfBuzz-Bibliotheken.\n"
+"Unterstützt komplexe Text-Layouts, BiDi und kontextsensitive OpenType-"
+"Schriftarten-Funktionen."
+
+msgid ""
+"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType "
+"library (if disabled, WOFF2 support is also disabled)."
+msgstr ""
+"TrueType-, OpenType-, Type 1- und WOFF1-Schriftartenunterstützung durch "
+"FreeType-Bibliothek (WOFF2-Unterstützung ist ebenfalls deaktiviert, falls "
+"dies deaktiviert wird)."
+
+msgid "WOFF2 font format support using FreeType and Brotli libraries."
+msgstr ""
+"WOFF2-Schriftartenunterstützung durch FreeType- und Brotli-Bibliotheken."
+
+msgid ""
+"SIL Graphite smart font technology support (supported by Advanced Text "
+"Server only)."
+msgstr ""
+"SIL-Graphite-smart-Schriftartenunterstützung (wird nur vom erweiterten Text "
+"Server unterstützt)."
+
+msgid ""
+"Multi-channel signed distance field font rendering support using msdfgen "
+"library (pre-rendered MSDF fonts can be used even if this option disabled)."
+msgstr ""
+"Mehrkanal vorzeichenbehaftetes Distanzfeld-Schriftarten-Render-Unterstützung "
+"durch msdfgen-Bibliothek (vorgerenderte MSDF-Schriftarten können auch "
+"genutzt werden wenn diese Option deaktiviert ist)."
+
+msgid "General Features:"
+msgstr "Wesentliche Funktionen:"
+
+msgid "Text Rendering and Font Options:"
+msgstr "Text-Render- und Schriftarten-Optionen:"
+
+msgid "File saving failed."
+msgstr "Dateispeichern fehlgeschlagen."
+
msgid "Nodes and Classes:"
msgstr "Nodes und Klassen:"
@@ -1581,12 +2200,42 @@ msgstr "Neu"
msgid "Save"
msgstr "Speichern"
+msgid "Profile:"
+msgstr "Profil:"
+
msgid "Reset to Defaults"
msgstr "Auf Standardwerte zurücksetzen"
+msgid "Detect from Project"
+msgstr "Von Projekt ableiten"
+
+msgid "Actions:"
+msgstr "Aktionen:"
+
+msgid "Configure Engine Build Profile:"
+msgstr "Engine-Build-Profil einstellen:"
+
+msgid "Please Confirm:"
+msgstr "Bitte bestätigen:"
+
+msgid "Engine Build Profile"
+msgstr "Engine-Build-Profil"
+
+msgid "Load Profile"
+msgstr "Profil laden"
+
msgid "Export Profile"
msgstr "Profil exportieren"
+msgid "Forced classes on detect:"
+msgstr "Forcierte Klassen beim Auffinden:"
+
+msgid "Edit Build Configuration Profile"
+msgstr "Build-Konfigurations-Profil bearbeiten"
+
+msgid "Filter Commands"
+msgstr "Befehle filtern"
+
msgid "Paste Params"
msgstr "Parameter einfügen"
@@ -1608,6 +2257,11 @@ msgstr "[ungespeichert]"
msgid "Please select a base directory first."
msgstr "Zuerst ein Wurzelverzeichnis auswählen."
+msgid "Could not create folder. File with that name already exists."
+msgstr ""
+"Ordner konnte nicht erstellt werden. Es existiert bereits eine Datei mit "
+"diesem Namen."
+
msgid "Choose a Directory"
msgstr "Wähle ein Verzeichnis"
@@ -1644,6 +2298,9 @@ msgstr "Dateisystemleiste"
msgid "Import Dock"
msgstr "Importleiste"
+msgid "History Dock"
+msgstr "Verlaufsleiste"
+
msgid "Allows to view and edit 3D scenes."
msgstr "Ermöglicht das Betrachten und Bearbeiten von 3D-Szenen."
@@ -1676,6 +2333,11 @@ msgstr ""
"Ermöglicht die Konfiguration von Importeinstellungen für individuelle "
"Dateien. Benötigt die Dateisystemleiste zum Funktionieren."
+msgid "Provides an overview of the editor's and each scene's undo history."
+msgstr ""
+"Zeigt eine Übersicht über den zeitlichen Verlauf der Bearbeitungsschritte im "
+"Editor und jeder Szene."
+
msgid "(current)"
msgstr "(ausgewählt)"
@@ -1778,9 +2440,6 @@ msgstr "Öffnen"
msgid "Select Current Folder"
msgstr "Gegenwärtigen Ordner auswählen"
-msgid "File exists, overwrite?"
-msgstr "Datei existiert bereits. Soll sie überschrieben werden?"
-
msgid "Select This Folder"
msgstr "Diesen Ordner auswählen"
@@ -1817,6 +2476,9 @@ msgstr "Datei oder Verzeichnis öffnen"
msgid "Save a File"
msgstr "Datei speichern"
+msgid "Favorited folder does not exist anymore and will be removed."
+msgstr "Der favorisierte Ordner existiert nicht und wurde entfernt."
+
msgid "Go Back"
msgstr "Zurück"
@@ -1877,6 +2539,23 @@ msgstr "Vorschau:"
msgid "File:"
msgstr "Datei:"
+msgid ""
+"Remove the selected files? For safety only files and empty directories can "
+"be deleted from here. (Cannot be undone.)\n"
+"Depending on your filesystem configuration, the files will either be moved "
+"to the system trash or deleted permanently."
+msgstr ""
+"Sollen die ausgewählten Dateien wirklich entfernt werden? Aus "
+"Sicherheitsgründen können hier nur Dateien und leere Verzeichnisse gelöscht "
+"werden. (Diese Aktion kann nicht rückgängig gemacht werden.)\n"
+"Abhängig von den Betriebssystemeinstellungen werden die Dateien in den "
+"Papierkorb verschoben oder permanent gelöscht."
+
+msgid "Some extensions need the editor to restart to take effect."
+msgstr ""
+"Einige Erweiterungen erfordern einen Neustart des Editors um aktiviert "
+"werden zu werden."
+
msgid "Restart"
msgstr "Neustarten"
@@ -1896,6 +2575,56 @@ msgstr ""
msgid "(Re)Importing Assets"
msgstr "Importiere Nutzerinhalte erneut"
+msgid "Import resources of type: %s"
+msgstr "Ressourcen importieren des Typs: %s"
+
+msgid "No return value."
+msgstr "Kein Rückgabewert."
+
+msgid "Deprecated"
+msgstr "Veraltet"
+
+msgid "Experimental"
+msgstr "Experimentell"
+
+msgid "This method supports a variable number of arguments."
+msgstr "Diese Methode akzeptiert eine variable Anzahl an Argumenten."
+
+msgid ""
+"This method is called by the engine.\n"
+"It can be overridden to customize built-in behavior."
+msgstr ""
+"Diese Methode wird von der Engine aufgerufen.\n"
+"Sie kann überschrieben werden um eingebautes Verhalten zu anzupassen."
+
+msgid ""
+"This method has no side effects.\n"
+"It does not modify the object in any way."
+msgstr ""
+"Diese Methode hat keine Seiteneffekte.\n"
+"Sie verändert das Objekt in keinster Weise."
+
+msgid ""
+"This method does not need an instance to be called.\n"
+"It can be called directly using the class name."
+msgstr ""
+"Diese Methode benötigt keine Instanz um aufgerufen zu werden.\n"
+"Sie kann direkt über den Klassennamen aufgerufen werden."
+
+msgid "Error codes returned:"
+msgstr "Zurückgegebene Fehlercodes:"
+
+msgid "There is currently no description for this %s."
+msgstr "Es gibt zur Zeit keine Beschreibung für %s."
+
+msgid ""
+"There is currently no description for this %s. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Es gibt zur Zeit keine Beschreibung für %s. [color=$color]"
+"[url=$url]Ergänzungen durch eigene Beiträge[/url][/color] sind sehr "
+"erwünscht!"
+
msgid "Top"
msgstr "Oben"
@@ -1908,9 +2637,34 @@ msgstr "Erbt von:"
msgid "Inherited by:"
msgstr "Vererbt an:"
+msgid ""
+"This class is marked as deprecated. It will be removed in future versions."
+msgstr ""
+"Diese Klasse ist als veraltet eingetragen. Sie wird in einer zukünftigen "
+"Version von Godot entfernt werden."
+
+msgid ""
+"This class is marked as experimental. It is subject to likely change or "
+"possible removal in future versions. Use at your own discretion."
+msgstr ""
+"Diese Klasse ist als experimentell eingetragen. Die Wahrscheinlichkeit ist "
+"hoch, dass sie verändert oder sogar wieder entfernt wird. Nutzung auf eigene "
+"Gefahr."
+
msgid "Description"
msgstr "Beschreibung"
+msgid "There is currently no description for this class."
+msgstr "Es gibt zur Zeit keine Beschreibung dieser Klasse."
+
+msgid ""
+"There is currently no description for this class. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Es gibt zur Zeit keine Beschreibung dieser Klasse. [color=$color]"
+"[url=$url]Ergänzungen durch eigene Beiträge[/url][/color] sind sehr "
+"erwünscht!"
+
msgid "Online Tutorials"
msgstr "Anleitungen im Netz"
@@ -1923,6 +2677,12 @@ msgstr "Überschreibt %s:"
msgid "default:"
msgstr "Standard:"
+msgid "property:"
+msgstr "Eigenschaft:"
+
+msgid "Constructors"
+msgstr "Konstruktoren"
+
msgid "Operators"
msgstr "Operatoren"
@@ -1938,6 +2698,9 @@ msgstr "Konstanten"
msgid "Fonts"
msgstr "Schriftarten"
+msgid "Font Sizes"
+msgstr "Schriftgrößen"
+
msgid "Icons"
msgstr "Symbole"
@@ -1947,12 +2710,29 @@ msgstr "Stile"
msgid "Enumerations"
msgstr "Aufzählungen"
+msgid "Annotations"
+msgstr "Anmerkungen"
+
+msgid "There is currently no description for this annotation."
+msgstr "Es gibt zur Zeit keine Beschreibung für diese Anmerkung."
+
+msgid ""
+"There is currently no description for this annotation. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Es gibt zur Zeit keine Beschreibung für diese Anmerkung. [color=$color]"
+"[url=$url]Ergänzungen durch eigene Beiträge[/url][/color] sind sehr "
+"erwünscht!"
+
msgid "Property Descriptions"
msgstr "Eigenschaften-Beschreibung"
msgid "(value)"
msgstr "(Wert)"
+msgid "There is currently no description for this property."
+msgstr "Es gibt zur Zeit keine Beschreibung für diese Eigenschaft."
+
msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
@@ -1961,9 +2741,15 @@ msgstr ""
"[url=$url]Ergänzungen durch eigene Beiträge[/url][/color] sind sehr "
"erwünscht!"
+msgid "Constructor Descriptions"
+msgstr "Konstruktorbeschreibungen"
+
msgid "Method Descriptions"
msgstr "Methoden-Beschreibung"
+msgid "Operator Descriptions"
+msgstr "Operatorbeschreibungen"
+
msgid "%d match."
msgstr "%d Übereinstimmung gefunden."
@@ -1985,12 +2771,21 @@ msgstr "Alles anzeigen"
msgid "Classes Only"
msgstr "Nur Klassen"
+msgid "Constructors Only"
+msgstr "Nur Konstruktoren"
+
msgid "Methods Only"
msgstr "Nur Methoden"
+msgid "Operators Only"
+msgstr "Nur Operatoren"
+
msgid "Signals Only"
msgstr "Nur Signale"
+msgid "Annotations Only"
+msgstr "Nur Anmerkungen"
+
msgid "Constants Only"
msgstr "Nur Konstanten"
@@ -2003,6 +2798,9 @@ msgstr "Nur Theme-Eigenschaften"
msgid "Member Type"
msgstr "Attribut-Typ"
+msgid "(constructors)"
+msgstr "(Konstruktoren)"
+
msgid "Class"
msgstr "Klasse"
@@ -2012,6 +2810,9 @@ msgstr "Methode"
msgid "Signal"
msgstr "Ereignis"
+msgid "Annotation"
+msgstr "Anmerkung"
+
msgid "Constant"
msgstr "Konstante"
@@ -2021,9 +2822,21 @@ msgstr "Eigenschaft"
msgid "Theme Property"
msgstr "Theme-Eigenschaft"
+msgid "This member is marked as deprecated."
+msgstr "Dieses Feld ist als veraltet eingetragen."
+
+msgid "This member is marked as experimental."
+msgstr "Dieses Feld ist als experimentell eingetragen."
+
msgid "Property:"
msgstr "Eigenschaft:"
+msgid "Pin Value"
+msgstr "Wert anheften"
+
+msgid "Pin Value [Disabled because '%s' is editor-only]"
+msgstr "Wert anheften [deaktiviert da ‚%s‘ Editor-exklusiv ist]"
+
msgid ""
"Pinning a value forces it to be saved even if it's equal to the default."
msgstr ""
@@ -2033,32 +2846,108 @@ msgstr ""
msgid "Open Documentation"
msgstr "Dokumentation öffnen"
+msgid "Element %d: %s%d*"
+msgstr "Element %d: %s%d*"
+
msgid "Move Up"
msgstr "Schiebe hoch"
msgid "Move Down"
msgstr "Schiebe runter"
+msgid "Insert New Before"
+msgstr "Neues davor einfügen"
+
+msgid "Insert New After"
+msgstr "Neues danach einfügen"
+
+msgid "Clear Array"
+msgstr "Array leeren"
+
+msgid "Resize Array..."
+msgstr "Arraygröße anpassen…"
+
+msgid "Add Element"
+msgstr "Element hinzufügen"
+
msgid "Resize Array"
msgstr "Größe des Arrays ändern"
+msgid "New Size:"
+msgstr "Neue Größe:"
+
+msgid "Element %s"
+msgstr "Element %s"
+
+msgid "Add Metadata"
+msgstr "Metadaten hinzufügen"
+
msgid "Set %s"
msgstr "%s setzen"
msgid "Set Multiple:"
msgstr "Mehrfach festlegen:"
+msgid "Remove metadata %s"
+msgstr "Metadatum %s entfernen"
+
msgid "Pinned %s"
msgstr "%s angeheftet"
msgid "Unpinned %s"
msgstr "%s losgelöst"
+msgid "Add metadata %s"
+msgstr "Metadatum %s hinzufügen"
+
+msgid "Metadata name can't be empty."
+msgstr "Metadatennamen dürfen nicht leer sein."
+
+msgid "Metadata name must be a valid identifier."
+msgstr "Metadatenname muss ein gültiger Bezeichner sein."
+
+msgid "Metadata with name \"%s\" already exists."
+msgstr "Metadatum mit dem Namen ‚%s‘ existiert bereits."
+
+msgid "Names starting with _ are reserved for editor-only metadata."
+msgstr ""
+"Namen welche mit _ beginnen sind für Editor-exklusive Metadaten reserviert."
+
+msgid "Metadata name is valid."
+msgstr "Metadatenname ist gültig."
+
+msgid "Add Metadata Property for \"%s\""
+msgstr "Metadateneigenschaft für „%s“ hinzufügen"
+
+msgid "Copy Value"
+msgstr "Wert kopieren"
+
+msgid "Paste Value"
+msgstr "Wert einfügen"
+
msgid "Copy Property Path"
msgstr "Eigenschaft-Pfad kopieren"
+msgid "Select existing layout:"
+msgstr "Existierendes Layout wählen:"
+
+msgid "Changed Locale Language Filter"
+msgstr "Lokalisierungssprachenfilter geändert"
+
+msgid "Changed Locale Script Filter"
+msgstr "Lokalisierungsskriptfilter geändert"
+
+msgid "Changed Locale Country Filter"
+msgstr "Lokalisierungslandfilter geändert"
+
msgid "Changed Locale Filter Mode"
-msgstr "Sprachfiltermodus geändert"
+msgstr "Lokalisierungsfiltermodus geändert"
+
+msgid "[Default]"
+msgstr "[Standard]"
+
+msgid "Select a Locale"
+msgstr "Lokalisierung auswählen"
msgid "Show All Locales"
msgstr "Alle Sprachen anzeigen"
@@ -2072,15 +2961,59 @@ msgstr "Filter bearbeiten"
msgid "Language:"
msgstr "Sprache:"
+msgctxt "Locale"
+msgid "Script:"
+msgstr "Skript:"
+
+msgid "Country:"
+msgstr "Land:"
+
+msgid "Language"
+msgstr "Sprache"
+
+msgctxt "Locale"
+msgid "Script"
+msgstr "Skript"
+
+msgid "Country"
+msgstr "Land"
+
msgid "Variant"
msgstr "Variante"
+msgid "Filter Messages"
+msgstr "Nachrichten filtern"
+
msgid "Clear Output"
msgstr "Ausgabe löschen"
msgid "Copy Selection"
msgstr "Auswahl kopieren"
+msgid ""
+"Collapse duplicate messages into one log entry. Shows number of occurrences."
+msgstr ""
+"Wiederholte Nachrichten zu einem Logeintrag zusammenfassen. Die Anzahl der "
+"zusammengefassten Nachrichten wird ebenfalls angezeigt."
+
+msgid "Focus Search/Filter Bar"
+msgstr "Such-/Filterleiste fokussieren"
+
+msgid "Toggle visibility of standard output messages."
+msgstr "Anzeige von Standardausgabe-Nachrichten umschalten."
+
+msgid "Toggle visibility of errors."
+msgstr "Anzeige von Fehlern umschalten."
+
+msgid "Toggle visibility of warnings."
+msgstr "Anzeige von Warnungen umschalten."
+
+msgid "Toggle visibility of editor messages."
+msgstr "Anzeige von Editornachrichten umschalten."
+
+msgid "Native Shader Source Inspector"
+msgstr "Nativer Shaderquelleninspektor"
+
msgid "New Window"
msgstr "Neues Fenster"
@@ -2115,6 +3048,13 @@ msgstr ""
"Diese Ressource kann nicht abgespeichert werden, da sie nicht Teil der "
"bearbeiteten Szene ist. Ressource muss vorher einzigartig gemacht werden."
+msgid ""
+"This resource can't be saved because it was imported from another file. Make "
+"it unique first."
+msgstr ""
+"Diese Ressource kann nicht abgespeichert werden, da sie aus einer anderen "
+"Datei importiert wurde. Sie muss erst einzigartig gemacht werden."
+
msgid "Save Resource As..."
msgstr "Speichere Ressource als..."
@@ -2127,6 +3067,23 @@ msgstr "Angefordertes Dateiformat unbekannt:"
msgid "Error while saving."
msgstr "Fehler beim Speichern."
+msgid "Can't open file '%s'. The file could have been moved or deleted."
+msgstr ""
+"Datei ‚%s‘ kann nicht geöffnet werden. Die Datei könnte verschoben oder "
+"gelöscht worden sein."
+
+msgid "Error while parsing file '%s'."
+msgstr "Fehler beim Parsen der Datei ‚%s‘."
+
+msgid "Scene file '%s' appears to be invalid/corrupt."
+msgstr "Szenendatei ‚%s‘ scheint ungültig/fehlerhaft zu sein."
+
+msgid "Missing file '%s' or one its dependencies."
+msgstr "Datei ‚%s‘ oder zugehörige Abhängigkeiten fehlen."
+
+msgid "Error while loading file '%s'."
+msgstr "Fehler beim Laden von Datei ‚%s‘."
+
msgid "Saving Scene"
msgstr "Speichere Szene"
@@ -2140,6 +3097,14 @@ msgid "This operation can't be done without a tree root."
msgstr "Diese Aktion kann nicht ohne eine Wurzel ausgeführt werden."
msgid ""
+"This scene can't be saved because there is a cyclic instance inclusion.\n"
+"Please resolve it and then attempt to save again."
+msgstr ""
+"Diese Szene kann nicht gespeichert werden, da sie eine zyklische "
+"Instanziierungshierarchie enthält.\n"
+"Speichern ist erst nach Beheben des Konflikts möglich."
+
+msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
msgstr ""
@@ -2184,6 +3149,9 @@ msgstr "Layout-Name nicht gefunden!"
msgid "Restored the Default layout to its base settings."
msgstr "Standardlayout wurde auf Werkseinstellungen zurückgesetzt."
+msgid "This object is marked as read-only, so it's not editable."
+msgstr "Dieses Objekt ist als nur-lesen markiert, es ist nicht bearbeitbar."
+
msgid ""
"This resource belongs to a scene that was imported, so it's not editable.\n"
"Please read the documentation relevant to importing scenes to better "
@@ -2194,6 +3162,14 @@ msgstr ""
"Die Dokumentation zum Szenenimport beschreibt den nötigen Arbeitsablauf."
msgid ""
+"This resource belongs to a scene that was instantiated or inherited.\n"
+"Changes to it must be made inside the original scene."
+msgstr ""
+"Diese Ressource gehört zu einer instanziierten oder geerbten Szene.\n"
+"Änderungen an der Ressource müssen in der ursprünglichen Szene vorgenommen "
+"werden."
+
+msgid ""
"This resource was imported, so it's not editable. Change its settings in the "
"import panel and then re-import."
msgstr ""
@@ -2201,21 +3177,61 @@ msgstr ""
"allerdings ein Neu-Import mit geänderten Einstellungen im Import-Menü "
"durchgeführt werden."
+msgid ""
+"This scene was imported, so changes to it won't be kept.\n"
+"Instantiating or inheriting it will allow you to make changes to it.\n"
+"Please read the documentation relevant to importing scenes to better "
+"understand this workflow."
+msgstr ""
+"Diese Szene wurde importiert, Änderungen an ihr werden nicht gespeichert.\n"
+"Instanziierung oder Vererbung erlaubt es, Änderungen vorzunehmen.\n"
+"Die Dokumentation zum Szenenimport beschreibt den nötigen Arbeitsablauf."
+
msgid "Changes may be lost!"
msgstr "Änderungen können verloren gehen!"
+msgid "This object is read-only."
+msgstr "Diese Objekt ist nur-lesbar."
+
+msgid ""
+"Movie Maker mode is enabled, but no movie file path has been specified.\n"
+"A default movie file path can be specified in the project settings under the "
+"Editor > Movie Writer category.\n"
+"Alternatively, for running single scenes, a `movie_file` string metadata can "
+"be added to the root node,\n"
+"specifying the path to a movie file that will be used when recording that "
+"scene."
+msgstr ""
+"Der Videoerstellungsmodus ist aktiviert, aber es wurde kein Videodateipfad "
+"angegeben.\n"
+"Ein Standard-Videodateipfad kann in den Projekteinstellungen unter der "
+"Kategorie Editor > Videoerstellung festgelegt werden.\n"
+"Als Alternative zum Abspielen einzelner Szenen, kann ein Metadatum namens "
+"‚movie_file‘ zur Wurzel-Node hinzugefügt werden,\n"
+"welches den Pfad zur Videodatei angibt, welche benutzt wird um die Szene "
+"aufzunehmen."
+
msgid "There is no defined scene to run."
msgstr "Es ist keine abzuspielende Szene definiert."
msgid "Save scene before running..."
msgstr "Szene vor dem Abspielen speichern..."
+msgid "Could not start subprocess(es)!"
+msgstr "Unterprozess(e) konnte(n) nicht gestartet werden!"
+
+msgid "Reload the played scene."
+msgstr "Abgespielte Szene neu laden."
+
msgid "Play the project."
msgstr "Projekt abspielen."
msgid "Play the edited scene."
msgstr "Spiele die bearbeitete Szene."
+msgid "Play a custom scene."
+msgstr "Angepasste Szene abspielen."
+
msgid "Open Base Scene"
msgstr "Basisszene öffnen"
@@ -2231,9 +3247,15 @@ msgstr "Schnell Skripte öffnen..."
msgid "Save & Reload"
msgstr "Speichern & Neu laden"
+msgid "Save modified resources before reloading?"
+msgstr "Geänderte Ressourcen vorm Neuladen speichern?"
+
msgid "Save & Quit"
msgstr "Speichern und beenden"
+msgid "Save modified resources before closing?"
+msgstr "Geänderte Ressourcen abspeichern vorm Schließen?"
+
msgid "Save changes to '%s' before reloading?"
msgstr "Änderungen in ‚%s‘ vor dem Neuladen speichern?"
@@ -2269,12 +3291,30 @@ msgstr "Kann nicht rückgängig gemacht werden während Maustasten gedrückt sin
msgid "Nothing to undo."
msgstr "Nichts rückgängig zu machen."
+msgid "Global Undo: %s"
+msgstr "Globales Rückgängig-Machen: %s"
+
+msgid "Remote Undo: %s"
+msgstr "Fern-Rückgängig-Machen: %s"
+
+msgid "Scene Undo: %s"
+msgstr "Szenen-Rückgängig-Machen: %s"
+
msgid "Can't redo while mouse buttons are pressed."
msgstr "Kann nicht wiederhergestellt werden solange Maustasten gedrückt sind."
msgid "Nothing to redo."
msgstr "Nichts wiederherzustellen."
+msgid "Global Redo: %s"
+msgstr "Globales Wiederherstellen: %s"
+
+msgid "Remote Redo: %s"
+msgstr "Fern-Wiederherstellen: %s"
+
+msgid "Scene Redo: %s"
+msgstr "Szenen-Wiederherstellen: %s"
+
msgid "Can't reload a scene that was never saved."
msgstr ""
"Szene kann nicht neu geladen werden, wenn sie vorher nicht gespeichert wurde."
@@ -2459,6 +3499,9 @@ msgstr "Sicht verschieben"
msgid "Dock Position"
msgstr "Leistenanordnung"
+msgid "Make Floating"
+msgstr "Schwebend machen"
+
msgid "Add a new scene."
msgstr "Eine neue Szene hinzufügen."
@@ -2480,6 +3523,18 @@ msgstr "Gehe zu vorher geöffneter Szene."
msgid "Copy Text"
msgstr "Text kopieren"
+msgid "Next Scene Tab"
+msgstr "Nächster Szenen-Tab"
+
+msgid "Previous Scene Tab"
+msgstr "Vorheriger Szenen-Tab"
+
+msgid "Focus FileSystem Filter"
+msgstr "Dateisystemfilter fokussieren"
+
+msgid "Command Palette"
+msgstr "Befehlsleiste"
+
msgid "New Scene"
msgstr "Neue Szene"
@@ -2498,6 +3553,9 @@ msgstr "Zuletzt benutzte Szenen"
msgid "Save Scene"
msgstr "Szene speichern"
+msgid "Export As..."
+msgstr "Exportieren als…"
+
msgid "MeshLibrary..."
msgstr "Mesh-Bibliothek..."
@@ -2513,9 +3571,18 @@ msgstr "Projekt"
msgid "Project Settings..."
msgstr "Projekteinstellungen..."
+msgid "Project Settings"
+msgstr "Projekteinstellungen"
+
msgid "Version Control"
msgstr "Versionsverwaltung"
+msgid "Create Version Control Metadata"
+msgstr "Versionsverwaltungsmetadaten erstellen"
+
+msgid "Version Control Settings"
+msgstr "Versionsverwaltungseinstellungen"
+
msgid "Export..."
msgstr "Exportieren..."
@@ -2525,6 +3592,9 @@ msgstr "Android-Build-Vorlage installieren..."
msgid "Open User Data Folder"
msgstr "Datei-Ordner des Nutzers öffnen"
+msgid "Customize Engine Build Configuration..."
+msgstr "Engine-Build-Konfiguration anpassen…"
+
msgid "Tools"
msgstr "Werkzeuge"
@@ -2543,6 +3613,9 @@ msgstr "Editor"
msgid "Editor Settings..."
msgstr "Editoreinstellungen…"
+msgid "Command Palette..."
+msgstr "Befehlsleiste…"
+
msgid "Editor Layout"
msgstr "Editorlayout"
@@ -2571,6 +3644,9 @@ msgstr "Editorfunktionen verwalten…"
msgid "Manage Export Templates..."
msgstr "Exportvorlagen verwalten…"
+msgid "Configure FBX Importer..."
+msgstr "FBX-Importer konfigurieren…"
+
msgid "Help"
msgstr "Hilfe"
@@ -2598,15 +3674,66 @@ msgstr "Über Godot"
msgid "Support Godot Development"
msgstr "Unterstützung der Godot-Entwicklung"
+msgid "Run the project's default scene."
+msgstr "Die Standardszene des Projekts abspielen."
+
msgid "Run Project"
msgstr "Projekt ausführen"
+msgid "Pause the running project's execution for debugging."
+msgstr "Ausführung des laufenden Projekts zum Debuggen pausieren."
+
+msgid "Pause Running Project"
+msgstr "Laufendes Projekt pausieren"
+
+msgid "Stop the currently running project."
+msgstr "Laufendes Projekt stoppen."
+
+msgid "Stop Running Project"
+msgstr "Laufendes Projekt stoppen"
+
+msgid "Run the currently edited scene."
+msgstr "Zur Zeit bearbeitete Szene abspielen."
+
+msgid "Run Current Scene"
+msgstr "Aktuelle Szene abspielen"
+
+msgid "Run a specific scene."
+msgstr "Eine bestimmte Szene abspielen."
+
+msgid "Run Specific Scene"
+msgstr "Bestimmte Szene abspielen"
+
+msgid ""
+"Enable Movie Maker mode.\n"
+"The project will run at stable FPS and the visual and audio output will be "
+"recorded to a video file."
+msgstr ""
+"Videoerstellungsmodus aktivieren.\n"
+"Das Projekt wird mit festgelegten FPS laufen und die audiovisuelle Ausgabe "
+"wird in einer Videodatei gespeichert."
+
+msgid "Choose a renderer."
+msgstr "Renderer auswählen."
+
+msgid "Forward+"
+msgstr "Forward+"
+
+msgid "Mobile"
+msgstr "Mobil"
+
msgid "Compatibility"
msgstr "Kompatibilität"
+msgid "Changing the renderer requires restarting the editor."
+msgstr "Das Ändern des Renderers erfordert einen Neustart des Editors."
+
msgid "Update Continuously"
msgstr "Fortlaufend aktualisieren"
+msgid "Update When Changed"
+msgstr "Bei Änderungen aktualisieren"
+
msgid "Hide Update Spinner"
msgstr "Aktualisierungsanzeigerad ausblenden"
@@ -2619,6 +3746,9 @@ msgstr "Inspektor"
msgid "Node"
msgstr "das Node"
+msgid "History"
+msgstr "Verlauf"
+
msgid "Expand Bottom Panel"
msgstr "Unteres Panel vergrößern"
@@ -2638,6 +3768,26 @@ msgstr "Vorlagen verwalten"
msgid "Install from file"
msgstr "Aus Datei installieren"
+msgid "Select Android sources file"
+msgstr "Android Quelldateien auswählen"
+
+msgid ""
+"This will set up your project for gradle Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make gradle builds instead of using pre-built APKs, "
+"the \"Use Gradle Build\" option should be enabled in the Android export "
+"preset."
+msgstr ""
+"Hiermit wird der Projektordner für Gradle-Android-Builds eingerichtet in dem "
+"das Quell-Template nach „res://android/build“ installiert wird.\n"
+"Danach können eigene Modifikationen vorgenommen und ein eigens APK "
+"exportiert werden (Module hinzufügen, AndroidManifest.xml ändern, usw.).\n"
+"Achtung: Um eigene Builds, statt den vorgefertigten zu generieren, muss die "
+"Option „Use Gradle Build“ in den Android-Export-Voreinstellungen aktiviert "
+"sein."
+
msgid ""
"The Android build template is already installed in this project and it won't "
"be overwritten.\n"
@@ -2707,6 +3857,9 @@ msgstr "Nächsten Editor öffnen"
msgid "Open the previous Editor"
msgstr "Vorigen Editor öffnen"
+msgid "Ok"
+msgstr "OK"
+
msgid "Warning!"
msgstr "Warnung!"
@@ -2731,6 +3884,9 @@ msgstr "Plugin bearbeiten"
msgid "Installed Plugins:"
msgstr "Installierte Erweiterungen:"
+msgid "Create New Plugin"
+msgstr "Neues Plugin erstellen"
+
msgid "Version"
msgstr "Version"
@@ -2746,6 +3902,9 @@ msgstr "Text bearbeiten:"
msgid "On"
msgstr "An"
+msgid "Renaming layer %d:"
+msgstr "Ebene %d umbenennen:"
+
msgid "No name provided."
msgstr "Kein Name angegeben."
@@ -2758,12 +3917,46 @@ msgstr "Bit %d, Wert %d"
msgid "Rename"
msgstr "Umbenennen"
+msgid "Rename layer"
+msgstr "Ebene umbenennen"
+
+msgid "Layer %d"
+msgstr "Ebene %d"
+
+msgid "No Named Layers"
+msgstr "Keine benannten Ebenen"
+
+msgid "Edit Layer Names"
+msgstr "Ebenennamen bearbeiten"
+
+msgid "<empty>"
+msgstr "<leer>"
+
+msgid "Temporary Euler may be changed implicitly!"
+msgstr "Temporärer Euler könnte indirekt geändert werden!"
+
+msgid ""
+"Temporary Euler will not be stored in the object with the original value. "
+"Instead, it will be stored as Quaternion with irreversible conversion.\n"
+"This is due to the fact that the result of Euler->Quaternion can be "
+"determined uniquely, but the result of Quaternion->Euler can be multi-"
+"existent."
+msgstr ""
+"Temporärer Euler wird nicht im Objekt zusammen mit dem ursprünglichen Wert "
+"gespeichert werden. Stattdessen wird er als Quaternion nach irreversibler "
+"Konversion gespeichert.\n"
+"Das liegt daran dass der Weg von Euler zu Quaternion eindeutig ist, der Weg "
+"von Quaternion zu Euler allerdings mehrere Ergebnisse liefern kann."
+
msgid "Assign..."
msgstr "Zuweisen..."
msgid "Invalid RID"
msgstr "Ungültige RID"
+msgid "Recursion detected, unable to assign resource to property."
+msgstr "Rekursion erkannt, Ressource kann Eigenschaft nicht zugewiesen werden."
+
msgid ""
"Can't create a ViewportTexture on resources saved as a file.\n"
"Resource needs to belong to a scene."
@@ -2789,12 +3982,24 @@ msgstr "Viewport auswählen"
msgid "Selected node is not a Viewport!"
msgstr "Ausgewähltes Node ist kein Viewport!"
+msgid "(Nil) %s"
+msgstr "(Nil) %s"
+
+msgid "%s (size %s)"
+msgstr "%s (Größe %s)"
+
msgid "Size:"
msgstr "Größe:"
msgid "Remove Item"
msgstr "Entferne Element"
+msgid "Dictionary (Nil)"
+msgstr "Wörterbuch (Nil)"
+
+msgid "Dictionary (size %d)"
+msgstr "Wörterbuch (Größe %d)"
+
msgid "New Key:"
msgstr "Neuer Schlüssel:"
@@ -2804,6 +4009,15 @@ msgstr "Neuer Wert:"
msgid "Add Key/Value Pair"
msgstr "Schlüssel-Wert-Paar hinzufügen"
+msgid "Localizable String (Nil)"
+msgstr "Lokalisierbare Zeichenkette (Nil)"
+
+msgid "Localizable String (size %d)"
+msgstr "Lokalisierbare Zeichenkette (Größe %d)"
+
+msgid "Add Translation"
+msgstr "Übersetzung hinzufügen"
+
msgid ""
"The selected resource (%s) does not match any type expected for this "
"property (%s)."
@@ -2814,9 +4028,15 @@ msgstr ""
msgid "Quick Load"
msgstr "Schnell laden"
+msgid "Inspect"
+msgstr "Inspizieren"
+
msgid "Make Unique"
msgstr "Einzigartig machen"
+msgid "Make Unique (Recursive)"
+msgstr "Einzigartig machen (rekursiv)"
+
msgid "Convert to %s"
msgstr "Umwandeln zu %s"
@@ -2829,6 +4049,15 @@ msgstr "Neues Skript"
msgid "Extend Script"
msgstr "Skript erweitern"
+msgid "New Shader"
+msgstr "Neuer Shader"
+
+msgid "No Remote Debug export presets configured."
+msgstr "Keine Ferndebug-Exportvorlagen konfiguriert."
+
+msgid "Remote Debug"
+msgstr "Fern-Debuggen"
+
msgid ""
"No runnable export preset found for this platform.\n"
"Please add a runnable preset in the Export menu or define an existing preset "
@@ -2846,6 +4075,18 @@ msgstr "Spiellogik sollte mit der _run()-Methode beginnen."
msgid "There is an edited scene already."
msgstr "Es besteht bereits eine bearbeitete Szene."
+msgid ""
+"Couldn't run editor script, did you forget to override the '_run' method?"
+msgstr ""
+"Editor-Skript konnte nicht ausgeführt werden, wurde möglicherweise vergessen "
+"die ‚_run‘-Methode zu überschreiben?"
+
+msgid "Edit Built-in Action"
+msgstr "Eingebaute Aktion bearbeiten"
+
+msgid "Edit Shortcut"
+msgstr "Tastenkürzel bearbeiten"
+
msgid "Common"
msgstr "Allgemein"
@@ -2855,6 +4096,9 @@ msgstr "Editoreinstellungen"
msgid "General"
msgstr "Allgemein"
+msgid "Filter Settings"
+msgstr "Filtereinstellungen"
+
msgid "The editor must be restarted for changes to take effect."
msgstr ""
"Damit die Änderungen Wirkung zeigen muss der Editor neu gestartet werden."
@@ -2865,12 +4109,111 @@ msgstr "Tastenkürzel"
msgid "Binding"
msgstr "Zuordnung"
+msgid ""
+"Hold %s to round to integers.\n"
+"Hold Shift for more precise changes."
+msgstr ""
+"%s drücken um zu Ganzzahlen zu runden.\n"
+"Umschalt drücken für präzisere Änderungen."
+
+msgid "No notifications."
+msgstr "Keine Benachrichtigungen."
+
+msgid "Show notifications."
+msgstr "Benachrichtigungen anzeigen."
+
+msgid "Silence the notifications."
+msgstr "Benachrichtigungen abstellen."
+
+msgid "Left Stick Left, Joystick 0 Left"
+msgstr "Linker Stick links, Joystick 0 links"
+
+msgid "Left Stick Right, Joystick 0 Right"
+msgstr "Linker Stick rechts, Joystick 0 rechts"
+
+msgid "Left Stick Up, Joystick 0 Up"
+msgstr "Linker Stick hoch, Joystick 0 hoch"
+
+msgid "Left Stick Down, Joystick 0 Down"
+msgstr "Linker Stick runter, Joystick 0 runter"
+
+msgid "Right Stick Left, Joystick 1 Left"
+msgstr "Rechter Stick links, Joystick 1 links"
+
+msgid "Right Stick Right, Joystick 1 Right"
+msgstr "Rechter Stick rechts, Joystick 1 rechts"
+
+msgid "Right Stick Up, Joystick 1 Up"
+msgstr "Rechter Stick hoch, Joystick 1 hoch"
+
+msgid "Right Stick Down, Joystick 1 Down"
+msgstr "Rechter Stick runter, Joystick 1 runter"
+
+msgid "Joystick 2 Left"
+msgstr "Joystick 2 links"
+
+msgid "Left Trigger, Sony L2, Xbox LT, Joystick 2 Right"
+msgstr "Linker Trigger, Sony L2, Xbox LT, Joystick 2 rechts"
+
+msgid "Joystick 2 Up"
+msgstr "Joystick 2 hoch"
+
+msgid "Right Trigger, Sony R2, Xbox RT, Joystick 2 Down"
+msgstr "Rechter Trigger, Sony R2, Xbox RT, Joystick 2 runter"
+
+msgid "Joystick 3 Left"
+msgstr "Joystick 3 links"
+
+msgid "Joystick 3 Right"
+msgstr "Joystick 3 rechts"
+
+msgid "Joystick 3 Up"
+msgstr "Joystick 3 hoch"
+
+msgid "Joystick 3 Down"
+msgstr "Joystick 3 runter"
+
+msgid "Joystick 4 Left"
+msgstr "Joystick 4 links"
+
+msgid "Joystick 4 Right"
+msgstr "Joystick 4 rechts"
+
+msgid "Joystick 4 Up"
+msgstr "Joystick 4 hoch"
+
+msgid "Joystick 4 Down"
+msgstr "Joystick 4 runter"
+
+msgid "Joypad Axis %d %s (%s)"
+msgstr "Joypad Achse %d %s (%s)"
+
msgid "All Devices"
msgstr "Alle Geräte"
msgid "Device"
msgstr "Gerät"
+msgid "Listening for input..."
+msgstr "Warte auf Eingabe…"
+
+msgid "Filter by event..."
+msgstr "Nach Ereignis filtern…"
+
+msgid ""
+"Target platform requires 'ETC2/ASTC' texture compression. Enable 'Import "
+"ETC2 ASTC' in Project Settings."
+msgstr ""
+"Die Zielplattform benötigt ‚ETC2/ASTC‘-Texturkompression. Bitte in den "
+"Projekteinstellungen ‚ETC2 ASTC importieren‘ aktivieren."
+
+msgid ""
+"Target platform requires 'S3TC/BPTC' texture compression. Enable 'Import "
+"S3TC BPTC' in Project Settings."
+msgstr ""
+"Die Zielplattform benötigt ‚S3TC/BPTC‘-Texturkompression. Bitte in den "
+"Projekteinstellungen ‚S3TC BPTC importieren‘ aktivieren."
+
msgid "Project export for platform:"
msgstr "Projektexport für Plattform:"
@@ -2907,6 +4250,12 @@ msgstr "Datei „%s“ konnte nicht erstellt werden."
msgid "Failed to export project files."
msgstr "Projektdateien konnten nicht exportiert werden."
+msgid "Can't create encrypted file."
+msgstr "Verschlüsselte Datei kann nicht erzeugt werden."
+
+msgid "Can't open encrypted file to write."
+msgstr "Verschlüsselte Datei kann nicht zum Schreiben geöffnet werden."
+
msgid "Can't open file to read from path \"%s\"."
msgstr "Datei im Pfad „%s“kann nicht zum Lesen geöffnet werden."
@@ -3035,6 +4384,9 @@ msgstr "Wird heruntergeladen"
msgid "Connection Error"
msgstr "Verbindungsfehler"
+msgid "TLS Handshake Error"
+msgstr "TLS-Handshake-Fehler"
+
msgid "Can't open the export templates file."
msgstr "Exportvorlagendatei konnte nicht geöffnet werden."
@@ -3150,6 +4502,9 @@ msgstr ""
msgid "Delete preset '%s'?"
msgstr "Vorlage ‚%s‘ löschen?"
+msgid "%s Export"
+msgstr "%s-Export"
+
msgid "Release"
msgstr "Veröffentlichung"
@@ -3182,13 +4537,20 @@ msgid "Resources"
msgstr "Ressourcen"
msgid "Export all resources in the project"
-msgstr "Exportiere alle Ressourcen des Projekts"
+msgstr "Alle Ressourcen des Projekts exportieren"
msgid "Export selected scenes (and dependencies)"
-msgstr "Exportiere ausgewählte Szenen (inklusive Abhängigkeiten)"
+msgstr "Ausgewählte Szenen (inklusive Abhängigkeiten) exportieren"
msgid "Export selected resources (and dependencies)"
-msgstr "Exportiere ausgewählte Ressourcen (inklusive Abhängigkeiten)"
+msgstr "Ausgewählte Ressourcen (inklusive Abhängigkeiten) exportieren"
+
+msgid "Export all resources in the project except resources checked below"
+msgstr ""
+"Alle Ressourcen des Projekts, außer den unten ausgewählten, exportieren"
+
+msgid "Export as dedicated server"
+msgstr "Als dedizierter Server exportieren"
msgid "Export Mode:"
msgstr "Export-Modus:"
@@ -3196,6 +4558,15 @@ msgstr "Export-Modus:"
msgid "Resources to export:"
msgstr "Zu exportierende Ressourcen:"
+msgid ""
+"\"Strip Visuals\" will replace the following resources with placeholders:"
+msgstr ""
+"„Grafiken entfernen“ wird die folgenden Ressourcen durch Platzhalter "
+"ersetzen:"
+
+msgid "Strip Visuals"
+msgstr "Grafiken entfernen"
+
msgid "Keep"
msgstr "Behalten"
@@ -3222,11 +4593,37 @@ msgstr "Benutzerdefiniert (komma-separiert):"
msgid "Feature List:"
msgstr "Funktionalitätsliste:"
+msgid "Encryption"
+msgstr "Verschlüsslung"
+
+msgid "Encrypt Exported PCK"
+msgstr "Exportiertes PCK verschlüsseln"
+
+msgid "Encrypt Index (File Names and Info)"
+msgstr "Verschlüsslungsindex (Dateinamen und Info)"
+
+msgid ""
+"Filters to include files/folders\n"
+"(comma-separated, e.g: *.tscn, *.tres, scenes/*)"
+msgstr ""
+"Filter um Dateien/Ordner einzuschließen\n"
+"(durch Kommata getrennt, z.B.: *.tscn, *.tres, scenes/*)"
+
+msgid ""
+"Filters to exclude files/folders\n"
+"(comma-separated, e.g: *.ctex, *.import, music/*)"
+msgstr ""
+"Filter um Dateien/Ordner auszuschließen\n"
+"(durch Kommata getrennt, z.B.: *.ctex, *.import, music/*)"
+
msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
msgstr ""
"Ungültiger Schlüssel für Verschlüsselung (muss aus 64 hexadezimalen Zeichen "
"bestehen)"
+msgid "Encryption Key (256-bits as hexadecimal):"
+msgstr "Schlüssel (256 bit, hexadezimal):"
+
msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
@@ -3237,6 +4634,9 @@ msgstr ""
msgid "More Info..."
msgstr "Mehr Infos…"
+msgid "Export PCK/ZIP..."
+msgstr "PCK/ZIP exportieren…"
+
msgid "Export Project..."
msgstr "Projekt exportieren…"
@@ -3270,22 +4670,34 @@ msgstr "Exportiere mit Debuginformationen"
msgid "Path to FBX2glTF executable is empty."
msgstr "Dateipfad zur ausführbaren Datei von FBX2glTF ist leer."
+msgid "Path to FBX2glTF executable is invalid."
+msgstr "Pfad zum FBX2glTF-Programm ist ungültig."
+
msgid "Error executing this file (wrong version or architecture)."
msgstr "Fehler beim Ausführen dieser Datei (falsche Version oder Architektur)."
+msgid "FBX2glTF executable is valid."
+msgstr "FBX2glTF-Programmdatei ist gültig."
+
+msgid "Configure FBX Importer"
+msgstr "FBX-Importer konfigurieren"
+
msgid ""
"FBX2glTF is required for importing FBX files.\n"
"Please download it and provide a valid path to the binary:"
msgstr ""
-"FBX2glTF wird benötigt um FBX Dateien zu importieren.\n"
-"Bitte laden Sie es herunter und geben Sie den Pfad zur ausführbaren Datei an:"
+"FBX2glTF wird benötigt um FBX-Dateien zu importieren.\n"
+"Bitte herunterladen und Pfad zur ausführbaren Datei angeben:"
msgid "Click this link to download FBX2glTF"
-msgstr "Klicken Sie diesen Link an um FBX2glTF herunterzuladen"
+msgstr "Diesen Link klicken um FBX2glTF herunterzuladen"
msgid "Browse"
msgstr "Durchsuchen"
+msgid "Confirm Path"
+msgstr "Pfad bestätigen"
+
msgid "Favorites"
msgstr "Favoriten"
@@ -3311,6 +4723,12 @@ msgstr "Fehler beim Verschieben:"
msgid "Error duplicating:"
msgstr "Fehler beim Duplizieren:"
+msgid "Failed to save resource at %s: %s"
+msgstr "Speichern der Ressource in %s fehlgeschlagen: %s"
+
+msgid "Failed to load resource at %s: %s"
+msgstr "Laden der Ressource von %s fehlgeschlagen: %s"
+
msgid "Unable to update dependencies:"
msgstr "Fehler beim Aktualisieren der Abhängigkeiten:"
@@ -3365,6 +4783,9 @@ msgstr "Neue geerbte Szene"
msgid "Set As Main Scene"
msgstr "Als Hauptszene setzen"
+msgid "Instantiate"
+msgstr "Instantiieren"
+
msgid "Add to Favorites"
msgstr "Zu Favoriten hinzufügen"
@@ -3380,6 +4801,21 @@ msgstr "Zeige Besitzer..."
msgid "Move To..."
msgstr "Verschiebe zu..."
+msgid "Folder..."
+msgstr "Ordner…"
+
+msgid "Scene..."
+msgstr "Szene…"
+
+msgid "Script..."
+msgstr "Skript…"
+
+msgid "Resource..."
+msgstr "Ressource…"
+
+msgid "TextFile..."
+msgstr "Textdatei…"
+
msgid "New Scene..."
msgstr "Neue Szene…"
@@ -3389,6 +4825,12 @@ msgstr "Neues Skript..."
msgid "New Resource..."
msgstr "Neue Ressource..."
+msgid "New TextFile..."
+msgstr "Neue Textdatei…"
+
+msgid "Sort Files"
+msgstr "Dateien sortieren"
+
msgid "Sort by Name (Ascending)"
msgstr "Nach Name sortieren (aufsteigend)"
@@ -3407,18 +4849,33 @@ msgstr "Nach Bearbeitungszeit sortieren (Aktuelles zuerst)"
msgid "Sort by First Modified"
msgstr "Nach Bearbeitungszeit sortieren (Aktuelles zuletzt)"
+msgid "Copy UID"
+msgstr "UID kopieren"
+
msgid "Duplicate..."
msgstr "Duplizieren..."
msgid "Rename..."
msgstr "Umbenennen..."
+msgid "Open in External Program"
+msgstr "In externem Programm öffnen"
+
+msgid "Go to previous selected folder/file."
+msgstr "Zur vorigen ausgewählten Datei/Order springen."
+
+msgid "Go to next selected folder/file."
+msgstr "Zur nächsten ausgewählten Datei/Order springen."
+
msgid "Re-Scan Filesystem"
msgstr "Dateisystem erneut einlesen"
msgid "Toggle Split Mode"
msgstr "Geteilten Modus umschalten"
+msgid "Filter Files"
+msgstr "Dateien filtern"
+
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -3466,9 +4923,21 @@ msgstr "Ersetzen..."
msgid "Replace in Files"
msgstr "In Dateien ersetzen"
+msgid "Replace all (no undo)"
+msgstr "Alle ersetzen (kann nicht rückgängig gemacht werden)"
+
msgid "Searching..."
msgstr "Am suchen..."
+msgid "%d match in %d file"
+msgstr "%d Übereinstimmung in %d Datei"
+
+msgid "%d matches in %d file"
+msgstr "%d Übereinstimmungen in %d Datei"
+
+msgid "%d matches in %d files"
+msgstr "%d Übereinstimmungen in %d Dateien"
+
msgid "Add to Group"
msgstr "Zu Gruppe hinzufügen"
@@ -3505,19 +4974,193 @@ msgstr "Gruppeneditor"
msgid "Manage Groups"
msgstr "Gruppen verwalten"
+msgid "The Beginning"
+msgstr "Der Anfang"
+
+msgid "Global"
+msgstr "Global"
+
+msgid "Audio Stream Importer: %s"
+msgstr "Audiostream-Importer: %s"
+
msgid "Reimport"
msgstr "Neuimport"
+msgid "Enable looping."
+msgstr "Schleife aktivieren."
+
msgid "Offset:"
msgstr "Versatz:"
msgid ""
+"Loop offset (from beginning). Note that if BPM is set, this setting will be "
+"ignored."
+msgstr ""
+"Schleifenversatz (vom Start). Hinweis: Falls BPM festgelegt wurde, wird "
+"diese Einstellung ignoriert."
+
+msgid "Loop:"
+msgstr "Schleife:"
+
+msgid "BPM:"
+msgstr "BPM:"
+
+msgid ""
+"Configure the Beats Per Measure (tempo) used for the interactive streams.\n"
+"This is required in order to configure beat information."
+msgstr ""
+"Konfiguriert die Beats pro Messung (das Tempo) für interaktive Streams.\n"
+"Dies wird benötigt um Beat-Informationen einstellen zu können."
+
+msgid "Beat Count:"
+msgstr "Beatzähler:"
+
+msgid ""
+"Configure the amount of Beats used for music-aware looping. If zero, it will "
+"be autodetected from the length.\n"
+"It is recommended to set this value (either manually or by clicking on a "
+"beat number in the preview) to ensure looping works properly."
+msgstr ""
+"Konfiguriert die Anzahl der benutzen Beats für Musik-bewusstes Wiederholen. "
+"Falls Null, wird sie automatisch aus der Länger abgeleitet.\n"
+"Es wird empfohlen diesen Wert festzulegen (entweder manuell oder durch "
+"klicken auf den Beat-Zähler in der Vorschau) um sicherzustellen dass das "
+"Wiederholen richtig funktioniert."
+
+msgid "Bar Beats:"
+msgstr "Takt-Beats:"
+
+msgid ""
+"Configure the Beats Per Bar. This used for music-aware transitions between "
+"AudioStreams."
+msgstr ""
+"Konfiguriert die Beats pro Takt. Dies wird verwendet für Musik-bewusste "
+"Übergänge zwischen AudioStreams."
+
+msgid "Music Playback:"
+msgstr "Musikwiedergabe:"
+
+msgid "New Configuration"
+msgstr "Neue Konfiguration"
+
+msgid "Remove Variation"
+msgstr "Variation entfernen"
+
+msgid "Preloaded glyphs: %d"
+msgstr "Glyphen vorladen: %d"
+
+msgid ""
+"Warning: There are no configurations specified, no glyphs will be pre-"
+"rendered."
+msgstr ""
+"Achtung: Es sind keine Konfigurationen festgelegt, keine Glyphen werden "
+"vorgerendert."
+
+msgid ""
"Warning: Multiple configurations have identical settings. Duplicates will be "
"ignored."
msgstr ""
"Warnung: Mehrere Konfigurationen haben identische Einstellungen. Duplikate "
"werden ignoriert."
+msgid ""
+"Note: LCD Subpixel antialiasing is selected, each of the glyphs will be pre-"
+"rendered for all supported subpixel layouts (5x)."
+msgstr ""
+"Hinweis: LCD-Subpixel-Antialiasing wurde ausgewählt, jede Glyphe wird "
+"vorgerendert für alle unterstützten Subpixellayouts (5x)."
+
+msgid ""
+"Note: Subpixel positioning is selected, each of the glyphs might be pre-"
+"rendered for multiple subpixel offsets (up to 4x)."
+msgstr ""
+"Hinweis: Subpixelpositionierung wurde ausgewählt, jede Glyphe könnte für "
+"mehrere Subpixelversätze vorgerendert werden (bis zu 4x)."
+
+msgid "Advanced Import Settings for '%s'"
+msgstr "Erweiterte Importeinstellungen für ‚%s‘"
+
+msgid "Rendering Options"
+msgstr "Renderoptionen"
+
+msgid "Select font rendering options, fallback font, and metadata override:"
+msgstr ""
+"Schriftart-Renderoptionen, Fallback-Schriftart und Metadatenüberschreibung "
+"auswählen:"
+
+msgid "Pre-render Configurations"
+msgstr "Vorrender-Konfigurationen"
+
+msgid ""
+"Add font size, and variation coordinates, and select glyphs to pre-render:"
+msgstr ""
+"Schriftgröße, Variationskoordinaten und Glyphen zum vorrendern auswählen:"
+
+msgid "Configuration:"
+msgstr "Konfiguration:"
+
+msgid "Add configuration"
+msgstr "Konfiguration hinzufügen"
+
+msgid "Clear Glyph List"
+msgstr "Glyphenliste leeren"
+
+msgid "Glyphs from the Translations"
+msgstr "Glyphen der Übersetzungen"
+
+msgid "Select translations to add all required glyphs to pre-render list:"
+msgstr ""
+"Übersetzungen auswählen um alle benötigten Glyphen zur Vorrenderliste "
+"hinzuzufügen:"
+
+msgid "Shape all Strings in the Translations and Add Glyphs"
+msgstr "Alle Zeichenketten der Übersetzungen formen und Glyphen hinzufügen"
+
+msgid "Glyphs from the Text"
+msgstr "Glyphen aus Text"
+
+msgid ""
+"Enter a text and select OpenType features to shape and add all required "
+"glyphs to pre-render list:"
+msgstr ""
+"Text eingeben und OpenType-Funktionen auswählen um Formen und alle "
+"benötigten Glyphen zur Vorrenderliste hinzuzufügen:"
+
+msgid "Shape Text and Add Glyphs"
+msgstr "Text formen und Glyphen hinzufügen"
+
+msgid "Glyphs from the Character Map"
+msgstr "Glyphen der Zeichentabelle"
+
+msgid ""
+"Add or remove glyphs from the character map to pre-render list:\n"
+"Note: Some stylistic alternatives and glyph variants do not have one-to-one "
+"correspondence to character, and not shown in this map, use \"Glyphs from "
+"the text\" tab to add these."
+msgstr ""
+"Glyphen zur Zeichentabelle der Vorrenderliste hinzufügen oder entfernen:\n"
+"Hinweis: Manche stilistischen Alternativen und Glyphenvarianten besitzen "
+"keine eins-zu-eins Zuordnung zu Zeichen und werden nicht in dieser Tabelle "
+"gelistet. Im Reiter „Glyphen aus Text“ können sie hinzugefügt werden."
+
+msgid "Dynamically rendered TrueType/OpenType font"
+msgstr "Dynamisch gerenderte TrueType/OpenType-Schriftart"
+
+msgid "Prerendered multichannel(+true) signed distance field"
+msgstr "Vorgerendertes Mehrkanal(+true) vorzeichenbehaftetes Distanzfeld"
+
+msgid "Can't load font texture:"
+msgstr "Schriftart-Textur konnte nicht geladen werden:"
+
+msgid "Image margin too big."
+msgstr "Bildmaße zu groß."
+
+msgid "Character margin too bit."
+msgstr "Zeichenmaße zu groß."
+
+msgid "Pre-Import Scene"
+msgstr "Szene vorimportieren"
+
msgid "Importing Scene..."
msgstr "Szene wird importiert..."
@@ -3536,10 +5179,22 @@ msgstr "Ungültiges oder fehlerhaftes Skript für Post-Import (siehe Konsole):"
msgid "Error running post-import script:"
msgstr "Fehler beim ausführen des Post-Import Skripts:"
+msgid "Did you return a Node-derived object in the `_post_import()` method?"
+msgstr ""
+"Wurde ein von Node abstammendes Objekt in der ‚_post_import()‘-Methode "
+"zurückgegeben?"
+
msgid "Saving..."
msgstr "Speichere..."
msgid ""
+"Error importing GLSL shader file: '%s'. Open the file in the filesystem dock "
+"in order to see the reason."
+msgstr ""
+"Fehler beim importieren der GLSL-Shader-Datei: ‚%s‘. Der genaue Fehler kann "
+"angezeigt werden, wenn die Datei in der Dateisystemleiste geöffnet wird."
+
+msgid ""
"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
"texture compression to reduce memory usage (blue channel is discarded)."
msgstr ""
@@ -3547,18 +5202,163 @@ msgstr ""
"Texturkompression wurde aktiviert um Speicherverbrauch zu reduzieren (der "
"blaue Kanal wird verworfen)."
+msgid ""
+"%s: Texture detected as used as a roughness map in 3D. Enabling roughness "
+"limiter based on the detected associated normal map at %s."
+msgstr ""
+"%s: Verwendung der Textur als Roughness-Map in 3D festgestellt. "
+"Rauheitsbegrenzer basierend auf der erkannten zugeordneten Normalen-Map in "
+"%s wurde aktiviert."
+
+msgid ""
+"%s: Texture detected as used in 3D. Enabling mipmap generation and setting "
+"the texture compression mode to %s."
+msgstr ""
+"%s: Verwendung der Textur in 3D festgestellt. Mipmap-Erzeugung wurde "
+"aktiviert und der Texturkompressionsmodus auf %s gesetzt."
+
+msgid "2D/3D (Auto-Detect)"
+msgstr "2D/3D (Autoerkennung)"
+
msgid "2D"
msgstr "2D"
msgid "3D"
msgstr "3D"
+msgid "<Unnamed Material>"
+msgstr "<unbenanntes Material>"
+
+msgid "Import ID: %s"
+msgstr "Import-ID: %s"
+
+msgid ""
+"Type: %s\n"
+"Import ID: %s"
+msgstr ""
+"Typ: %s\n"
+"Import-ID: %s"
+
+msgid "Error opening scene"
+msgstr "Fehler beim Öffnen der Szene"
+
+msgid "Advanced Import Settings for AnimationLibrary '%s'"
+msgstr "Erweiterte Importeinstellungen für die Animation-Bibliothek ‚%s‘"
+
+msgid "Advanced Import Settings for Scene '%s'"
+msgstr "Erweiterte Importeinstellungen für Szene ‚%s‘"
+
+msgid "Select folder to extract material resources"
+msgstr "Ordner zum extrahieren der Materialressourcen auswählen"
+
+msgid "Select folder where mesh resources will save on import"
+msgstr "Ordner zum speichern der Mesh-Ressourcen beim Import auswählen"
+
+msgid "Select folder where animations will save on import"
+msgstr "Ordner zum speichern der Animation beim Import auswählen"
+
+msgid "Existing file with the same name will be replaced."
+msgstr "Eine bereits existierende Datei mit dem gleichen Name wird ersetzt."
+
+msgid ""
+"This material already references an external file, no action will be taken.\n"
+"Disable the external property for it to be extracted again."
+msgstr ""
+"Dieses Material verweist bereits auf eine externe Datei, der Befehl wird "
+"ignoriert.\n"
+"Um erneut zu extrahieren muss die externe Eigenschaft des Materials "
+"deaktiviert werden."
+
+msgid ""
+"Material has no name nor any other way to identify on re-import.\n"
+"Please name it or ensure it is exported with an unique ID."
+msgstr ""
+"Das Material hat keinen Name und keine andere Möglichkeit es beim Reimport "
+"zu identifizieren.\n"
+"Es sollte benannt werden oder sichergestellt werden, dass es mit einer "
+"eindeutigen ID exportiert wird."
+
+msgid "Extract Materials to Resource Files"
+msgstr "Materialien in Ressourcen-Dateien extrahieren"
+
+msgid "Extract"
+msgstr "Extrahieren"
+
+msgid ""
+"This mesh already saves to an external resource, no action will be taken."
+msgstr ""
+"Dieses Mesh wird bereits zu einer externen Ressource gespeichert, der Befehl "
+"wird ignoriert."
+
+msgid "Existing file with the same name will be replaced on import."
+msgstr ""
+"Existierende Datei mit dem gleichen Name wird ersetzt werden beim "
+"Importieren."
+
+msgid ""
+"Mesh has no name nor any other way to identify on re-import.\n"
+"Please name it or ensure it is exported with an unique ID."
+msgstr ""
+"Das Mesh hat keinen Namen und keine andere möglichkeit es beim Reimport "
+"wiederzuerkennen.\n"
+"Es sollte benannt werden oder sichergestellt werden, dass es mit einer "
+"eindeutigen ID exportiert wird."
+
+msgid "Set paths to save meshes as resource files on Reimport"
+msgstr ""
+"Pfade festlegen um Meshes als Ressourcen-Dateien bei Reimport zu speichern"
+
+msgid "Set Paths"
+msgstr "Pfade festlegen"
+
+msgid ""
+"This animation already saves to an external resource, no action will be "
+"taken."
+msgstr ""
+"Die Animation speichert bereits zu einer externen Ressource, der Befehl wird "
+"ignoriert."
+
+msgid "Set paths to save animations as resource files on Reimport"
+msgstr ""
+"Pfade festlegen um Animationen als Ressourcen-Datei bei Reimport zu speichern"
+
+msgid "Can't make material external to file, write error:"
+msgstr ""
+"Material kann nicht als extern in Datei geändert werden, Schreibfehler:"
+
+msgid "Actions..."
+msgstr "Aktionen…"
+
+msgid "Extract Materials"
+msgstr "Materialien extrahieren"
+
+msgid "Set Animation Save Paths"
+msgstr "Animation-Speicherpfade festlegen"
+
+msgid "Set Mesh Save Paths"
+msgstr "Mesh-Speicherpfade festlegen"
+
msgid "Meshes"
msgstr "Meshes"
msgid "Materials"
msgstr "Materialien"
+msgid "Save Extension:"
+msgstr "Dateierweiterung beim Speichern:"
+
+msgid "Text: *.tres"
+msgstr "Text: *.tres"
+
+msgid "Binary: *.res"
+msgstr "Binärformat: *.res"
+
+msgid "Text Resource"
+msgstr "Text-Ressource"
+
+msgid "Binary Resource"
+msgstr "Binäre Ressource"
+
msgid "Select Importer"
msgstr "Importer auswählen"
@@ -3596,6 +5396,9 @@ msgstr "Importiere als:"
msgid "Preset"
msgstr "Vorlage"
+msgid "Advanced..."
+msgstr "Erweitert…"
+
msgid "Save Scenes, Re-Import, and Restart"
msgstr "Szenen speichern, reimportieren und neu starten"
@@ -3617,11 +5420,73 @@ msgstr ""
"Zum Anpassen der Importeinstellungen muss eine Ressourcendatei im "
"Dateisystem oder im Inspektor ausgewählt werden."
+msgid "No Event Configured"
+msgstr "Kein Ereignis konfiguriert"
+
+msgid "Keyboard Keys"
+msgstr "Tastaturtasten"
+
+msgid "Mouse Buttons"
+msgstr "Maustasten"
+
+msgid "Joypad Buttons"
+msgstr "Joypadknöpfe"
+
+msgid "Joypad Axes"
+msgstr "Joypadachsen"
+
+msgid "Event Configuration"
+msgstr "Ereigniskonfiguration"
+
+msgid "Manual Selection"
+msgstr "Manuelle Auswahl"
+
+msgid "Filter Inputs"
+msgstr "Eingaben filtern"
+
+msgid "Additional Options"
+msgstr "Zusätzliche Einstellungen"
+
msgid "Device:"
msgstr "Gerät:"
+msgid "Command / Control (auto)"
+msgstr "Strg / Ctrl (auto)"
+
+msgid ""
+"Automatically remaps between 'Meta' ('Command') and 'Control' depending on "
+"current platform."
+msgstr ""
+"Automatisches umschalten zwischen ‚Meta‘ (‚Command‘) und ‚Steuerung‘ "
+"abhängig von der aktuellen Plattform."
+
+msgid "Keycode (Latin Equivalent)"
+msgstr "Tastencode (Lateinäquivalent)"
+
+msgid "Physical Keycode (Position on US QWERTY Keyboard)"
+msgstr "Physischer Tastencode (Position auf der US-QWERTY-Tastatur)"
+
+msgid "Key Label (Unicode, Case-Insensitive)"
+msgstr "Tastenbeschriftung (Unicode, unabh. Groß-/Kleinschreibung)"
+
+msgid ""
+"The following resources will be duplicated and embedded within this resource/"
+"object."
+msgstr ""
+"Die folgenden Ressourcen werden dupliziert und in der Ressource/dem Objekt "
+"eingebettet."
+
+msgid "This object has no resources."
+msgstr "Dieses Objekt besitzt keine Ressourcen."
+
msgid "Failed to load resource."
-msgstr "Laden der Ressource gescheitert."
+msgstr "Laden der Ressource fehlgeschlagen."
+
+msgid "(Current)"
+msgstr "(aktuell)"
+
+msgid "Expand Non-Default"
+msgstr "Nicht-Standard expandieren"
msgid "Property Name Style"
msgstr "Eigenschaftennamesstil"
@@ -3671,15 +5536,27 @@ msgstr "Ressource kopieren"
msgid "Make Resource Built-In"
msgstr "Ressource zu Built-In konvertieren"
+msgid "Go to previous edited object in history."
+msgstr "Zum zuvor bearbeitetem Objekt im Verlauf springen."
+
+msgid "Go to next edited object in history."
+msgstr "Zum zunächst bearbeitetem Objekt im Verlauf springen."
+
msgid "History of recently edited objects."
msgstr "Verlauf der zuletzt bearbeiteten Objekte."
msgid "Open documentation for this object."
msgstr "Dokumentation zu diesem Objekt öffnen."
+msgid "Filter Properties"
+msgstr "Eigenschaften filtern"
+
msgid "Manage object properties."
msgstr "Objekteigenschaften verwalten."
+msgid "This cannot be undone. Are you sure?"
+msgstr "Dies kann nicht rückgängig gemacht werden. Wirklich fortfahren?"
+
msgid "Add %d Translations"
msgstr "%d Übersetzungen hinzufügen"
@@ -3701,6 +5578,18 @@ msgstr "Ressourcen-Umleitung entfernen"
msgid "Remove Resource Remap Option"
msgstr "Ressourcen-Neuzuordungsoption entfernen"
+msgid "Add %d file(s) for POT generation"
+msgstr "%d Datei(en) für POT-Erzeugung hinzufügen"
+
+msgid "Remove file from POT generation"
+msgstr "Datei von POT-Erzeugung entfernen"
+
+msgid "Removed"
+msgstr "Entfernt"
+
+msgid "%s cannot be found."
+msgstr "%s konnte nicht gefunden werden."
+
msgid "Translations"
msgstr "Übersetzungen"
@@ -3719,10 +5608,39 @@ msgstr "Umleitungen nach Lokalisierung:"
msgid "Locale"
msgstr "Gebietsschema"
+msgid "POT Generation"
+msgstr "POT-Erzeugung"
+
+msgid "Files with translation strings:"
+msgstr "Dateien mit Übersetzungszeichenketten:"
+
+msgid "Generate POT"
+msgstr "POT erzeugen"
+
+msgid "Set %s on %d nodes"
+msgstr "%s für %d Nodes festlegen"
+
+msgid "%s (%d Selected)"
+msgstr "%s (%d ausgewählt)"
+
msgid "Select a single node to edit its signals and groups."
msgstr ""
"Ein einzelnes Node auswählen um seine Signale und Gruppen zu bearbeiten."
+msgid "Plugin name cannot be blank."
+msgstr "Pluginname darf nicht leer sein."
+
+msgid "Script extension must match chosen language extension (.%s)."
+msgstr ""
+"Skripterweiterung muss mit der gewählten Spracherweiterung übereinstimmen. "
+"(%s)."
+
+msgid "Subfolder name is not a valid folder name."
+msgstr "Der Name des Unterordners ist kein gültiger Ordnername."
+
+msgid "Subfolder cannot be one which already exists."
+msgstr "Der Unterordner kann nicht ein bereits existierender Ordner sein."
+
msgid "Edit a Plugin"
msgstr "Ein Plugin bearbeiten"
@@ -3792,9 +5710,17 @@ msgstr "Lade..."
msgid "Move Node Point"
msgstr "Node-Punkt verschieben"
+msgid "Change BlendSpace1D Config"
+msgstr "BlendSpace1D-Konfiguration ändern"
+
msgid "Change BlendSpace1D Labels"
msgstr "BlendSpace1D-Beschriftungen ändern"
+msgid "This type of node can't be used. Only animation nodes are allowed."
+msgstr ""
+"Ein Node dieses Typs kann nicht verwendet werden. Nur Animation-Nodes sind "
+"möglich."
+
msgid "This type of node can't be used. Only root nodes are allowed."
msgstr ""
"Dieser Node-Typ kann nicht verwendet werden. Nur Wurzel-Nodes sind möglich."
@@ -3828,6 +5754,9 @@ msgstr "Punkte auswählen und verschieben, erstellen mit RMT."
msgid "Enable snap and show grid."
msgstr "Schnapp- und Anzeigeraster aktivieren."
+msgid "Sync:"
+msgstr "Sync:"
+
msgid "Blend:"
msgstr "Blende:"
@@ -3846,6 +5775,9 @@ msgstr "Dreieck existiert bereits."
msgid "Add Triangle"
msgstr "Dreieck hinzufügen"
+msgid "Change BlendSpace2D Config"
+msgstr "BlendSpace2D-Konfiguration ändern"
+
msgid "Change BlendSpace2D Labels"
msgstr "BlendSpace2D-Beschriftungen ändern"
@@ -3876,6 +5808,9 @@ msgstr "Vermischungsdreiecke automatisch erstellen (statt manuell)"
msgid "Parameter Changed:"
msgstr "Parameter geändert:"
+msgid "Inspect Filters"
+msgstr "Filter untersuchen"
+
msgid "Output node can't be added to the blend tree."
msgstr "Ausgabe-Node kann nicht zum Mischungsbaum hinzugefügt werden."
@@ -3935,6 +5870,9 @@ msgstr "Audioausschnitt"
msgid "Functions"
msgstr "Funktionen"
+msgid "Inspect Filtered Tracks:"
+msgstr "Gefilterte Spuren untersuchen:"
+
msgid "Edit Filtered Tracks:"
msgstr "Gefilterte Spuren bearbeiten:"
@@ -3947,18 +5885,175 @@ msgstr "Knoten hinzufügen..."
msgid "Enable Filtering"
msgstr "Filtern aktivieren"
+msgid "Library Name:"
+msgstr "Bibliotheksname:"
+
+msgid "Animation name can't be empty."
+msgstr "Animationsname darf nicht leer sein."
+
+msgid "Animation name contains invalid characters: '/', ':', ',' or '['."
+msgstr "Animationsname enthält ungültige Zeichen: ›/‹, ›:‹, ›,‹ oder ›[‹."
+
+msgid "Animation with the same name already exists."
+msgstr "Animation des selben Namens existiert bereits."
+
+msgid "Enter a library name."
+msgstr "Bitte Bibliotheksname eingeben."
+
+msgid "Library name contains invalid characters: '/', ':', ',' or '['."
+msgstr "Bibliotheksname enthält ungültige Zeichen: ›/‹, ›:‹, ›,‹ oder ›[‹."
+
+msgid "Library with the same name already exists."
+msgstr "Eine Bibliothek des selben Namens existiert bereits."
+
+msgid "Animation name is valid."
+msgstr "Animationsname ist gültig."
+
+msgid "Global library will be created."
+msgstr "Eine globale Bibliothek wird erstellt werden."
+
+msgid "Library name is valid."
+msgstr "Bibliotheksname ist gültig."
+
+msgid "Add Animation to Library: %s"
+msgstr "Animation zu Bibliothek hinzufügen: %s"
+
+msgid "Add Animation Library: %s"
+msgstr "Animationsbibliothek hinzufügen: %s"
+
msgid "Load Animation"
msgstr "Animation laden"
+msgid ""
+"This animation library can't be saved because it does not belong to the "
+"edited scene. Make it unique first."
+msgstr ""
+"Diese Animationsbibliothek kann nicht gespeichert werden da sie nicht zur "
+"bearbeiteten Szene gehört. Sie muss erst einzigartig gemacht werden."
+
+msgid ""
+"This animation library can't be saved because it was imported from another "
+"file. Make it unique first."
+msgstr ""
+"Diese Animationsbibliothek kann nicht gespeichert werden da sie aus einer "
+"anderen Datei importiert wurde. Sie muss erst einzigartig gemacht werden."
+
+msgid "Save Library"
+msgstr "Bibliothek speichern"
+
+msgid "Make Animation Library Unique: %s"
+msgstr "Animationsbibliothek einzigartig machen: %s"
+
+msgid ""
+"This animation can't be saved because it does not belong to the edited "
+"scene. Make it unique first."
+msgstr ""
+"Diese Animation kann nicht gespeichert werden da sie nicht zur bearbeiteten "
+"Szene gehört. Sie muss erst einzigartig gemacht werden."
+
+msgid ""
+"This animation can't be saved because it was imported from another file. "
+"Make it unique first."
+msgstr ""
+"Diese Animation kann nicht gespeichert werden da sie aus einer anderen Datei "
+"importiert wurde. Sie muss erst einzigartig gemacht werden."
+
+msgid "Save Animation"
+msgstr "Animation speichern"
+
+msgid "Make Animation Unique: %s"
+msgstr "Animation einzigartig machen: %s"
+
+msgid "Invalid AnimationLibrary file."
+msgstr "Ungültige Animationsbibliotheksdatei."
+
+msgid "This library is already added to the player."
+msgstr "Diese Bibliothek wurde bereits dem Animationsspieler hinzugefügt."
+
+msgid "Invalid Animation file."
+msgstr "Ungültige Animationsdatei."
+
+msgid "This animation is already added to the library."
+msgstr "Diese Animation wurde bereits der Bibliothek hinzugefügt."
+
+msgid "Load Animation into Library: %s"
+msgstr "Animation in Bibliothek laden: %s"
+
+msgid "Save Animation library to File: %s"
+msgstr "Animationsbibliothek in Datei speichern: %s"
+
+msgid "Save Animation to File: %s"
+msgstr "Animation in Datei speichern: %s"
+
+msgid "Rename Animation Library: %s"
+msgstr "Animationsbibliothek umbenennen: %s"
+
+msgid "[Global]"
+msgstr "[Global]"
+
+msgid "Rename Animation: %s"
+msgstr "Animation umbenennen: %s"
+
msgid "Animation Name:"
msgstr "Animationsname:"
+msgid "No animation resource in clipboard!"
+msgstr "Keine Animations-Ressource in der Zwischenablage!"
+
msgid "Pasted Animation"
msgstr "Eingefügte Animation"
msgid "Open in Inspector"
msgstr "Im Inspektor öffnen"
+msgid "Remove Animation Library: %s"
+msgstr "Animationsbibliothek entfernen: %s"
+
+msgid "Remove Animation from Library: %s"
+msgstr "Animation aus Bibliothek entfernen: %s"
+
+msgid "[built-in]"
+msgstr "[eingebaut]"
+
+msgid "[foreign]"
+msgstr "[fremd]"
+
+msgid "[imported]"
+msgstr "[importiert]"
+
+msgid "Add Animation to Library"
+msgstr "Animation zu Bibliothek hinzufügen"
+
+msgid "Load animation from file and add to library"
+msgstr "Animation aus Datei laden und zu Bibliothek hinzufügen"
+
+msgid "Paste Animation to Library from clipboard"
+msgstr "Animation aus Zwischenablage in Bibliothek einzufügen"
+
+msgid "Save animation library to resource on disk"
+msgstr "Animationsbibliothek als Ressource im Dateisystem speichern"
+
+msgid "Remove animation library"
+msgstr "Animationsbibliothek entfernen"
+
+msgid "Copy animation to clipboard"
+msgstr "Animation in Zwischenablage kopieren"
+
+msgid "Save animation to resource on disk"
+msgstr "Animation als Ressource im Dateisystem speichern"
+
+msgid "Remove animation from Library"
+msgstr "Animation von Bibliothek entfernen"
+
+msgid "Edit Animation Libraries"
+msgstr "Animationsbibliotheken bearbeiten"
+
+msgid "Add Library"
+msgstr "Bibliothek hinzufügen"
+
+msgid "Load Library"
+msgstr "Bibliothek laden"
+
msgid "Storage"
msgstr "Speicher"
@@ -3977,12 +6072,18 @@ msgstr "Animation umbenennen"
msgid "Change Animation Name:"
msgstr "Animationsname ändern:"
+msgid "Delete Animation '%s'?"
+msgstr "Animation ‚%s‘ löschen?"
+
msgid "Remove Animation"
msgstr "Animation entfernen"
msgid "Invalid animation name!"
msgstr "Ungültiger Animationsname!"
+msgid "Animation '%s' already exists!"
+msgstr "Animation ‚%s‘ existiert bereits!"
+
msgid "Duplicate Animation"
msgstr "Animation duplizieren"
@@ -3992,12 +6093,21 @@ msgstr "Blende über in nächste Geänderte"
msgid "Change Blend Time"
msgstr "Überblendungszeit ändern"
+msgid "[Global] (create)"
+msgstr "[Global] (erstellen)"
+
+msgid "Duplicated Animation Name:"
+msgstr "Duplizierter Animationsname:"
+
msgid "Play selected animation backwards from current pos. (A)"
msgstr "Spiele ausgewählte Animation rückwärts von aktueller Position. (A)"
msgid "Play selected animation backwards from end. (Shift+A)"
msgstr "Spiele ausgewählte Animation rückwärts vom Ende. (Umschalt+A)"
+msgid "Pause/stop animation playback. (S)"
+msgstr "Animationswiedergabe pausieren/stoppen. (S)"
+
msgid "Play selected animation from start. (Shift+D)"
msgstr "Spiele ausgewählte Animation vom Start. (Umschalt+D)"
@@ -4016,6 +6126,9 @@ msgstr "Animationswerkzeuge"
msgid "Animation"
msgstr "Animation"
+msgid "Manage Animations..."
+msgstr "Animationen verwalten…"
+
msgid "Edit Transitions..."
msgstr "Übergänge bearbeiten..."
@@ -4061,6 +6174,9 @@ msgstr "Weißmodulation erzwingen"
msgid "Include Gizmos (3D)"
msgstr "3D-Manipulator einbeziehen"
+msgid "Onion Skinning temporarily disabled due to rendering bug."
+msgstr "Zwiebelhaut zeitweise deaktiviert wegen Renderbug."
+
msgid "Pin AnimationPlayer"
msgstr "Animationsspieler anheften"
@@ -4085,6 +6201,9 @@ msgstr "Übergang existiert bereits!"
msgid "To"
msgstr "Bis"
+msgid "Add Node and Transition"
+msgstr "Node und Übergang hinzufügen"
+
msgid "Add Transition"
msgstr "Übergang hinzufügen"
@@ -4112,6 +6231,17 @@ msgstr "Node entfernt"
msgid "Transition Removed"
msgstr "Übergang entfernt"
+msgid ""
+"Select and move nodes.\n"
+"RMB: Add node at position clicked.\n"
+"Shift+LMB+Drag: Connects the selected node with another node or creates a "
+"new node if you select an area without nodes."
+msgstr ""
+"Nodes auswählen und verschieben.\n"
+"RMT: Node an Klickposition hinzufügen.\n"
+"Umsch+LMT+Ziehen: Verbindet das ausgewählte Node mit einem anderen oder "
+"erstellt ein neues Node falls ein Gebiet ohne Nodes ausgewählt wurde."
+
msgid "Create new nodes."
msgstr "Neue Nodes erstellen."
@@ -4121,18 +6251,27 @@ msgstr "Nodes verbinden."
msgid "Group Selected Node(s)"
msgstr "Gewählte Nodes gruppieren"
+msgid "Ungroup Selected Node"
+msgstr "Ausgewähltes Node aus Gruppierung lösen"
+
msgid "Remove selected node or transition."
msgstr "Ausgewählten Node oder Übergang entfernen."
msgid "Transition:"
msgstr "Übergang:"
+msgid "New Transitions Should Auto Advance"
+msgstr "Neue Übergänge sollen automatisch fortgeführt werden"
+
msgid "Play Mode:"
msgstr "Abspielmodus:"
msgid "Delete Selected"
msgstr "Auswahl löschen"
+msgid "Delete All"
+msgstr "Alle entfernen"
+
msgid "Root"
msgstr "Wurzel"
@@ -4208,6 +6347,9 @@ msgstr "Sha256 Checksummen prüfung fehlgeschlagen"
msgid "Asset Download Error:"
msgstr "Nutzerinhalte-Download-Fehler:"
+msgid "Ready to install!"
+msgstr "Bereit zum Installieren!"
+
msgid "Downloading (%s / %s)..."
msgstr "Wird heruntergeladen (%s / %s)..."
@@ -4278,6 +6420,24 @@ msgstr "Ende"
msgid "All"
msgstr "Alle"
+msgid "No results for \"%s\" for support level(s): %s."
+msgstr "Keine Ergebnisse zu „%s“ für Unterstützungslevel: %s."
+
+msgid ""
+"No results compatible with %s %s for support level(s): %s.\n"
+"Check the enabled support levels using the 'Support' button in the top-right "
+"corner."
+msgstr ""
+"Keine Ergebnisse kompatibel mit %s %s für Unterstützungslevel: %s.\n"
+"Aktivierte Unterstützungslevel können über den ‚Unterstützung‘-Knopf am "
+"rechten oberen Rand eingesehen werden."
+
+msgid "Search Templates, Projects, and Demos"
+msgstr "Vorlagen, Projekte und Demos suchen"
+
+msgid "Search Assets (Excluding Templates, Projects, and Demos)"
+msgstr "Assets suchen (ausgenommen Vorlagen, Projekte und Demos)"
+
msgid "Import..."
msgstr "Importieren…"
@@ -4305,6 +6465,12 @@ msgstr "Nutzerinhalte als ZIP-Datei"
msgid "Audio Preview Play/Pause"
msgstr "Audiovorschau abspielen/pausieren"
+msgid "Bone Picker:"
+msgstr "Knochenauswähler:"
+
+msgid "Clear mappings in current group."
+msgstr "Zuweisungen der aktuellen Gruppe löschen."
+
msgid "Preview"
msgstr "Vorschau"
@@ -4332,6 +6498,9 @@ msgstr "Rotationsabstand:"
msgid "Scale Step:"
msgstr "Skalierungsschritte:"
+msgid "Move Node(s) to Position"
+msgstr "Node(s) zu Position verschieben"
+
msgid "Move Vertical Guide"
msgstr "Vertikale Hilfslinie verschieben"
@@ -4392,6 +6561,27 @@ msgstr "Gruppiert"
msgid "Add Node Here"
msgstr "Node hier hinzufügen"
+msgid "Instantiate Scene Here"
+msgstr "Szene hier instantiieren"
+
+msgid "Paste Node(s) Here"
+msgstr "Node(s) hier einfügen"
+
+msgid "Move Node(s) Here"
+msgstr "Node(s) hierhin verschieben"
+
+msgid "px"
+msgstr "px"
+
+msgid "units"
+msgstr "units"
+
+msgid "Moving:"
+msgstr "Verschiebung:"
+
+msgid "Rotating:"
+msgstr "Rotation:"
+
msgid "Scaling:"
msgstr "Skalierung:"
@@ -4430,6 +6620,9 @@ msgstr "Pose einfügen"
msgid "Clear Guides"
msgstr "Hilfslinien löschen"
+msgid "Create Custom Bone2D(s) from Node(s)"
+msgstr "Eigene Bone2D(s) aus Node(s) erstellen"
+
msgid "Zoom to 3.125%"
msgstr "Auf 3.125% vergrößern"
@@ -4495,12 +6688,21 @@ msgstr "Skalierungsmodus"
msgid "Shift: Scale proportionally."
msgstr "Umschalt: Proportionales Skalieren."
+msgid "Show list of selectable nodes at position clicked."
+msgstr "Liste auswählbarer Nodes an Klickposition anzeigen."
+
msgid "Click to change object's rotation pivot."
msgstr "Klicken um Angelpunkt des Objekts zu ändern."
msgid "Pan Mode"
msgstr "Schwenkmodus"
+msgid ""
+"You can also use Pan View shortcut (Space by default) to pan in any mode."
+msgstr ""
+"Das Schwenksichtkürzel (standardmäßig Leertaste) kann genutzt werden um in "
+"jedem Modus zu schwenken."
+
msgid "Ruler Mode"
msgstr "Linealmodus"
@@ -4555,12 +6757,24 @@ msgstr "An anderen Nodes einrasten"
msgid "Snap to Guides"
msgstr "An Hilfslinien einrasten"
+msgid "Lock selected node, preventing selection and movement."
+msgstr "Ausgewähltes Node sperren um Auswahl und Verschiebung zu verhindern."
+
msgid "Lock Selected Node(s)"
msgstr "Gewählte Nodes sperren"
+msgid "Unlock selected node, allowing selection and movement."
+msgstr "Ausgewähltes Node entsperren um Auswahl und Verschiebung zu erlauben."
+
msgid "Unlock Selected Node(s)"
msgstr "Gewählte Nodes entsperren"
+msgid "Make selected node's children not selectable."
+msgstr "Unterelemente des ausgewählten Nodes unauswählbar machen."
+
+msgid "Make selected node's children selectable."
+msgstr "Unterelemente des ausgewählten Nodes auswählbar machen."
+
msgid "Ungroup Selected Node(s)"
msgstr "Gruppierung gewählter Nodes auflösen"
@@ -4570,6 +6784,9 @@ msgstr "Skelett-Einstellungen"
msgid "Show Bones"
msgstr "Knochen anzeigen"
+msgid "Make Bone2D Node(s) from Node(s)"
+msgstr "Bone2D-Node(s) aus Node(s) erstellen"
+
msgid "View"
msgstr "Ansicht"
@@ -4606,6 +6823,9 @@ msgstr "Zeige Ansichtsfenster (Viewport)"
msgid "Show Group And Lock Icons"
msgstr "Gruppen und Symbole anzeigen"
+msgid "Show Transformation Gizmos"
+msgstr "Transformationsgriffe anzeigen"
+
msgid "Center Selection"
msgstr "Auswahl zentrieren"
@@ -4663,26 +6883,60 @@ msgstr "Gitterstufe halbieren"
msgid "Adding %s..."
msgstr "%s hinzufügen…"
+msgid "Drag and drop to add as child of current scene's root node."
+msgstr ""
+"Ziehen und loslassen um als Unterobjekt des Wurzelnodes der aktuellen Szene "
+"hinzuzufügen."
+
+msgid "Hold Ctrl when dropping to add as child of selected node."
+msgstr ""
+"Strg-Taste beim loslassen halten um als Unterobjekt des ausgewählten Nodes "
+"hinzuzufügen."
+
+msgid "Hold Shift when dropping to add as sibling of selected node."
+msgstr ""
+"Umschalttaste beim loslassen halten um als Nachbar-Node des ausgewählten "
+"Nodes hinzuzufügen."
+
+msgid "Hold Alt when dropping to add as a different node type."
+msgstr "Alttaste beim loslassen halten um als anderen Nodetyp hinzuzufügen."
+
msgid "Cannot instantiate multiple nodes without root."
msgstr "In­s­tan­zi­ie­ren mehrerer Nodes nicht möglich ohne Wurzel-Node."
msgid "Create Node"
msgstr "Erzeuge Node"
+msgid "Error instantiating scene from %s"
+msgstr "Fehler beim Instanziieren der Szene aus %s"
+
msgid "Change Default Type"
msgstr "Standardtyp ändern"
msgid "Set Handle"
msgstr "Wähle Griff"
+msgid "This node doesn't have a control parent."
+msgstr "Dieses Node besitzt kein Control-Überelement."
+
+msgid ""
+"Use the appropriate layout properties depending on where you are going to "
+"put it."
+msgstr ""
+"Abhängig vom Ort wo das Layout verwendet platziert wird, sollten angemessene "
+"Layouteigenschaften verwendet werden."
+
msgid "This node is a child of a container."
-msgstr "Dieses Node ist Kind eines Containers."
+msgstr "Dieses Node ist ein Unterobjekt eines Containers."
msgid "Use container properties for positioning."
-msgstr "Benutze Containereigenschaften zur Positionierung."
+msgstr "Containereigenschaften zur Positionierung benutzen."
+
+msgid "This node is a child of a regular control."
+msgstr "Dieses Node ist ein Unterelement eines gewöhnlichen Controls."
msgid "Use anchors and the rectangle for positioning."
-msgstr "Benutze Anker und das Rechteck zur Positionierung."
+msgstr "Anker und Rechteck zur Positionierung benutzen."
msgid "Collapse positioning hint."
msgstr "Hinweis für Positionierung einklappen."
@@ -4690,9 +6944,21 @@ msgstr "Hinweis für Positionierung einklappen."
msgid "Expand positioning hint."
msgstr "Hinweis für Positionierung ausklappen."
+msgid "Container Default"
+msgstr "Containerstandard"
+
msgid "Fill"
msgstr "Füllung"
+msgid "Shrink Begin"
+msgstr "Verkleinern-Start"
+
+msgid "Shrink Center"
+msgstr "Verkleinern-Mitte"
+
+msgid "Shrink End"
+msgstr "Verkleinern-Ende"
+
msgid "Custom"
msgstr "Eigenes"
@@ -4747,9 +7013,68 @@ msgstr "Rechts groß"
msgid "Full Rect"
msgstr "Vollständiges Rechteck"
+msgid ""
+"Enable to also set the Expand flag.\n"
+"Disable to only set Shrink/Fill flags."
+msgstr ""
+"Aktivieren um ebenfalls das Expand-Flag zu setzen.\n"
+"Deaktivieren um lediglich die Schrumpf-/Füll-Flags zu setzen."
+
+msgid "Some parents of the selected nodes do not support the Expand flag."
+msgstr ""
+"Manche Überobjekte des ausgewählten Nodes unterstützen das Expand-Flag nicht."
+
+msgid "Align with Expand"
+msgstr "Nach Expand ausrichten"
+
+msgid "Change Anchors, Offsets, Grow Direction"
+msgstr "Anker, Versatz, Wachstumsrichtung ändern"
+
+msgid "Change Anchors, Offsets (Keep Ratio)"
+msgstr "Anker, Versatz (Verhältnis beibehalten) ändern"
+
+msgid "Change Vertical Size Flags"
+msgstr "Flags für vertikale Größe ändern"
+
+msgid "Change Horizontal Size Flags"
+msgstr "Flags für horizontale Größe ändern"
+
+msgid "Presets for the anchor and offset values of a Control node."
+msgstr "Voreinstellungen für Anker- und Versatzwerte eines Control-Nodes."
+
+msgid "Anchor preset"
+msgstr "Ankervoreinstellung"
+
+msgid "Set to Current Ratio"
+msgstr "Auf aktuelles Verhältnis festlegen"
+
+msgid "Adjust anchors and offsets to match the current rect size."
+msgstr ""
+"Anker und Versätze anpassen um zur aktuell ausgewählten Rechteckgröße zu "
+"passen."
+
+msgid ""
+"When active, moving Control nodes changes their anchors instead of their "
+"offsets."
+msgstr ""
+"Wenn aktiv, ändert das Verschieben von Control-Nodes deren Anker, statt "
+"ihrer Versätze."
+
+msgid "Sizing settings for children of a Container node."
+msgstr "Größeneinstellungen für Unterobjekte eines Container-Nodes."
+
+msgid "Horizontal alignment"
+msgstr "Horizontale Ausrichtung"
+
+msgid "Vertical alignment"
+msgstr "Vertikale Ausrichtung"
+
msgid "Load Emission Mask"
msgstr "Emissionsmaske laden"
+msgid "CPUParticles2D"
+msgstr "CPU-Partikel-2D"
+
msgid "Generated Point Count:"
msgstr "Anzahl generierter Punkte:"
@@ -4771,6 +7096,9 @@ msgstr "Von Pixel aufnehmen"
msgid "Emission Colors"
msgstr "Emissionsfarben"
+msgid "CPUParticles3D"
+msgstr "CPU-Partikel-3D"
+
msgid "Create Emission Points From Node"
msgstr "Erzeuge Emissionspunkte aus Node"
@@ -4874,6 +7202,16 @@ msgstr ""
"Collision Shapes und Raycast-Nodes (für 2D und 3D) werden im laufenden "
"Projekt angezeigt, wenn diese Option aktiviert ist."
+msgid "Visible Paths"
+msgstr "Sichtbare Pfade"
+
+msgid ""
+"When this option is enabled, curve resources used by path nodes will be "
+"visible in the running project."
+msgstr ""
+"Wenn diese Option aktiv ist, werden von Pfad-Nodes genutzte Kurven-"
+"Ressourcen im laufenden Projekt sichtbar gemacht."
+
msgid "Visible Navigation"
msgstr "Navigation sichtbar"
@@ -4912,9 +7250,47 @@ msgstr ""
"Sollte dies beim Abspielen auf externen Geräten genutzt werden, ist es am "
"effizientesten, das Netzwerk-Dateisystem zu aktivieren."
+msgid "Keep Debug Server Open"
+msgstr "Debug-Server offen halten"
+
+msgid ""
+"When this option is enabled, the editor debug server will stay open and "
+"listen for new sessions started outside of the editor itself."
+msgstr ""
+"Wenn diese Option aktiviert ist, wird der Editor-Debug-Server weiterlaufen "
+"und nach neuen Sitzungen lauschen, welche außerhalb des Editors gestartet "
+"wurden."
+
msgid "Run Multiple Instances"
msgstr "Mehrere Instanzen ausführen"
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "%d Instanz ausführen"
+msgstr[1] "%d Instanzen ausführen"
+
+msgid "Overrides (%d)"
+msgstr "Überschreibungen (%d)"
+
+msgctxt "Locale"
+msgid "Add Script"
+msgstr "Skript hinzufügen"
+
+msgid "Add Locale"
+msgstr "Lokalisierung hinzufügen"
+
+msgid "Variation Coordinates (%d)"
+msgstr "Variationskoordinaten (%d)"
+
+msgid "No supported features"
+msgstr "Nicht unterstützte Funktionen"
+
+msgid "Features (%d of %d set)"
+msgstr "Funktionen (%d von %d aktiv)"
+
+msgid "Add Feature"
+msgstr "Funktion hinzufügen"
+
msgid " - Variation"
msgstr " - Variation"
@@ -4924,12 +7300,23 @@ msgstr "Vorschau für Schriftart nicht verfügbar"
msgid "Convert to CPUParticles2D"
msgstr "Zu CPUParticles2D konvertieren"
+msgid "Generating Visibility Rect (Waiting for Particle Simulation)"
+msgstr "Generiere Sichtbarkeits-Rechteck (Warte auf Partikelsimulation)"
+
msgid "Generate Visibility Rect"
msgstr "Generiere Sichtbarkeits-Rechteck"
+msgid "Can only set point into a ParticleProcessMaterial process material"
+msgstr ""
+"Punkt kann nur in ein Prozessmaterial des Typs ParticleProcessMaterial "
+"gesetzt werden"
+
msgid "Clear Emission Mask"
msgstr "Emissionsmaske leeren"
+msgid "GPUParticles2D"
+msgstr "CPU-Partikel-2D"
+
msgid "Generation Time (sec):"
msgstr "Erzeugungszeit (s):"
@@ -4939,6 +7326,9 @@ msgstr "Die Faces der Geometrie enthalten keine Area."
msgid "The geometry doesn't contain any faces."
msgstr "Die Geometrie enthält keine Faces."
+msgid "\"%s\" doesn't inherit from Node3D."
+msgstr "„%s“ erbt nicht von Node3D."
+
msgid "\"%s\" doesn't contain geometry."
msgstr "„%s“ enthält keine Geometrie."
@@ -4963,11 +7353,58 @@ msgstr "Volumen"
msgid "Emission Source:"
msgstr "Emissionsquelle:"
+msgid "A processor material of type 'ParticleProcessMaterial' is required."
+msgstr ""
+"Ein Verarbeitungsmaterial des Typs ‚ParticleProcessMaterial‘ wird benötigt."
+
+msgid "Convert to CPUParticles3D"
+msgstr "Zu CPUParticles3D konvertieren"
+
+msgid "Generating Visibility AABB (Waiting for Particle Simulation)"
+msgstr "Generiere Sichtbarkeits-AABB (warte auf Partikelsimulation)"
+
msgid "Generate Visibility AABB"
-msgstr "Erzeuge Sichtbarkeits-AABB"
+msgstr "Sichtbarkeits-AABB erzeugen"
+
+msgid "GPUParticles3D"
+msgstr "GPU-Partikel-3D"
+
+msgid "Generate AABB"
+msgstr "AABB erzeugen"
+
+msgid "Low"
+msgstr "Niedrig"
+
+msgid "Moderate"
+msgstr "Moderat"
+
+msgid "High"
+msgstr "Hoch"
+
+msgid "Subdivisions: %s"
+msgstr "Unterteilungen: %s"
+
+msgid "Cell size: %s"
+msgstr "Zellgröße: %s"
+
+msgid "Video RAM size: %s MB (%s)"
+msgstr "Größe des Video-RAM: %s MB (%s)"
+
+msgid "Bake SDF"
+msgstr "SDF backen"
+
+msgid ""
+"No faces detected during GPUParticlesCollisionSDF3D bake.\n"
+"Check whether there are visible meshes matching the bake mask within its "
+"extents."
+msgstr ""
+"Keine Oberflächen während des Backens von GPUParticlesCollissionSDF3D "
+"erkannt.\n"
+"Es ist zu überprüfen ob es sichtbare Meshes gibt, die mit den Ausmaßen der "
+"Back-Maske übereinstimmen."
msgid "Select path for SDF Texture"
-msgstr "Wähle Pfad für SDF Textur"
+msgstr "Pfad für SDF-Textur wählen"
msgid "Gradient Edited"
msgstr "Gradient bearbeitet"
@@ -4984,6 +7421,9 @@ msgstr "Gradient Füllpunkte vertauschen"
msgid "Toggle Grid Snap"
msgstr "Gittereinrasten umschalten"
+msgid "Configure"
+msgstr "Konfiguration"
+
msgid "Create Occluder Polygon"
msgstr "Occluder-Polygon erzeugen"
@@ -4994,11 +7434,24 @@ msgstr ""
"Ein Speicherpfad für Lightmap-Bilder kann nicht bestimmt werden.\n"
"Ein Speichern der Szene sollte dieses Problem beheben."
+msgid ""
+"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake "
+"Light' flag is on."
+msgstr ""
+"Keine Meshes zum Backen vorhanden. Meshes, die gebackt werden sollen, müssen "
+"einen UV2-Kanal beinhalten und das Flag ‚Bake Light‘ muss gesetzt sein."
+
msgid "Failed creating lightmap images, make sure path is writable."
msgstr ""
"Erstellung der Lightmap-Bilder fehlgeschlagen. Stellen Sie sicher, dass der "
"Speicherpfad beschreibbar ist."
+msgid "No editor scene root found."
+msgstr "Keine Wurzel in Editorszene gefunden."
+
+msgid "Lightmap data is not local to the scene."
+msgstr "Lightmap-Daten sind nicht lokal zur Szene."
+
msgid "Bake Lightmaps"
msgstr "Lightmaps vorrendern"
@@ -5051,18 +7504,58 @@ msgstr "Mehrere konvexe Formen erstellen"
msgid "Create Navigation Mesh"
msgstr "Navigations-Mesh erzeugen"
+msgid "Create Debug Tangents"
+msgstr "Debug-Tangenten generieren"
+
msgid "Contained Mesh is not of type ArrayMesh."
msgstr "Beinhaltetes Mesh ist nicht vom Typ ArrayMesh."
+msgid ""
+"Mesh cannot unwrap UVs because it does not belong to the edited scene. Make "
+"it unique first."
+msgstr ""
+"Die UVs des Meshs können nicht entfaltet werden, da es nicht zur editierten "
+"Szene gehört. Es muss erst einzigartig gemacht werden."
+
+msgid ""
+"Mesh cannot unwrap UVs because it belongs to another resource which was "
+"imported from another file type. Make it unique first."
+msgstr ""
+"Die UVs des Meshs können nicht entfaltet werden, da es zu einer anderen "
+"Ressource, importiert aus einem andern Dateityp, gehört. Es muss erst "
+"einzigartig gemacht werden."
+
+msgid ""
+"Mesh cannot unwrap UVs because it was imported from another file type. Make "
+"it unique first."
+msgstr ""
+"Die UVs des Meshs können nicht entfaltet werden, da es aus einem andern "
+"Dateityp importiert wurde. Es muss erst einzigartig gemacht werden."
+
msgid "UV Unwrap failed, mesh may not be manifold?"
msgstr ""
"UV-Entfalten fehlgeschlagen, könnte das Mesh keine Mannigfaltigkeit sein?"
+msgid "Unwrap UV2"
+msgstr "UV2 entfalten"
+
msgid "No mesh to debug."
msgstr "Kein Mesh zu debuggen."
msgid "Mesh has no UV in layer %d."
-msgstr "Mesh hat kein UV in Schicht %d."
+msgstr "Mesh hat kein UV in Ebene %d."
+
+msgid "MeshInstance3D lacks a Mesh."
+msgstr "MeshInstance3D fehlt ein Mesh."
+
+msgid "Mesh has no surface to create outlines from."
+msgstr "Mesh hat keine Oberfläche von der Umrisse erzeugt werden können."
+
+msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES."
+msgstr "Der Mesh-Grundtyp ist nicht PRIMITIVE_TRIANGLES."
+
+msgid "Could not create outline."
+msgstr "Umriss konnte nicht erzeugt werden."
msgid "Create Outline"
msgstr "Umriss erzeugen"
@@ -5073,6 +7566,15 @@ msgstr "Mesh"
msgid "Create Trimesh Static Body"
msgstr "Statischen Trimesh-Körper erzeugen"
+msgid ""
+"Creates a StaticBody3D and assigns a polygon-based collision shape to it "
+"automatically.\n"
+"This is the most accurate (but slowest) option for collision detection."
+msgstr ""
+"Erstellt einen StaticBody3D und weist ihm ein polygon-basiertes "
+"Kollisionselement automatisch zu.\n"
+"Dies ist die präziseste (aber langsamste) Methode für Kollisionsberechnungen."
+
msgid "Create Trimesh Collision Sibling"
msgstr "Trimesh-Kollisionselement erzeugen"
@@ -5120,6 +7622,17 @@ msgstr ""
msgid "Create Outline Mesh..."
msgstr "Umriss-Mesh erzeugen..."
+msgid ""
+"Creates a static outline mesh. The outline mesh will have its normals "
+"flipped automatically.\n"
+"This can be used instead of the StandardMaterial Grow property when using "
+"that property isn't possible."
+msgstr ""
+"Erstellt ein statisches Umriss-Mesh. Umriss-Meshes haben ihre "
+"Normalenvektoren automatisch invertiert.\n"
+"Dies kann als Ersatz für die StandardMaterial-Grow-Eigenschaft genutzt "
+"werden, wenn sie nicht verfügbar ist."
+
msgid "View UV1"
msgstr "UV1 zeigen"
@@ -5182,6 +7695,9 @@ msgstr "Keine Mesh-Quelle angegeben (und MultiMesh enthält kein Mesh)."
msgid "Mesh source is invalid (invalid path)."
msgstr "Mesh-Quelle ist ungültig (ungültiger Pfad)."
+msgid "Mesh source is invalid (not a MeshInstance3D)."
+msgstr "Mesh-Quelle ist ungültig (kein MeshInstance3D)."
+
msgid "Mesh source is invalid (contains no Mesh resource)."
msgstr "Mesh-Quelle ist ungültig (enthält keine Mesh-Ressource)."
@@ -5242,6 +7758,12 @@ msgstr "Menge:"
msgid "Populate"
msgstr "Füllen"
+msgid "Set start_position"
+msgstr "start_position festlegen"
+
+msgid "Set end_position"
+msgstr "end_position festlegen"
+
msgid "Create Navigation Polygon"
msgstr "Erzeuge Navigationspolygon"
@@ -5249,7 +7771,7 @@ msgid "Unnamed Gizmo"
msgstr "Unbenannter Griff"
msgid "Change Light Radius"
-msgstr "Ändere Lichtradius"
+msgstr "Lichtradius ändern"
msgid "Change AudioStreamPlayer3D Emission Angle"
msgstr "Emissionswinkel für AudioStreamPlayer3D ändern"
@@ -5258,16 +7780,28 @@ msgid "Change Camera FOV"
msgstr "Ändere FOV der Kamera"
msgid "Change Camera Size"
-msgstr "Ändere Kameragröße"
+msgstr "Kameragröße ändern"
msgid "Change Sphere Shape Radius"
msgstr "Kugelformradius ändern"
+msgid "Change Box Shape Size"
+msgstr "Quaderformgröße ändern"
+
msgid "Change Notifier AABB"
msgstr "Benachrichtigendes AABB ändern"
msgid "Change Particles AABB"
-msgstr "Ändere Partikel AABB"
+msgstr "Partikel AABB ändern"
+
+msgid "Change Radius"
+msgstr "Radius ändern"
+
+msgid "Change Probe Size"
+msgstr "Sondengröße ändern"
+
+msgid "Change Decal Size"
+msgstr "Decalgröße ändern"
msgid "Change Capsule Shape Radius"
msgstr "Kapselfromradius ändern"
@@ -5281,6 +7815,24 @@ msgstr "Zylinderformradius ändern"
msgid "Change Cylinder Shape Height"
msgstr "Zylinderformhöhe ändern"
+msgid "Change Separation Ray Shape Length"
+msgstr "Teilungsstrahlformlänge ändern"
+
+msgid "Start Location"
+msgstr "Startort"
+
+msgid "End Location"
+msgstr "Endort"
+
+msgid "Change Start Position"
+msgstr "Startposition ändern"
+
+msgid "Change End Position"
+msgstr "Endposition ändern"
+
+msgid "Change Fog Volume Size"
+msgstr "Nebelvolumengröße ändern"
+
msgid "Transform Aborted."
msgstr "Transformation abgebrochen."
@@ -5341,18 +7893,51 @@ msgstr "Z-Achsen-Transformation."
msgid "View Plane Transform."
msgstr "Zeige Flächentransformation."
+msgid "YZ-Plane Transform."
+msgstr "YZ-Ebenen-Transformation."
+
+msgid "XZ-Plane Transform."
+msgstr "XZ-Ebenen-Transformation."
+
+msgid "XY-Plane Transform."
+msgstr "XY-Ebenen-Transformation."
+
msgid "Keying is disabled (no key inserted)."
msgstr "Schlüsselbildeinfügen ist deaktiviert (kein Schlüsselbild eingefügt)."
msgid "Animation Key Inserted."
msgstr "Animationsschlüsselbild eingefügt."
+msgid "X: %s\n"
+msgstr "X: %s\n"
+
+msgid "Y: %s\n"
+msgstr "Y: %s\n"
+
+msgid "Z: %s\n"
+msgstr "Z: %s\n"
+
msgid "Size: %s (%.1fMP)\n"
msgstr "Größe: %s (%.1fMP)\n"
msgid "Objects: %d\n"
msgstr "Objekte: %d\n"
+msgid "Primitive Indices: %d\n"
+msgstr "Grundindizes: %d\n"
+
+msgid "Draw Calls: %d"
+msgstr "Zeichenaufrufe: %d"
+
+msgid "CPU Time: %s ms"
+msgstr "CPU-Zeit: %s ms"
+
+msgid "GPU Time: %s ms"
+msgstr "GPU-Zeit: %s ms"
+
+msgid "FPS: %d"
+msgstr "FPS: %d"
+
msgid "Top View."
msgstr "Sicht von oben."
@@ -5377,6 +7962,15 @@ msgstr "Transform auf Sicht ausrichten"
msgid "Align Rotation with View"
msgstr "Rotation auf Sicht ausrichten"
+msgid "Set Surface %d Override Material"
+msgstr "Override–Material der Oberfläche %d festlegen"
+
+msgid "Set Material Override"
+msgstr "Material-Override festlegen"
+
+msgid "Cannot drag and drop into multiple selected nodes."
+msgstr "Ziehen und loslassen in mehrere ausgewählte Nodes ist nicht möglich."
+
msgid "None"
msgstr "Nichts"
@@ -5407,15 +8001,78 @@ msgstr "Wireframe-Ansicht"
msgid "Display Overdraw"
msgstr "Overdraw-Ansicht"
+msgid "Display Lighting"
+msgstr "Lichtwurf anzeigen"
+
msgid "Display Unshaded"
msgstr "Nicht Schattiertes anzeigen"
+msgid "Directional Shadow Splits"
+msgstr "Gerichtete Schattenaufteilung"
+
+msgid "Normal Buffer"
+msgstr "Normalenpuffer"
+
msgid "Shadow Atlas"
msgstr "Schattenatlas"
+msgid "Directional Shadow Map"
+msgstr "Gerichtete Schattenkarte"
+
+msgid "Decal Atlas"
+msgstr "Decal-Atlas"
+
+msgid "VoxelGI Lighting"
+msgstr "VoxelGI-Beleuchtung"
+
+msgid "VoxelGI Albedo"
+msgstr "VoxelGI-Albedo"
+
+msgid "VoxelGI Emission"
+msgstr "VoxelGI-Emission"
+
+msgid "SDFGI Cascades"
+msgstr "SDFGI-Kaskaden"
+
+msgid "SDFGI Probes"
+msgstr "SDFGI-Sonden"
+
+msgid "Scene Luminance"
+msgstr "Szenenluminanz"
+
msgid "SSAO"
msgstr "SSAO"
+msgid "SSIL"
+msgstr "SSIL"
+
+msgid "VoxelGI/SDFGI Buffer"
+msgstr "VoxelGI/SDFGI-Puffer"
+
+msgid "Disable Mesh LOD"
+msgstr "Mesh-LOD deaktivieren"
+
+msgid "OmniLight3D Cluster"
+msgstr "OmniLight3D-Cluster"
+
+msgid "SpotLight3D Cluster"
+msgstr "SpotLight3D-Cluster"
+
+msgid "Decal Cluster"
+msgstr "Decal-Cluster"
+
+msgid "ReflectionProbe Cluster"
+msgstr "ReflectionProbe-Cluster"
+
+msgid "Occlusion Culling Buffer"
+msgstr "Occlusion-Culling-Puffer"
+
+msgid "Motion Vectors"
+msgstr "Bewegungsvektoren"
+
+msgid "Display Advanced..."
+msgstr "Erweitertes anzeigen…"
+
msgid "View Environment"
msgstr "Umgebung anzeigen"
@@ -5425,6 +8082,9 @@ msgstr "Manipulator anzeigen"
msgid "View Information"
msgstr "Sicht-Informationen"
+msgid "View Frame Time"
+msgstr "Frame-Zeit anzeigen"
+
msgid "Half Resolution"
msgstr "Halbe Auflösung"
@@ -5437,6 +8097,9 @@ msgstr "Dopplereffekt aktivieren"
msgid "Cinematic Preview"
msgstr "Cinematische Vorschau"
+msgid "Not available when using the OpenGL renderer."
+msgstr "Nicht verfügbar mit OpenGL-Renderer."
+
msgid "Freelook Left"
msgstr "Freisicht Links"
@@ -5462,13 +8125,34 @@ msgid "Freelook Slow Modifier"
msgstr "Freisicht Trägheitsregler"
msgid "Lock Transformation to X axis"
-msgstr "Sperre Transformation auf X-Achse"
+msgstr "Transformation auf X-Achse begrenzen"
msgid "Lock Transformation to Y axis"
-msgstr "Sperre Transformation auf Y-Achse"
+msgstr "Transformation auf Y-Achse begrenzen"
msgid "Lock Transformation to Z axis"
-msgstr "Sperre Transformation auf Z-Achse"
+msgstr "Transformation auf Z-Achse begrenzen"
+
+msgid "Lock Transformation to YZ plane"
+msgstr "Transformation auf YZ-Ebene begrenzen"
+
+msgid "Lock Transformation to XZ plane"
+msgstr "Transformation auf XZ-Ebene begrenzen"
+
+msgid "Lock Transformation to XY plane"
+msgstr "Transformation auf XY-Ebene begrenzen"
+
+msgid "Cancel Transformation"
+msgstr "Transformation abbrechen"
+
+msgid "Begin Translate Transformation"
+msgstr "Verschiebungs-Transformation starten"
+
+msgid "Begin Rotate Transformation"
+msgstr "Rotations-Transformation starten"
+
+msgid "Begin Scale Transformation"
+msgstr "Skalierungs-Transformation starten"
msgid "Toggle Camera Preview"
msgstr "Kameravorschau umschalten"
@@ -5482,6 +8166,18 @@ msgstr ""
"Um weiter zoomen zu können müssen die Kameraausschnittebenen geändert werden "
"(Ansicht -> Einstellungen… )"
+msgid "Overriding material..."
+msgstr "Überschreibendes Material…"
+
+msgid ""
+"Drag and drop to override the material of any geometry node.\n"
+"Hold Ctrl when dropping to override a specific surface."
+msgstr ""
+"Ziehen und Loslassen um das Material jeglichen Geometrie-Nodes zu "
+"überschreiben.\n"
+"Strg beim Loslassen gedrückt halten um eine spezielle Oberfläche zu "
+"überschreiben."
+
msgid "XForm Dialog"
msgstr "Transformationsdialog"
@@ -5507,12 +8203,60 @@ msgstr ""
"Es wurde kein fester Boden gefunden an dem die Auswahl eingerastet werden "
"könnte."
+msgid "Add Preview Sun to Scene"
+msgstr "Vorschausonne zur Szene hinzufügen"
+
+msgid "Add Preview Environment to Scene"
+msgstr "Vorschau-Environment zur Szene hinzufügen"
+
+msgid ""
+"Scene contains\n"
+"DirectionalLight3D.\n"
+"Preview disabled."
+msgstr ""
+"Szene beinhaltet\n"
+"DirectionalLight3D.\n"
+"Vorschau deaktiviert."
+
+msgid "Preview disabled."
+msgstr "Vorschau deaktiviert."
+
+msgid ""
+"Scene contains\n"
+"WorldEnvironment.\n"
+"Preview disabled."
+msgstr ""
+"Szene enthälrt\n"
+"WorldEnvironment.\n"
+"Vorschau deaktiviert."
+
msgid "Use Local Space"
msgstr "Lokalkoordinaten verwenden"
msgid "Use Snap"
msgstr "Einrasten aktivieren"
+msgid ""
+"Toggle preview sunlight.\n"
+"If a DirectionalLight3D node is added to the scene, preview sunlight is "
+"disabled."
+msgstr ""
+"Vorschausonnenlicht umschalten.\n"
+"Die Sonnenlichtvorschau wird deaktiviert, falls ein DirectionalLight3D-Node "
+"zur Szene hinzugefügt wird."
+
+msgid ""
+"Toggle preview environment.\n"
+"If a WorldEnvironment node is added to the scene, preview environment is "
+"disabled."
+msgstr ""
+"Environment-Vorschau umschalten.\n"
+"Die Environment-Vorschau wird deaktiviert, falls ein WorldEnvironment-Node "
+"zur Szene hinzugefügt wird."
+
+msgid "Edit Sun and Environment settings."
+msgstr "Sonnen- und Environment-Einstellungen ändern."
+
msgid "Bottom View"
msgstr "Sicht von unten"
@@ -5654,15 +8398,108 @@ msgstr "Vorher"
msgid "Post"
msgstr "Nachher"
+msgid "Preview Sun"
+msgstr "Sonnenvorschau"
+
+msgid "Sun Direction"
+msgstr "Sonnenrichtung"
+
+msgid "Angular Altitude"
+msgstr "Winkelhöhe"
+
+msgid "Azimuth"
+msgstr "Azimut"
+
msgid "Sun Color"
msgstr "Sonnenfarbe"
+msgid "Sun Energy"
+msgstr "Sonnenenergie"
+
+msgid "Shadow Max Distance"
+msgstr "Max Schattendistanz"
+
+msgid "Add Sun to Scene"
+msgstr "Sonne zur Szene hinzufügen"
+
+msgid ""
+"Adds a DirectionalLight3D node matching the preview sun settings to the "
+"current scene.\n"
+"Hold Shift while clicking to also add the preview environment to the current "
+"scene."
+msgstr ""
+"Fügt ein DirectionalLight3D-Node, das den Sonnenvorschaueinstellungen "
+"entspricht, der aktuellen Szene hinzu.\n"
+"Umsch beim Klicken halten, um ebenfalls die Environment-Vorschau zur "
+"aktuellen Szene hinzuzufügen."
+
+msgid "Preview Environment"
+msgstr "Vorschau-Environment"
+
+msgid "Sky Color"
+msgstr "Himmelsfarbe"
+
+msgid "Ground Color"
+msgstr "Bodenfarbe"
+
+msgid "Sky Energy"
+msgstr "Himmelsenergie"
+
+msgid "AO"
+msgstr "AO"
+
msgid "Glow"
msgstr "Leuchten"
msgid "Tonemap"
msgstr "Dynamikkompression"
+msgid "GI"
+msgstr "GI"
+
+msgid "Post Process"
+msgstr "Nachbearbeitung"
+
+msgid "Add Environment to Scene"
+msgstr "Environment der Szene hinzufügen"
+
+msgid ""
+"Adds a WorldEnvironment node matching the preview environment settings to "
+"the current scene.\n"
+"Hold Shift while clicking to also add the preview sun to the current scene."
+msgstr ""
+"Fügt ein WorldEnvironment-Node, das den Environment-Vorschaueinstellungen "
+"entspricht, der aktuellen Szene hinzu.\n"
+"Umsch beim Klicken halten, um ebenfalls die Vorschausonne zur aktuellen "
+"Szene hinzuzufügen."
+
+msgid ""
+"Can't determine a save path for the occluder.\n"
+"Save your scene and try again."
+msgstr ""
+"Ein Speicherpfad für den Occluder kann nicht bestimmt werden.\n"
+"Ein Speichern der Szene sollte dieses Problem beheben."
+
+msgid ""
+"No meshes to bake.\n"
+"Make sure there is at least one MeshInstance3D node in the scene whose "
+"visual layers are part of the OccluderInstance3D's Bake Mask property."
+msgstr ""
+"Keine Meshes zum Backen.\n"
+"Bitte sicherstellen dass mindestens ein MeshInstance3D-Node in der Szene "
+"ist, dessen sichtbare Ebenen in der Backmaske-Eigenschaft des "
+"OccluderInstance3D enthalten sind."
+
+msgid "Could not save the new occluder at the specified path:"
+msgstr ""
+"Der neue Verdecker konnte nicht am angegebenen Pfad gespeichert werden:"
+
+msgid "Bake Occluders"
+msgstr "Verdecker backen"
+
+msgid "Select occluder bake file:"
+msgstr "Verdecker-Bake-Datei auswählen:"
+
msgid "Remove Point from Curve"
msgstr "Punkt von Kurve entfernen"
@@ -5980,6 +8817,12 @@ msgstr "Datei konnte nicht geladen werden von:"
msgid "Save File As..."
msgstr "Datei speichern als..."
+msgid "Can't obtain the script for reloading."
+msgstr "Skript zum Neuladen nicht abrufbar."
+
+msgid "Reload only takes effect on tool scripts."
+msgstr "Neuladen beinflusst nur Werkzeugskripte."
+
msgid "Can't obtain the script for running."
msgstr "Auszuführendes Skript kann nicht abgerufen werden."
@@ -6007,6 +8850,9 @@ msgstr "Fehler beim Speichern"
msgid "Save Theme As..."
msgstr "Theme speichern als..."
+msgid "Unsaved file."
+msgstr "Ungespeicherte Datei."
+
msgid "%s Class Reference"
msgstr "%s Klassenreferenz"
@@ -6016,6 +8862,9 @@ msgstr "Finde Nächstes"
msgid "Find Previous"
msgstr "Finde Vorheriges"
+msgid "Filter Scripts"
+msgstr "Skripte filtern"
+
msgid "Toggle alphabetical sorting of the method list."
msgstr "Alphabetische Sortierung der Methodenliste umschalten."
@@ -6040,6 +8889,9 @@ msgstr "Geschlossenes Skript erneut öffnen"
msgid "Save All"
msgstr "Alle speichern"
+msgid "Soft Reload Tool Script"
+msgstr "Tool-Skript für zaghaftes Nachladen"
+
msgid "Copy Script Path"
msgstr "Skriptpfad kopieren"
@@ -6050,7 +8902,7 @@ msgid "History Next"
msgstr "Vorwärts im Verlauf"
msgid "Theme"
-msgstr "Theme"
+msgstr "Motiv, Design, oder anscheinend Thema¯\\_(ツ)_/¯"
msgid "Import Theme..."
msgstr "Thema importieren..."
@@ -6107,6 +8959,9 @@ msgstr "Skript-Verlauf leeren"
msgid "Standard"
msgstr "Standard"
+msgid "Plain Text"
+msgstr "Normaler Text"
+
msgid "Connections to method:"
msgstr "Verbindungen mit Methode:"
@@ -6116,6 +8971,9 @@ msgstr "Quelle"
msgid "Target"
msgstr "Ziel"
+msgid "Error at (%d, %d):"
+msgstr "Fehler bei (%d, %d):"
+
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
msgstr ""
@@ -6133,6 +8991,9 @@ msgstr "Springe zu Funktion"
msgid "Only resources from filesystem can be dropped."
msgstr "Nur Ressourcen aus dem Dateisystem können hier fallen gelassen werden."
+msgid "Can't drop nodes without an open scene."
+msgstr "Ohne geöffnete Szene können Nodes nicht fallen gelassen werden."
+
msgid "Can't drop nodes because script '%s' is not used in this scene."
msgstr ""
"Nodes können hier nicht fallen gelassen werden da Skript ‚%s‘ in dieser "
@@ -6144,6 +9005,12 @@ msgstr "Symbol nachschlagen"
msgid "Pick Color"
msgstr "Farbe auswählen"
+msgid "Folding"
+msgstr "Einklappen"
+
+msgid "Indentation"
+msgstr "Einrückung"
+
msgid "Uppercase"
msgstr "Großbuchstaben"
@@ -6168,6 +9035,9 @@ msgstr "Springe zu"
msgid "Delete Line"
msgstr "Zeile löschen"
+msgid "Unindent"
+msgstr "Ausrücken"
+
msgid "Toggle Comment"
msgstr "Kommentar umschalten"
@@ -6234,6 +9104,46 @@ msgstr "Springe zum nächsten Haltepunkt"
msgid "Go to Previous Breakpoint"
msgstr "Springe zum vorigen Haltepunkt"
+msgid "New Shader Include"
+msgstr "Neues Shader-Include"
+
+msgid "Load Shader File"
+msgstr "Shader-Datei laden"
+
+msgid "Load Shader Include File"
+msgstr "Shader-Include-Datei laden"
+
+msgid "Save File"
+msgstr "Datei speichern"
+
+msgid "Save File As"
+msgstr "Datei speichern als"
+
+msgid "Open File in Inspector"
+msgstr "Datei im Inspektor öffnen"
+
+msgid "Close File"
+msgstr "Datei schließen"
+
+msgid "Shader Editor"
+msgstr "Shader-Editor"
+
+msgid "No valid shader stages found."
+msgstr "Keine gültigen Shader-Stufen gefunden."
+
+msgid "Shader stage compiled without errors."
+msgstr "Shader-Stufe ohne Fehler übersetzt."
+
+msgid ""
+"File structure for '%s' contains unrecoverable errors:\n"
+"\n"
+msgstr ""
+"Dateistruktur für ‚%s‘ enthält nicht behebbare Fehler:\n"
+"\n"
+
+msgid "ShaderFile"
+msgstr "Shader-Datei"
+
msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr ""
"Dieses Skelett hat keine Knochen, Bone2D-Nodes sollten als Unterobjekte "
@@ -6254,12 +9164,77 @@ msgstr "Zu Ruhepose zurücksetzen"
msgid "Overwrite Rest Pose"
msgstr "Ruhepose überschreiben"
+msgid "Set Bone Transform"
+msgstr "Knochentransformation festlegen"
+
+msgid "Set Bone Rest"
+msgstr "Ruhepose für Knochen festlegen"
+
+msgid "Cannot create a physical skeleton for a Skeleton3D node with no bones."
+msgstr ""
+"Es kann kein physisches Skelett erstellt werden für ein Skeleton3D-Node ohne "
+"Knochen."
+
msgid "Create physical bones"
msgstr "Physikalische Knochen erstellen"
+msgid "Cannot export a SkeletonProfile for a Skeleton3D node with no bones."
+msgstr ""
+"Es kann kein SkeletonProfile exportiert werden für ein Skeleton3D-Node ohne "
+"Knochen."
+
+msgid "Export Skeleton Profile As..."
+msgstr "Skelettprofil exportieren nach..."
+
+msgid "Set Bone Parentage"
+msgstr "Elternstatus des Knochens festlegen"
+
+msgid "Skeleton3D"
+msgstr "Skelett3D"
+
+msgid "Reset All Bone Poses"
+msgstr "Alle Knochen-Posen zurücksetzen"
+
+msgid "Reset Selected Poses"
+msgstr "Ausgewählte Posen zurücksetzen"
+
+msgid "Apply All Poses to Rests"
+msgstr "Alle Posen in Ruhe setzen"
+
+msgid "Apply Selected Poses to Rests"
+msgstr "Ausgewählte Posen in Ruhe setzen"
+
+msgid "Create Physical Skeleton"
+msgstr "Physikalisches Skelett erzeugen"
+
+msgid "Export Skeleton Profile"
+msgstr "Skelettprofil exportieren"
+
+msgid ""
+"Edit Mode\n"
+"Show buttons on joints."
+msgstr ""
+"Bearbeitungsmodus\n"
+"Knöpfe an Gelenken anzeigen."
+
+msgid "Insert key of all bone poses."
+msgstr "Schlüssel einfügen für alle Knochenposen."
+
+msgid "Insert Key (All Bones)"
+msgstr "Schlüsselbild einfügen (alle Knochen)"
+
+msgid "Bone Transform"
+msgstr "Knochen-Transformation"
+
msgid "Play IK"
msgstr "IK abspielen"
+msgid "Create MeshInstance2D"
+msgstr "MeshInstance2D erstellen"
+
+msgid "MeshInstance2D Preview"
+msgstr "MeshInstance2D-Vorschau"
+
msgid "Create Polygon2D"
msgstr "Polygon2D erzeugen"
@@ -6278,6 +9253,12 @@ msgstr "LightOccluder2D erzeugen"
msgid "LightOccluder2D Preview"
msgstr "LightOccluder2D-Vorschau"
+msgid "Can't convert a Sprite2D from a foreign scene."
+msgstr "Umwandeln eines aus fremder Szene stammenden Sprite2D nicht möglich."
+
+msgid "Sprite2D is empty!"
+msgstr "Sprite2D ist leer!"
+
msgid "Can't convert a sprite using animation frames to mesh."
msgstr ""
"Ein Sprite das Animationsbilder nutzt kann nicht zu einem Mesh konvertiert "
@@ -6307,6 +9288,9 @@ msgstr "Ungültige Geometrie, Light-Occluder kann nicht erzeugt werden."
msgid "Create LightOccluder2D Sibling"
msgstr "LightOccluder2D erzeugen"
+msgid "Sprite2D"
+msgstr "Sprite2D"
+
msgid "Simplification:"
msgstr "Vereinfachung:"
@@ -6355,18 +9339,57 @@ msgstr "Animation löschen?"
msgid "Change Animation FPS"
msgstr "Ändere FPS-Wert der Animation"
+msgid "Set Frame Duration"
+msgstr "Framedauer festlegen"
+
msgid "(empty)"
msgstr "(leer)"
msgid "Animations:"
msgstr "Animationen:"
+msgid "Animation Speed"
+msgstr "Animationsgeschwindigkeit"
+
+msgid "Filter Animations"
+msgstr "Animationen filtern"
+
+msgid "Delete Animation"
+msgstr "Animation löschen"
+
msgid "Animation Frames:"
msgstr "Animationsbilder:"
+msgid "Frame Duration:"
+msgstr "Framedauer:"
+
msgid "Zoom Reset"
msgstr "Zoom zurücksetzen"
+msgid "Add frame from file"
+msgstr "Frame aus Datei hinzufügen"
+
+msgid "Add frames from sprite sheet"
+msgstr "Frame aus Sprite-Sheet hinzufügen"
+
+msgid "Delete Frame"
+msgstr "Frame löschen"
+
+msgid "Copy Frame"
+msgstr "Frame kopieren"
+
+msgid "Insert Empty (Before Selected)"
+msgstr "Empty einfügen (vor Auswahl)"
+
+msgid "Insert Empty (After Selected)"
+msgstr "Empty einfügen (nach Auswahl)"
+
+msgid "Move Frame Left"
+msgstr "Frame nach links verschieben"
+
+msgid "Move Frame Right"
+msgstr "Frame nach rechts verschieben"
+
msgid "Select Frames"
msgstr "Frames auswählen"
@@ -6388,6 +9411,25 @@ msgstr "Frames aus Sprite-Sheet erzeugen"
msgid "SpriteFrames"
msgstr "Sprite-Einzelbilder"
+msgid "Warnings should be fixed to prevent errors."
+msgstr "Warnungen sollten behoben werden um Fehler zu vermeiden."
+
+msgid ""
+"This shader has been modified on disk.\n"
+"What action should be taken?"
+msgstr ""
+"Dieser Shader wurde im Dateisystem verändert.\n"
+"Wie soll weiter vorgegangen werden?"
+
+msgid "%s Mipmaps"
+msgstr "%s Mipmaps"
+
+msgid "Memory: %s"
+msgstr "Speicher: %s"
+
+msgid "No Mipmaps"
+msgstr "Keine Mipmaps"
+
msgid "Set Region Rect"
msgstr "Bereichsrechteck setzen"
@@ -6409,24 +9451,68 @@ msgstr "Autoschnitt"
msgid "Step:"
msgstr "Schritt:"
+msgid "Region Editor"
+msgstr "Bereichseditor"
+
+msgid "Edit Region"
+msgstr "Bereich bearbeiten"
+
msgid "Styleboxes"
msgstr "Style-Boxen"
+msgid "1 color"
+msgid_plural "{num} colors"
+msgstr[0] "1 Farbe"
+msgstr[1] "{num} Farben"
+
msgid "No colors found."
msgstr "Keine Farben gefunden."
+msgid "1 constant"
+msgid_plural "{num} constants"
+msgstr[0] "1 Konstante"
+msgstr[1] "{num} Konstanten"
+
msgid "No constants found."
msgstr "Keine Konstanten gefunden."
+msgid "1 font"
+msgid_plural "{num} fonts"
+msgstr[0] "1 Schriftart"
+msgstr[1] "{num} Schriftarten"
+
msgid "No fonts found."
msgstr "Keine Schriftarten gefunden."
+msgid "1 font size"
+msgid_plural "{num} font sizes"
+msgstr[0] "1 Schriftgröße"
+msgstr[1] "{num} Schriftgrößen"
+
+msgid "No font sizes found."
+msgstr "Keine Schriftgrößen gefunden."
+
+msgid "1 icon"
+msgid_plural "{num} icons"
+msgstr[0] "1 Symbol"
+msgstr[1] "{num} Symbole"
+
msgid "No icons found."
msgstr "Keine Symbole gefunden."
+msgid "1 stylebox"
+msgid_plural "{num} styleboxes"
+msgstr[0] "1 Style-Box"
+msgstr[1] "{num} Style-Boxen"
+
msgid "No styleboxes found."
msgstr "Keine Style-Boxen gefunden."
+msgid "{num} currently selected"
+msgid_plural "{num} currently selected"
+msgstr[0] "{num} zurzeit ausgewählt"
+msgstr[1] "{num} zurzeit ausgewählt"
+
msgid "Nothing was selected for the import."
msgstr "Es wurde nichts zum Importieren ausgewählt."
@@ -6442,6 +9528,12 @@ msgstr "Am Aktualisieren des Editors"
msgid "Finalizing"
msgstr "Fertigstellen"
+msgid "Import Theme Items"
+msgstr "Thema-Elemente importieren"
+
+msgid "Filter Items"
+msgstr "Elemente filtern"
+
msgid "With Data"
msgstr "Mit Daten"
@@ -6475,6 +9567,18 @@ msgstr "Alle sichtbaren Schriftart-Elemente und ihre Daten auswählen."
msgid "Deselect all visible font items."
msgstr "Alle sichtbaren Schriftart-Elemente abwählen."
+msgid "Font sizes"
+msgstr "Schriftgrößen"
+
+msgid "Select all visible font size items."
+msgstr "Alle sichtbaren Schriftgrößen-Elemente auswählen."
+
+msgid "Select all visible font size items and their data."
+msgstr "Alle sichtbaren Schriftgrößen-Elemente und ihre Daten auswählen."
+
+msgid "Deselect all visible font size items."
+msgstr "Alle sichtbaren Schriftgrößen-Elemente abwählen."
+
msgid "Select all visible icon items."
msgstr "Alle sichtbaren Symbolelemente auswählen."
@@ -6556,6 +9660,9 @@ msgstr "Alle konstanten Elemente entfernen"
msgid "Remove All Font Items"
msgstr "Alle Schriftart-Elemente entfernen"
+msgid "Remove All Font Size Items"
+msgstr "Alle Schriftgrößen-Elemente entfernen"
+
msgid "Remove All Icon Items"
msgstr "Alle Symbol-Elemente entfernen"
@@ -6570,12 +9677,21 @@ msgstr ""
"Zusätzliche Elemente können manuell oder durch Importieren aus einem andern "
"Thema hinzugefügt werden."
+msgid "Remove Theme Item"
+msgstr "Themen-Element entfernen"
+
msgid "Add Theme Type"
msgstr "Themen-Typ hinzufügen"
+msgid "Create Theme Item"
+msgstr "Themen-Elemente erstellen"
+
msgid "Remove Theme Type"
msgstr "Themen-Typ entfernen"
+msgid "Remove Data Type Items From Theme"
+msgstr "Datentypelemente aus Thema entfernen"
+
msgid "Add Color Item"
msgstr "Farbelement hinzufügen"
@@ -6703,12 +9819,44 @@ msgstr "Elementtyp hinzufügen"
msgid "Add Type"
msgstr "Typ hinzufügen"
+msgid "Override All Default Theme Items"
+msgstr "Alle Standard-Themaelemente überschreiben"
+
+msgid "Set Constant Item in Theme"
+msgstr "Konstantes Element in Thema festlegen"
+
+msgid "Set Font Size Item in Theme"
+msgstr "Element für Schriftgröße in Thema festlegen"
+
+msgid "Set Font Item in Theme"
+msgstr "Schriftart-Element in Thema festlegen"
+
+msgid "Set Icon Item in Theme"
+msgstr "Element für Symbol in Thema festlegen"
+
+msgid "Set Stylebox Item in Theme"
+msgstr "Stylebox-Element in Thema festlegen"
+
+msgid "Pin Stylebox"
+msgstr "Stylebox anheften"
+
+msgid "Unpin Stylebox"
+msgstr "Stylebox abheften"
+
+msgid "Set Theme Type Variation"
+msgstr "Thementypvariation festlegen"
+
msgid "Set Variation Base Type"
msgstr "Variationsbasistyp festlegen"
msgid "Set Base Type"
msgstr "Basistyp festlegen"
+msgid "Add a type from a list of available types or create a new one."
+msgstr ""
+"Füge einen Typ aus einer Liste verfügbarer Typen hinzu oder erstelle einen "
+"neuen."
+
msgid "Show Default"
msgstr "Standard anzeigen"
@@ -6838,6 +9986,90 @@ msgstr "Ungültige Datei, keine PackedScene-Ressource."
msgid "Reload the scene to reflect its most actual state."
msgstr "Die Szene neu laden um ihren aktuellsten Status widerzuspiegeln."
+msgid "Merge TileSetAtlasSource"
+msgstr "TileSetAtlasSource zusammenfügen"
+
+msgid "%s (ID: %d)"
+msgstr "%s (ID: %d)"
+
+msgid "Atlas Merging"
+msgstr "Atlaszusammenfügen"
+
+msgid "Merge (Keep original Atlases)"
+msgstr "Zusammenfügen (ursprüngliche Atlanten erhalten)"
+
+msgid "Merge"
+msgstr "Zusammenfügen"
+
+msgid "Next Line After Column"
+msgstr "Nächste Zeile nach Spalte"
+
+msgid "Please select two atlases or more."
+msgstr "Zuerst zwei oder mehr Atlanten auswählen."
+
+msgid ""
+"Source: %d\n"
+"Atlas coordinates: %s\n"
+"Alternative: 0"
+msgstr ""
+"Quelle: %d\n"
+"Atlaskoordinaten: %s\n"
+"Alternative: 0"
+
+msgid ""
+"Source: %d\n"
+"Atlas coordinates: %s\n"
+"Alternative: %d"
+msgstr ""
+"Quelle: %d\n"
+"Atlaskoordinaten: %s\n"
+"Alternative: %d"
+
+msgid "Center View"
+msgstr "Ansicht zentrieren"
+
+msgid "No atlas source with a valid texture selected."
+msgstr "Keine Atlasquelle mit gültiger Textur ausgewählt."
+
+msgid "Base Tiles"
+msgstr "Grundkacheln"
+
+msgid "Alternative Tiles"
+msgstr "Alternative Kacheln"
+
+msgid "Reset Polygons"
+msgstr "Polygone zurücksetzen"
+
+msgid "Clear Polygons"
+msgstr "Polygone löschen"
+
+msgid "Rotate Polygons Right"
+msgstr "Polygone nach rechts drehen"
+
+msgid "Rotate Polygons Left"
+msgstr "Polygone nach links drehen"
+
+msgid "Flip Polygons Horizontally"
+msgstr "Polygone horizontal spiegeln"
+
+msgid "Flip Polygons Vertically"
+msgstr "Polygone vertikal spiegeln"
+
+msgid "Edit Polygons"
+msgstr "Polygone bearbeiten"
+
+msgid "Add polygon tool"
+msgstr "Polygonwerkzeug hinzufügen"
+
+msgid "Edit points tool"
+msgstr "Punktbearbeitungswerkzeug"
+
+msgid "Delete points tool"
+msgstr "Punktbearbeitungswerkzeug löschen"
+
+msgid "Reset to default tile shape"
+msgstr "Auf Standardkachelform zurücksetzen"
+
msgid "Rotate Right"
msgstr "Nach rechts rotieren"
@@ -6850,18 +10082,249 @@ msgstr "Horizontal spiegeln"
msgid "Flip Vertically"
msgstr "Vertikal spiegeln"
+msgid "Snap to half-pixel"
+msgstr "Auf Halbpixel einrasten"
+
+msgid "Painting:"
+msgstr "Anmalend:"
+
+msgid "No terrains"
+msgstr "Keine Gelände"
+
+msgid "No terrain"
+msgstr "Kein Gelände"
+
+msgid "No Texture Atlas Source (ID: %d)"
+msgstr "Keine Texturatlas-Quelle (ID: %d)"
+
+msgid "Scene Collection Source (ID: %d)"
+msgstr "Quelle der Szenensammlung (ID: %d)"
+
+msgid "Shift+Ctrl: Draw rectangle."
+msgstr "Umsch+Strg: Rechteck zeichnen."
+
+msgid "Alternatively hold Ctrl with other tools to pick tile."
+msgstr "Alternativ Strg mit anderen Werkzeugen halten um Kachel auszuwählen."
+
+msgid "Alternatively use RMB to erase tiles."
+msgstr "Alternativ RMT verwenden um Kacheln zu löschen."
+
+msgid "Contiguous"
+msgstr "Fortlaufend"
+
+msgid "Place Random Tile"
+msgstr "Zufällige Kachel platzieren"
+
+msgid "Scattering:"
+msgstr "Streuung:"
+
msgid "Tiles"
msgstr "Kacheln"
+msgid "Sort sources"
+msgstr "Quellen sortieren"
+
+msgid "Sort by ID (Ascending)"
+msgstr "Nach ID sortieren (aufsteigend)"
+
+msgid "Sort by ID (Descending)"
+msgstr "Nach ID sortieren (absteigend)"
+
+msgid "Invalid source selected."
+msgstr "Ungültige Quelle ausgewählt."
+
+msgid "Paint terrain"
+msgstr "Bemale Gelände"
+
+msgid "Matches Corners Only"
+msgstr "stimmt nur mit Ecken überein"
+
+msgid "Matches Sides Only"
+msgstr "stimmt nur mit Seiten überein"
+
+msgid "Replace Tiles with Proxies"
+msgstr "Kacheln mit Stellvertretern ersetzen"
+
+msgid "No Layers"
+msgstr "Keine Ebenen"
+
+msgid "Toggle grid visibility."
+msgstr "Sichtbarkeit des Gitters umschalten."
+
+msgid "Automatically Replace Tiles with Proxies"
+msgstr "Automatisch Kacheln mit Stellvertretern ersetzen"
+
+msgid "The edited TileMap node has no TileSet resource."
+msgstr "Das bearbeitete TileMap-Node hat keine TileSet-Ressource."
+
+msgid "Remove Tile Proxies"
+msgstr "Kachel-Stellvertreter entfernen"
+
+msgid "Delete All Tile Proxies"
+msgstr "Alle Kachel-Vertreter löschen"
+
+msgid "From Source"
+msgstr "Von einer Quelle"
+
+msgid "From Coords"
+msgstr "Von Koordinaten"
+
+msgid "From Alternative"
+msgstr "Von einer Alternative"
+
+msgid "To Source"
+msgstr "Zu einer Quelle"
+
+msgid "To Coords"
+msgstr "Zu Koordinaten"
+
+msgid "To Alternative"
+msgstr "Zu einer Alternative"
+
+msgid "Global actions:"
+msgstr "Globale Aktionen:"
+
msgid "Atlas"
msgstr "Atlas"
+msgid "Base Tile"
+msgstr "Basiskachel"
+
+msgid "Alternative Tile"
+msgstr "Alternative Kachel"
+
+msgid ""
+"Selected tile:\n"
+"Source: %d\n"
+"Atlas coordinates: %s\n"
+"Alternative: %d"
+msgstr ""
+"Ausgewählte Kachel:\n"
+"Quelle: %d\n"
+"Altaskoordinaten: %s\n"
+"Alternative: %d"
+
+msgid "Select a property editor"
+msgstr "Eigenschafts-Editor auswählen"
+
+msgid "Create tiles"
+msgstr "Kacheln erstellen"
+
+msgid "Create a tile"
+msgstr "Eine Kachel erstellen"
+
+msgid "Remove tiles"
+msgstr "Kacheln entfernen"
+
+msgid "Move a tile"
+msgstr "Kachel verschieben"
+
+msgid "Select tiles"
+msgstr "Kacheln auswählen"
+
+msgid "Resize a tile"
+msgstr "Kachel in der Größe ändern"
+
+msgid "Remove tile"
+msgstr "Kachel entfernen"
+
+msgid "Create tile alternatives"
+msgstr "Kachelalternativen erstellen"
+
+msgid "Create tiles in non-transparent texture regions"
+msgstr "Kacheln in undurchsichtigen Texturbereichen erstellen"
+
+msgid "Remove tiles in fully transparent texture regions"
+msgstr "Kacheln in komplett durchsichtigen Texturbereichen entfernen"
+
+msgid "Select tiles."
+msgstr "Kacheln auswählen."
+
+msgid "No tiles selected."
+msgstr "Keine Kacheln ausgewählt."
+
+msgid "Paint Properties:"
+msgstr "Maleigenschaften:"
+
+msgid "Create Tiles in Non-Transparent Texture Regions"
+msgstr "Kacheln in undurchsichtigen Texturbereichen erstellen"
+
+msgid "Remove Tiles in Fully Transparent Texture Regions"
+msgstr "Kacheln in komplett durchsichtigen Texturbereichen entfernen"
+
+msgid "Create an Alternative Tile"
+msgstr "Kachelalternative erstellen"
+
+msgid "Create a Tile"
+msgstr "Kachel erstellen"
+
+msgid "Auto Create Tiles in Non-Transparent Texture Regions?"
+msgstr "Automatisch Kacheln in undurchsichtigen Texturbereichen erstellen?"
+
+msgid ""
+"The atlas's texture was modified.\n"
+"Would you like to automatically create tiles in the atlas?"
+msgstr ""
+"Die Textur des Atlas' wurde verändert.\n"
+"Sollen automatisch Kacheln im Atlas erstellt werden?"
+
msgid "Yes"
msgstr "Ja"
+msgid "No"
+msgstr "Nein"
+
+msgid "Add a new atlas source"
+msgstr "Eine neue Atlasquelle hinzufügen"
+
+msgid "Remove source"
+msgstr "Quelle entfernen"
+
+msgid "Add atlas source"
+msgstr "Atlasquelle hinzufügen"
+
+msgid "Sort Sources"
+msgstr "Sortiere Quellen"
+
+msgid "Scenes Collection"
+msgstr "Szenensammlung"
+
+msgid "Manage Tile Proxies"
+msgstr "Kachel-Stellvertreter verwalten"
+
+msgid "No TileSet source selected. Select or create a TileSet source."
+msgstr ""
+"Keine TileSet-Quelle ausgewählt. Bitte eine TileSet-Quelle auswählen oder "
+"erstellen."
+
+msgid "Add new patterns in the TileMap editing mode."
+msgstr "Neue Muster im TileMap-Bearbeitungsmodus hinzufügen."
+
+msgid "Add a Scene Tile"
+msgstr "Szenenkachel hinzufügen"
+
+msgid "Remove a Scene Tile"
+msgstr "Szenenkachel entfernen"
+
+msgid "Scenes collection properties:"
+msgstr "Eigenschaften der Szenensammlung:"
+
+msgid "Tile properties:"
+msgstr "Kacheleigenschaften:"
+
msgid "TileSet"
msgstr "Kachelsatz"
+msgid "TileMap"
+msgstr "TileMap"
+
+msgid ""
+"No VCS plugins are available in the project. Install a VCS plugin to use VCS "
+"integration features."
+msgstr ""
+"Kein VCS-Plugin im Projekt verfügbar. Um die VCS-Integration nutzen zu "
+"können muss eins installiert werden."
+
msgid "Error"
msgstr "Fehler"
@@ -6874,6 +10337,12 @@ msgstr ""
msgid "Commit"
msgstr "Speicherpunkt"
+msgid "Open in editor"
+msgstr "Im Editor öffnen"
+
+msgid "Discard changes"
+msgstr "Alle Änderungen verwerfen"
+
msgid "Staged Changes"
msgstr "Vorgemerkte Änderungen"
@@ -6895,9 +10364,24 @@ msgstr "Soll Zweig %s wirklich entfernt werden?"
msgid "Do you want to remove the %s remote?"
msgstr "Soll die Remote %s wirklich entfernt werden?"
+msgid "Create VCS metadata files for:"
+msgstr "Dateien mit VCS Metadaten erstellen für:"
+
+msgid "Existing VCS metadata files will be overwritten."
+msgstr "Bestehende Dateien mit VCS Metadaten werden überschrieben."
+
+msgid "Local Settings"
+msgstr "Lokale Einstellungen"
+
msgid "Apply"
msgstr "Anwenden"
+msgid "VCS Provider"
+msgstr "VCS Anbieter"
+
+msgid "Connect to VCS"
+msgstr "Mit VCS verbinden"
+
msgid "Remote Login"
msgstr "Remote-Logininformationen"
@@ -6928,6 +10412,14 @@ msgstr "Neue Veränderungen beachten"
msgid "Discard all changes"
msgstr "Alle Änderungen verwerfen"
+msgid "This operation is IRREVERSIBLE. Your changes will be deleted FOREVER."
+msgstr ""
+"Diese Operation ist NICHT UMKEHRBAR. Diese Änderungen werden FÜR IMMER "
+"verloren sein."
+
+msgid "Permanentally delete my changes"
+msgstr "Diese Änderungen dauerhaft löschen"
+
msgid "Stage all changes"
msgstr "Alle Änderungen vormerken"
@@ -7000,6 +10492,11 @@ msgstr "Dateitypänderung"
msgid "Unmerged"
msgstr "Nicht zusammengeführt"
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+"Dateiunterschiede ansehen, bevor sie in die aktuelle Version übernommen "
+"werden"
+
msgid "View:"
msgstr "Ansicht:"
@@ -7039,12 +10536,33 @@ msgstr "Eingang hinzufügen"
msgid "Add Output"
msgstr "Ausgang hinzufügen"
+msgid "Float"
+msgstr "Float"
+
+msgid "Int"
+msgstr "Int"
+
+msgid "UInt"
+msgstr "UInt"
+
+msgid "Vector2"
+msgstr "Vektor2"
+
+msgid "Vector3"
+msgstr "Vektor3"
+
+msgid "Vector4"
+msgstr "Vektor4"
+
msgid "Boolean"
msgstr "Boolean"
msgid "Sampler"
msgstr "Abtaster"
+msgid "[default]"
+msgstr "[Standard]"
+
msgid "Add Input Port"
msgstr "Eingangsschnittstelle hinzufügen"
@@ -7057,18 +10575,93 @@ msgstr "Eingangsschnittstelle entfernen"
msgid "Remove Output Port"
msgstr "Ausgangsschnittstelle entfernen"
+msgid "Set VisualShader Expression"
+msgstr "VisualShader-Ausdruck festlegen"
+
+msgid "Resize VisualShader Node"
+msgstr "VisualShader-Nodegröße anpassen"
+
+msgid "Set Comment Node Title"
+msgstr "Titel des Kommentar-Nodes festlegen"
+
+msgid "Set Comment Node Description"
+msgstr "Beschreibung des Kommentarnodes festlegen"
+
+msgid "Set Parameter Name"
+msgstr "Parametername festlegen"
+
msgid "Set Input Default Port"
msgstr "Eingabestandardport festlegen"
msgid "Add Node to Visual Shader"
msgstr "Visual Shader-Node hinzufügen"
+msgid "Add Varying to Visual Shader: %s"
+msgstr "Varying zu Visual Shader hinzufügen: %s"
+
+msgid "Remove Varying from Visual Shader: %s"
+msgstr "Varying vom Visual Shader entfernen: %s"
+
msgid "Node(s) Moved"
msgstr "Node(s) verschoben"
+msgid "Convert Constant Node(s) To Parameter(s)"
+msgstr "Konstanten-Node(s) in Parameter umwandlen"
+
+msgid "Convert Parameter Node(s) To Constant(s)"
+msgstr "Parameter-Node(s) in Konstante(n) umwandeln"
+
+msgid "Delete VisualShader Node"
+msgstr "VisualShader-Node löschen"
+
+msgid "Delete VisualShader Node(s)"
+msgstr "VisualShader-Node(s) löschen"
+
+msgid "Float Constants"
+msgstr "Float Konstanten"
+
+msgid "Convert Constant(s) to Parameter(s)"
+msgstr "Konstante(n) in Parameter umwandeln"
+
+msgid "Convert Parameter(s) to Constant(s)"
+msgstr "Parameter in Konstante(n) umwandlen"
+
+msgid "Set Comment Title"
+msgstr "Kommentartitel festlegen"
+
+msgid "Set Comment Description"
+msgstr "Kommentarbeschreibung festlegen"
+
+msgid "Duplicate VisualShader Node(s)"
+msgstr "VisualShader-Node(s) duplizieren"
+
+msgid "Paste VisualShader Node(s)"
+msgstr "VisualShader-Node(s) einfügen"
+
+msgid "Cut VisualShader Node(s)"
+msgstr "VisualShader-Node(s) ausschneiden"
+
msgid "Visual Shader Input Type Changed"
msgstr "Visual-Shader-Eingabetyp geändert"
+msgid "ParameterRef Name Changed"
+msgstr "ParameterRef-Name geändert"
+
+msgid "Varying Name Changed"
+msgstr "Varying-Name geändert"
+
+msgid "Set Constant: %s"
+msgstr "Konstante festlegen: %s"
+
+msgid "Invalid name for varying."
+msgstr "Ungültiger Name für Varying."
+
+msgid "Varying with that name is already exist."
+msgstr "Eine Varying mit dem Namen existiert bereits."
+
+msgid "Add Node(s) to Visual Shader"
+msgstr "Node(s) zum Visual Shader hinzufügen"
+
msgid "Vertex"
msgstr "Vertex"
@@ -7081,18 +10674,45 @@ msgstr "Licht"
msgid "Process"
msgstr "Verarbeiten"
+msgid "Collide"
+msgstr "Kollision"
+
msgid "Sky"
msgstr "Himmel"
msgid "Fog"
msgstr "Nebel"
+msgid "Manage Varyings"
+msgstr "Varyings verwalten"
+
+msgid "Add Varying"
+msgstr "Varying hinzufügen"
+
+msgid "Remove Varying"
+msgstr "Varying entfernen"
+
+msgid "Show generated shader code."
+msgstr "Resultierenden Shader-Code zeigen."
+
+msgid "Generated Shader Code"
+msgstr "Erzeugter Shader-Code"
+
msgid "Add Node"
msgstr "Node hinzufügen"
+msgid "Clear Copy Buffer"
+msgstr "Kopierpuffer leeren"
+
msgid "Create Shader Node"
msgstr "Shader-Node erzeugen"
+msgid "Create Shader Varying"
+msgstr "Shader-Varying erzeugen"
+
+msgid "Delete Shader Varying"
+msgstr "Shader-Varying löschen"
+
msgid "Color function."
msgstr "Farbfunktion."
@@ -7141,6 +10761,9 @@ msgstr "Weichlicht-Operator."
msgid "Color constant."
msgstr "Farbkonstante."
+msgid "Color parameter."
+msgstr "Farbparameter."
+
msgid "Returns the boolean result of the %s comparison between two parameters."
msgstr "Gibt den Wahrheitswert des %s-Vergleiches der beiden Parameter zurück."
@@ -7183,6 +10806,47 @@ msgstr "Kleiner gleich (<=)"
msgid "Not Equal (!=)"
msgstr "Ungleich (!=)"
+msgid ""
+"Returns an associated 3D vector if the provided boolean value is true or "
+"false."
+msgstr ""
+"Gibt den jeweiligen 3D-Vektor zurück je nach dem ob der übergebene Wert wahr "
+"oder falsch ist."
+
+msgid ""
+"Returns an associated 2D vector if the provided boolean value is true or "
+"false."
+msgstr ""
+"Gibt jeweiligen 2D-Vektor zurück je nach dem ob der übergebene Wert wahr "
+"oder falsch ist."
+
+msgid ""
+"Returns an associated boolean if the provided boolean value is true or false."
+msgstr ""
+"Gibt den jeweiligen Boolean zurück je nach dem ob der übergebene Wert wahr "
+"oder falsch ist."
+
+msgid ""
+"Returns an associated floating-point scalar if the provided boolean value is "
+"true or false."
+msgstr ""
+"Gibt den jeweiligen Float-Skalar zurück je nach dem ob der übergebene Wert "
+"wahr oder falsch ist."
+
+msgid ""
+"Returns an associated integer scalar if the provided boolean value is true "
+"or false."
+msgstr ""
+"Gibt den jeweiligen Ganzzahl-Skalar zurück je nach dem ob der übergebene "
+"Wert wahr oder falsch ist."
+
+msgid ""
+"Returns an associated unsigned integer scalar if the provided boolean value "
+"is true or false."
+msgstr ""
+"Gibt den jeweiligen vorzeichenlosen Ganzzahl-Skalar zurück je nach dem ob "
+"der übergebene Wert wahr oder falsch ist."
+
msgid "Returns the boolean result of the comparison between two parameters."
msgstr "Gibt den Wahrheitswert des Vergleiches zweier Parameter zurück."
@@ -7196,6 +10860,9 @@ msgstr ""
msgid "Boolean constant."
msgstr "Boolean-Konstante."
+msgid "Boolean parameter."
+msgstr "Boolean-Parameter."
+
msgid "'%s' input parameter for all shader modes."
msgstr "‚%s‘-Eingabeparameter für alle Shadermodi."
@@ -7211,12 +10878,48 @@ msgstr "‚%s‘-Eingabeparameter für Fragment- und Light-Shadermodus."
msgid "'%s' input parameter for fragment shader mode."
msgstr "‚%s‘-Eingabeparameter für Fragment-Shadermodus."
+msgid "'%s' input parameter for sky shader mode."
+msgstr "‚%s‘-Eingabeparameter für den Himmel-Shadermodus."
+
+msgid "'%s' input parameter for fog shader mode."
+msgstr "‚%s‘-Eingabeparameter für Nebel-Shadermodus."
+
msgid "'%s' input parameter for light shader mode."
msgstr "‚%s‘-Eingabeparameter für Light-Shadermodus."
msgid "'%s' input parameter for vertex shader mode."
msgstr "‚%s‘-Eingabeparameter für Vertex-Shadermodus."
+msgid "'%s' input parameter for start shader mode."
+msgstr "‚%s‘-Eingabeparameter für Start-Shadermodus."
+
+msgid "'%s' input parameter for process shader mode."
+msgstr "‚%s‘-Eingabeparameter für Prozess-Shadermodus."
+
+msgid "'%s' input parameter for start and process shader modes."
+msgstr "‚%s‘-Eingabeparameter für Start- und Prozess-Shadermodus."
+
+msgid "'%s' input parameter for process and collide shader modes."
+msgstr "‚%s‘-Eingabeparameter für Prozess- und Kollision-Shadermodus."
+
+msgid "Float function."
+msgstr "Float-Funktion."
+
+msgid "Float operator."
+msgstr "Float-Operator."
+
+msgid "Integer function."
+msgstr "Ganzzahlfunktion."
+
+msgid "Integer operator."
+msgstr "Ganzzahloperator."
+
+msgid "Unsigned integer function."
+msgstr "Vorzeichenlose Ganzzahlfunktion."
+
+msgid "Unsigned integer operator."
+msgstr "Vorzeichenloser Ganzzahloperator."
+
msgid "Returns the absolute value of the parameter."
msgstr "Gibt den absoluten Betrag des Parameters zurück."
@@ -7241,6 +10944,10 @@ msgstr "Gibt den Arkuskosinus2 der Parameter zurück."
msgid "Returns the inverse hyperbolic tangent of the parameter."
msgstr "Gibt den inversen hyperbolischen Tangens des Parameters zurück."
+msgid "Returns the result of bitwise NOT (~a) operation on the integer."
+msgstr ""
+"Gibt das Ergebnis der bitweisen NICHT (~a) Operation für die Ganzzahl zurück."
+
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
msgstr "Gibt die nächste Ganzzahl größer gleich dem Parameters zurück."
@@ -7376,12 +11083,98 @@ msgstr "Gibt den hyperbolischen Tangens des Parameters zurück."
msgid "Finds the truncated value of the parameter."
msgstr "Gibt den abgeschnittenen Wert des Parameters zurück."
+msgid "Sums two integer scalars."
+msgstr "Summiert zwei Ganzzahl-Skalare."
+
+msgid "Returns the result of bitwise AND (a & b) operation for two integers."
+msgstr ""
+"Gibt das Ergebnis der bitweisen UND (a & b) Operation für zwei Ganzzahlen "
+"zurück."
+
+msgid "Returns the result of bitwise OR (a | b) operation for two integers."
+msgstr ""
+"Gibt das Ergebnis der bitweisen ODER (a | b) Operation für zwei Ganzzahlen "
+"zurück."
+
+msgid "Divides two floating-point scalars."
+msgstr "Teilt zwei Gleitkomma-Skalare."
+
+msgid "Divides two integer scalars."
+msgstr "Teilt zwei Ganzzahl-Skalare."
+
+msgid "Multiplies two floating-point scalars."
+msgstr "Multipliziert zwei Gleitkomma-Skalare."
+
+msgid "Multiplies two integer scalars."
+msgstr "Multipliziert zwei Ganzzahl-Skalare."
+
+msgid "Multiplies two unsigned integer scalars."
+msgstr "Multipliziert zwei vorzeichenlose Ganzzahl-Skalare."
+
+msgid "Returns the remainder of the two floating-point scalars."
+msgstr "Gibt den Rest der Division zweier Gleitkomma-Skalare zurück."
+
+msgid "Returns the remainder of the two integer scalars."
+msgstr "Gibt den Rest der Division zweier Ganzzahl-Skalare zurück."
+
+msgid "Returns the remainder of the two unsigned integer scalars."
+msgstr ""
+"Gibt den Rest der Division zweier vorzeichenloser Ganzzahl-Skalare zurück."
+
+msgid "Subtracts two floating-point scalars."
+msgstr "Subtrahiert einen Gleitkomma-Skalar von einen anderem."
+
+msgid "Subtracts two integer scalars."
+msgstr "Subtrahiert einen Ganzzahl-Skalar von einen anderem."
+
+msgid "Subtracts two unsigned integer scalars."
+msgstr "Subtrahiert einen vorzeichenlosen Ganzzahl-Skalar von einen anderem."
+
+msgid "Scalar floating-point constant."
+msgstr "Skalare Gleitkommakonstante."
+
+msgid "Scalar integer constant."
+msgstr "Skalare Ganzzahlkonstante."
+
+msgid "Scalar unsigned integer constant."
+msgstr "Skalare vorzeichenlose Ganzzahlkonstante."
+
+msgid "Scalar integer parameter."
+msgstr "Skalarer Ganzzahlparameter."
+
+msgid "Converts screen UV to a SDF."
+msgstr "Konvertiert Bildschirm-UV zu SDF."
+
+msgid "Performs a SDF texture lookup."
+msgstr "Führt ein Nachschlagen in der SDF-Textur durch."
+
+msgid "Performs a SDF normal texture lookup."
+msgstr "Führt ein Nachschlagen in der SDF-Normalentextur durch."
+
msgid "Perform the cubic texture lookup."
-msgstr "Kubisches Texturfinden ausführen."
+msgstr "Führt ein Nachschlagen in der kubischen Textur durch."
+
+msgid "Perform the curve texture lookup."
+msgstr "Führt ein Nachschlagen in der Kurventextur durch."
+
+msgid "Perform the three components curve texture lookup."
+msgstr "Führt ein Drei-Komponenten-Nachschlagen in der kubischen Textur durch."
+
+msgid "Perform the 2D texture lookup."
+msgstr "Führt ein Nachschlagen in der 2D-Textur durch."
+
+msgid "Perform the 2D-array texture lookup."
+msgstr "Führt ein Nachschlagen in der 2D-Array-Textur durch."
+
+msgid "Perform the 3D texture lookup."
+msgstr "Führt ein Nachschlagen in der 3D-Textur durch."
msgid "Transform function."
msgstr "Transformierungsfunktion."
+msgid "Transform operator."
+msgstr "Transformierungsoperator."
+
msgid ""
"Calculate the outer product of a pair of vectors.\n"
"\n"
@@ -7414,18 +11207,57 @@ msgstr "Invertiert ein Transform."
msgid "Calculates the transpose of a transform."
msgstr "Transponiert ein Transform."
+msgid "Sums two transforms."
+msgstr "Addiert zwei Transform."
+
+msgid "Divides two transforms."
+msgstr "Teilt ein Transform durch ein anderes."
+
+msgid "Multiplies two transforms."
+msgstr "Multipliziert zwei Transform."
+
+msgid "Subtracts two transforms."
+msgstr "Subtrahiert ein Transform von einem anderen."
+
msgid "Multiplies vector by transform."
msgstr "Multipliziert Vektor mit Transform."
msgid "Transform constant."
msgstr "Transformkonstante."
+msgid "Transform parameter."
+msgstr "Transform-Parameter."
+
msgid "Vector function."
msgstr "Vektorfunktion."
msgid "Vector operator."
msgstr "Vektoroperator."
+msgid "Composes vector from scalars."
+msgstr "Formt Vektor aus Skalaren."
+
+msgid "Decomposes vector to scalars."
+msgstr "Teilt Vektor in Skalare auf."
+
+msgid "Composes 2D vector from two scalars."
+msgstr "Formt 2D-Vektor aus zwei Skalaren."
+
+msgid "Decomposes 2D vector to two scalars."
+msgstr "Teilt 2D-Vector in zwei Skalare auf."
+
+msgid "Composes 3D vector from three scalars."
+msgstr "Formt 3D-Vektor aus drei Skalaren."
+
+msgid "Decomposes 3D vector to three scalars."
+msgstr "Teilt 3D-Vector in drei Skalare auf."
+
+msgid "Composes 4D vector from four scalars."
+msgstr "Formt 4D-Vektor aus vier Skalaren."
+
+msgid "Decomposes 4D vector to four scalars."
+msgstr "Teilt 4D-Vektor in vier Skalare auf."
+
msgid "Calculates the cross product of two vectors."
msgstr "Berechnet das Kreuzprodukt zweier Vektoren."
@@ -7546,6 +11378,69 @@ msgstr ""
"(nur für Fragment-/Light-Modus) (Vektor) Summe der absoluten Ableitungen in "
"‚x‘- und ‚y‘-Richtung."
+msgid "Adds 2D vector to 2D vector."
+msgstr "Addiert 2D-Vektor mit 2D-Vektor."
+
+msgid "Adds 3D vector to 3D vector."
+msgstr "Addiert 3D-Vektor mit 3D-Vektor."
+
+msgid "Adds 4D vector to 4D vector."
+msgstr "Addiert 4D-Vektor mit 4D-Vektor."
+
+msgid "Divides 2D vector by 2D vector."
+msgstr "Teilt 2D-Vektor durch 2D-Vektor."
+
+msgid "Divides 3D vector by 3D vector."
+msgstr "Teilt 3D-Vektor durch 3D-Vektor."
+
+msgid "Divides 4D vector by 4D vector."
+msgstr "Teilt 4D-Vektor durch 4D-Vektor."
+
+msgid "Multiplies 2D vector by 2D vector."
+msgstr "Multipliziert 2D-Vektor mit 2D-Vektor."
+
+msgid "Multiplies 3D vector by 3D vector."
+msgstr "Multipliziert 3D-Vektor mit 3D-Vektor."
+
+msgid "Multiplies 4D vector by 4D vector."
+msgstr "Multipliziert 4D-Vektor mit 4D-Vektor."
+
+msgid "Returns the remainder of the two 2D vectors."
+msgstr "Gibt den Rest der Division zweier 2D-Vektoren zurück."
+
+msgid "Returns the remainder of the two 3D vectors."
+msgstr "Gibt den Rest der Division zweier 3D-Vektoren zurück."
+
+msgid "Returns the remainder of the two 4D vectors."
+msgstr "Gibt den Rest der Division zweier 4D-Vektoren zurück."
+
+msgid "Subtracts 2D vector from 2D vector."
+msgstr "Subtrahiert 2D-Vektor von 2D-Vektor."
+
+msgid "Subtracts 3D vector from 3D vector."
+msgstr "Subtrahiert 3D-Vektor von 3D-Vektor."
+
+msgid "Subtracts 4D vector from 4D vector."
+msgstr "Subtrahiert 4D-Vektor von 4D-Vektor."
+
+msgid "2D vector constant."
+msgstr "2D-Vektorkonstante."
+
+msgid "2D vector parameter."
+msgstr "2D-Vektorparameter."
+
+msgid "3D vector constant."
+msgstr "3D-Vektorkonstante."
+
+msgid "3D vector parameter."
+msgstr "3D-Vektorparameter."
+
+msgid "4D vector constant."
+msgstr "4D-Vektorkonstante."
+
+msgid "4D vector parameter."
+msgstr "4D-Vektorparameter."
+
msgid ""
"Custom Godot Shader Language expression, with custom amount of input and "
"output ports. This is a direct injection of code into the vertex/fragment/"
@@ -7556,12 +11451,39 @@ msgstr ""
"Fragment- oder Light-Funktion kopiert, Funktionsdeklarationen können hier "
"nicht verwendet werden."
+msgid ""
+"Custom Godot Shader Language expression, which is placed on top of the "
+"resulted shader. You can place various function definitions inside and call "
+"it later in the Expressions. You can also declare varyings, parameters and "
+"constants."
+msgstr ""
+"Selbst-erstellter Ausdruck in der Godot-Shader-Sprache, welcher auf dem "
+"resultierten Shader platziert wird. Hier können beliebige "
+"Funktionsdefinitionen eingefügt werden, die dann in späteren Ausdrücken "
+"verwendet werden können. Das gleiche gilt für Varyings, Parameter und "
+"Konstanten."
+
+msgid "A reference to an existing parameter."
+msgstr "Eine Referenz auf einen existierenden Parameter."
+
+msgid "Get varying parameter."
+msgstr "Varying-Parameter abrufen."
+
+msgid "Set varying parameter."
+msgstr "Varying-Parameter festlegen."
+
msgid "Edit Visual Property:"
msgstr "Visuelle Eigenschaft bearbeiten:"
msgid "Visual Shader Mode Changed"
msgstr "Visual-Shader-Modus geändert"
+msgid "Bake VoxelGI"
+msgstr "VoxelGI backen"
+
+msgid "Select path for VoxelGI Data File"
+msgstr "Pfad für die VoxelGI-Datendatei auswählen"
+
msgid "The path specified doesn't exist."
msgstr "Der angegebene Pfad existiert nicht."
@@ -7612,8 +11534,26 @@ msgstr ""
msgid "Couldn't save project at '%s' (error %d)."
msgstr "Projekt konnte nicht in ‚%s‘ gespeichert werden (Fehler %d)."
+msgid "Warning: This folder is not empty"
+msgstr "Achtung: Dieser Ordner ist nicht leer"
+
+msgid ""
+"You are about to create a Godot project in a non-empty folder.\n"
+"The entire contents of this folder will be imported as project resources!\n"
+"\n"
+"Are you sure you wish to continue?"
+msgstr ""
+"Es wurde ausgewählt ein neues Godot-Projekt in einem nicht-leeren Ordner zu "
+"erstellen.\n"
+"Demnach werden alle Inhalte des Ordners als Projekt-Ressourcen importiert!\n"
+"\n"
+"Soll entsprechend fortgefahren werden?"
+
msgid "Couldn't create project.godot in project path."
-msgstr "Konnte project.godot im Projektpfad nicht erzeugen."
+msgstr "project.godot konnte nicht im Projektpfad erzeugt werden."
+
+msgid "Couldn't create icon.svg in project path."
+msgstr "icon.svg konnte im Projektpfad nicht erzeugt werden."
msgid "Error opening package file, not in ZIP format."
msgstr "Fehler beim Öffnen der Paketdatei, kein ZIP-Format."
@@ -7657,6 +11597,17 @@ msgstr "Projektinstallationspfad:"
msgid "Renderer:"
msgstr "Renderer:"
+msgid "The renderer can be changed later, but scenes may need to be adjusted."
+msgstr ""
+"Der Renderer kann auch später noch geändert werden, allerdings müssen dann "
+"möglicherweise manche Szenen angepasst werden."
+
+msgid "Version Control Metadata:"
+msgstr "Metadaten der Versionsverwaltung:"
+
+msgid "Git"
+msgstr "Git"
+
msgid "Missing Project"
msgstr "Fehlendes Projekt"
@@ -7676,6 +11627,160 @@ msgid "Can't open project at '%s'."
msgstr "Projekt in ‚%s‘ kann nicht geöffnet werden."
msgid ""
+"You requested to open %d projects in parallel. Do you confirm?\n"
+"Note that usual checks for engine version compatibility will be bypassed."
+msgstr ""
+"Anweisung eingegangen %d Projekte parallel zu öffnen. Bitte bestätigen.\n"
+"Bitte beachten dass die üblichen Engine-Versions-Kompatibilitätsprüfungen so "
+"umgangen werden."
+
+msgid ""
+"The selected project \"%s\" does not specify its supported Godot version in "
+"its configuration file (\"project.godot\").\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"If you proceed with opening it, it will be converted to Godot's current "
+"configuration file format.\n"
+"\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+"Das ausgewählte Projekt „%s“ hat in seiner Konfigurationsdatei („project."
+"godot“) nicht angegeben, welche Godot-Version es unterstützt.\n"
+"\n"
+"Projektpfad: %s\n"
+"\n"
+"Sollte das Öffnen fortgesetzt werden, wird die Datei in das "
+"Konfigurationsdateiformat der aktuellen Godot-Version umgewandelt.\n"
+"\n"
+"Achtung: Das Projekt kann nach der Konvertierung nicht mehr mit einer "
+"älteren Godot-Version geöffnet werden."
+
+msgid ""
+"The selected project \"%s\" was generated by Godot 3.x, and needs to be "
+"converted for Godot 4.x.\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"You have three options:\n"
+"- Convert only the configuration file (\"project.godot\"). Use this to open "
+"the project without attempting to convert its scenes, resources and "
+"scripts.\n"
+"- Convert the entire project including its scenes, resources and scripts "
+"(recommended if you are upgrading).\n"
+"- Do nothing and go back.\n"
+"\n"
+"Warning: If you select a conversion option, you won't be able to open the "
+"project with previous versions of the engine anymore."
+msgstr ""
+"Das ausgewählte Projekt „%s“ wurde mit Godot 3.x erstellt und muss zu Godot "
+"4.x konvertiert werden.\n"
+"\n"
+"Projektpfad: %s\n"
+"\n"
+"Es gibt drei Entscheidungsmöglichkeiten:\n"
+"- Lediglich die Konfigurationsdatei („project.godot“) konvertieren. Dies ist "
+"hilfreich um das Projekt lediglich zu öffnen, ohne Szenen, Ressourcen oder "
+"Skripte zu konvertieren\n"
+"- Das gesamte Projekt inklusive Szenen, Ressourcen und Skripten "
+"konvertieren. Das wird empfohlen wenn mit der neuen Godot-Version "
+"weitergearbeitet werden soll\n"
+"- Nicht tun und zurückkehren\n"
+"\n"
+"Achtung: Falls eine der Konvertierungsmöglichkeiten ausgewählt wird, kann "
+"das Projekt nicht mehr mit älteren Godot-Versionen geöffnet werden."
+
+msgid "Convert project.godot Only"
+msgstr "Nur project.godot konvertieren"
+
+msgid ""
+"The selected project \"%s\" was generated by an older engine version, and "
+"needs to be converted for this version.\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"Do you want to convert it?\n"
+"\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+"Das ausgewählte Projekt „%s“ ist mit einer älteren Godot-Version erstellt "
+"worden und muss für die aktuelle Version konvertiert werden.\n"
+"\n"
+"Projektpfad: %s\n"
+"\n"
+"Soll die Umwandlung vorgenommen werden?\n"
+"\n"
+"Achtung: Das Projekt kann nach der Umwandlung nicht mehr mit einer älteren "
+"Version geöffnet werden."
+
+msgid "Convert project.godot"
+msgstr "project.godot konvertieren"
+
+msgid ""
+"Can't open project \"%s\" at the following path:\n"
+"\n"
+"%s\n"
+"\n"
+"The project settings were created by a newer engine version, whose settings "
+"are not compatible with this version."
+msgstr ""
+"Projekt „%s“, aus folgendem Pfad, kann nicht geöffnet werden:\n"
+"\n"
+"%s\n"
+"\n"
+"Die Projekteinstellungen wurden mit einer neueren Godot-Version erstellt und "
+"sind nicht kompatibel mit der aktuell genutzten Version."
+
+msgid ""
+"Warning: This project uses double precision floats, but this version of\n"
+"Godot uses single precision floats. Opening this project may cause data "
+"loss.\n"
+"\n"
+msgstr ""
+"Achtung: Dieses Projekt verwendet doppeltgenaue Gleitkommazahlen, aber diese "
+"Version von Godot\n"
+"verwendet nur einfachgenaue Gleitkommazahlen. Öffnen des Projekts kann zu "
+"Datenverlust führen.\n"
+"\n"
+
+msgid ""
+"Warning: This project uses C#, but this build of Godot does not have\n"
+"the Mono module. If you proceed you will not be able to use any C# scripts.\n"
+"\n"
+msgstr ""
+"Achtung: Dieses Projekt verwendet C#, aber diese Version von Godot "
+"beinhaltet kein\n"
+"Mono-Modul. Beim Fortfahren können keine C#-Skripte ausgeführt werden.\n"
+"\n"
+
+msgid ""
+"Warning: This project was built in Godot %s.\n"
+"Opening will upgrade or downgrade the project to Godot %s.\n"
+"\n"
+msgstr ""
+"Achtung: Diese Projekt wurde mit Godot %s erstellt.\n"
+"Öffnen des Projekts wird es zu Godot %s auf- bzw abstufen.\n"
+"\n"
+
+msgid ""
+"Warning: This project uses the following features not supported by this "
+"build of Godot:\n"
+"\n"
+"%s\n"
+"\n"
+msgstr ""
+"Achtung: Dieses Projekt verwendet die folgenden Funktionen, welche von der "
+"gegenwärtigen Godot-Version nicht unterstützt werden:\n"
+"\n"
+"%s\n"
+"\n"
+
+msgid "Open anyway? Project will be modified."
+msgstr "Trotzdem öffnen? Das Projekt wird angepasst werden."
+
+msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
@@ -7728,6 +11833,9 @@ msgctxt "Application"
msgid "Project Manager"
msgstr "Projektverwaltung"
+msgid "Filter Projects"
+msgstr "Projekte filtern"
+
msgid ""
"This field filters projects by name and last path component.\n"
"To filter projects by name and full path, the query must contain at least "
@@ -7741,6 +11849,9 @@ msgstr ""
msgid "Loading, please wait..."
msgstr "Projekte werden geladen, bitte warten..."
+msgid "Last Edited"
+msgstr "Zuletzt bearbeitet"
+
msgid "New Project"
msgstr "Neues Projekt"
@@ -7788,6 +11899,9 @@ msgstr ""
"Sollen offizielle Beispielprojekte aus der Nutzerinhaltesammlung angezeigt "
"werden?"
+msgid "Add Project Setting"
+msgstr "Projekteinstellung hinzufügen"
+
msgid "Delete Item"
msgstr "Eintrag löschen"
@@ -7797,21 +11911,33 @@ msgstr "Füge Eingabeaktion hinzu"
msgid "Change Action deadzone"
msgstr "Nullschwelle der Aktion ändern"
+msgid "Change Input Action Event(s)"
+msgstr "Eingabeaktionsereignis(se) ändern"
+
msgid "Erase Input Action"
msgstr "Eingabeaktion löschen"
-msgid "Rename Input Action Event"
-msgstr "Eingabeaktionsereignis umbenennen"
+msgid "Update Input Action Order"
+msgstr "Reihenfolge der Eingabeaktionen aktualisieren"
msgid "Project Settings (project.godot)"
msgstr "Projekteinstellungen (project.godot)"
+msgid "Advanced Settings"
+msgstr "Erweiterte Einstellungen"
+
+msgid "Select a Setting or Type its Name"
+msgstr "Einstellung auswählen oder Namen eingeben"
+
msgid "Input Map"
msgstr "Eingabe-Zuordnung"
msgid "Localization"
msgstr "Lokalisierung"
+msgid "Shader Globals"
+msgstr "Globale Shader-Variablen"
+
msgid "Plugins"
msgstr "Erweiterungen"
@@ -7842,6 +11968,21 @@ msgstr "Erweiterte Einstellungen"
msgid "Substitute"
msgstr "Ersatz"
+msgid "Node name."
+msgstr "Node-Name."
+
+msgid "Node's parent name, if available."
+msgstr "Name des Eltern-Nodes, falls vorhanden."
+
+msgid "Node type."
+msgstr "Node-Typ."
+
+msgid "Current scene name."
+msgstr "Aktueller Szenenname."
+
+msgid "Root node name."
+msgstr "Name des Wurzel-Nodes."
+
msgid ""
"Sequential integer counter.\n"
"Compare counter options."
@@ -7856,9 +11997,15 @@ msgid "If set, the counter restarts for each group of child nodes."
msgstr ""
"Falls gesetzt, startet der Zähler für jede Gruppe aus Unterobjekten neu."
+msgid "Initial value for the counter."
+msgstr "Anfangswert für Zähler."
+
msgid "Step"
msgstr "Schritt"
+msgid "Amount by which counter is incremented for each node."
+msgstr "Wert um welchen der Zähler für jedes Node erhöht wird."
+
msgid "Padding"
msgstr "Versatz"
@@ -7902,12 +12049,39 @@ msgstr "Bei Zeichen %s"
msgid "Reparent Node"
msgstr "Node umhängen"
+msgid "Select new parent:"
+msgstr "Neues Elternteil auswählen:"
+
msgid "Keep Global Transform"
msgstr "Behalte globale Transformation"
msgid "Reparent"
msgstr "Umhängen"
+msgid "Pick Root Node Type"
+msgstr "Typ des Root-Nodes auswählen"
+
+msgid "Pick"
+msgstr "Auswählen"
+
+msgid "Scene name is valid."
+msgstr "Szenenname ist gültig."
+
+msgid "Scene name is empty."
+msgstr "Szenenname ist leer."
+
+msgid "File name invalid."
+msgstr "Dateiname ungültig."
+
+msgid "File already exists."
+msgstr "Datei existiert bereits."
+
+msgid "Invalid root node name."
+msgstr "Ungültiger Name des Wurzel-Nodes."
+
+msgid "Root Type:"
+msgstr "Wurzeltyp:"
+
msgid "2D Scene"
msgstr "2D-Szene"
@@ -7917,6 +12091,15 @@ msgstr "3D-Szene"
msgid "User Interface"
msgstr "Benutzerschnittstelle"
+msgid "Scene Name:"
+msgstr "Szenenname:"
+
+msgid "Root Name:"
+msgstr "Wurzelname:"
+
+msgid "Create New Scene"
+msgstr "Szene erstellen"
+
msgid "Error loading scene from %s"
msgstr "Fehler beim Laden der Szene von %s"
@@ -8173,6 +12356,16 @@ msgstr ""
"des Präfix ‚%s‘ im Node-Pfad, aufgerufen werden.\n"
"Zum deaktivieren, hier klicken."
+msgid "Node has one connection."
+msgid_plural "Node has {num} connections."
+msgstr[0] "Node hat eine Verbindung."
+msgstr[1] "Node hat {num} Verbindungen."
+
+msgid "Node is in this group:"
+msgid_plural "Node is in the following groups:"
+msgstr[0] "Node ist in dieser Gruppe:"
+msgstr[1] "Node ist in diesen Gruppen:"
+
msgid "Open Script:"
msgstr "Skript öffnen:"
@@ -8243,6 +12436,12 @@ msgstr "Skript öffnen / Ort wählen"
msgid "Open Script"
msgstr "Skript öffnen"
+msgid "Inherit %s"
+msgstr "Erbt von %s"
+
+msgid "Inherit"
+msgstr "Erbt von"
+
msgid "File exists, it will be reused."
msgstr "Datei existiert bereits, wird erneut verwendet."
@@ -8305,6 +12504,9 @@ msgstr "Ungültiger Basispfad."
msgid "Wrong extension chosen."
msgstr "Falsche Dateiendung ausgewählt."
+msgid "Mode:"
+msgstr "Modus:"
+
msgid "Change Cylinder Radius"
msgstr "Zylinderradius ändern"
@@ -8346,6 +12548,9 @@ msgstr "Ungültiges Instanz-Verzeichnisformat (ungültiges Skript in @path)"
msgid "Invalid instance dictionary (invalid subclasses)"
msgstr "Ungültiges Instanz-Verzeichnisformat (ungültige Unterklasse)"
+msgid "Path to Blender installation is valid."
+msgstr "Pfad zu Blender ist gültig."
+
msgid "Next Plane"
msgstr "Nächste Ebene"
@@ -8466,6 +12671,14 @@ msgstr "Größe"
msgid "Network Profiler"
msgstr "Netzwerk-Profiler"
+msgid "Not possible to add a new property to synchronize without a root."
+msgstr ""
+"Ohne eine Wurzel kann keine neue Eigenschaft zum Synchronisieren hinzugefügt "
+"werden."
+
+msgid "Delete Property?"
+msgstr "Eigenschaft löschen?"
+
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr ""
"Damit dieser Node funktionieren kann, muss eine NavigationMesh Ressource "
@@ -8516,6 +12729,9 @@ msgstr "Parse Geometrie…"
msgid "Done!"
msgstr "Abgeschlossen!"
+msgid "Error loading %s: %s."
+msgstr "Fehler beim Laden von %s: %s."
+
msgid "Pose"
msgstr "Stellung kopieren"
@@ -8683,6 +12899,13 @@ msgstr "Apksigner-Anwendung konnte nicht gestartet werden."
msgid "'apksigner' returned with error #%d"
msgstr "‚apksigner‘ gab Fehlercode #%d zurück"
+msgid ""
+"output: \n"
+"%s"
+msgstr ""
+"Ausgabe: \n"
+"%s"
+
msgid "Verifying %s..."
msgstr "Verifiziere %s…"
@@ -8814,6 +13037,9 @@ msgstr ""
msgid "Executable \"pck\" section not found."
msgstr "„pck“-Sektor von ausführbarer Datei nicht gefunden."
+msgid "Could not create temp directory:"
+msgstr "Temporäres Verzeichnis konnte nicht erstellt werden:"
+
msgid "Can't get filesystem access."
msgstr "Dateisystemzugriff fehlgeschlagen."
@@ -9300,6 +13526,13 @@ msgstr ""
"PathFollow2D funktioniert nur, wenn es als Unterobjekt eines Path2D-Nodes "
"gesetzt wird."
+msgid ""
+"A PhysicalBone2D only works with a Skeleton2D or another PhysicalBone2D as a "
+"parent node!"
+msgstr ""
+"Ein PhysicalBone2D kann nur zusammen mit einem Skeleton2D oder einem anderen "
+"PhysicalBone2D als Eltern-Objekt funktionieren!"
+
msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"Die Pfad-Eigenschaft muss auf ein gültiges Node2D-Node zeigen, um zu "
@@ -9319,6 +13552,36 @@ msgstr ""
"Dieser Knochen hat keine korrekte Ruhe-Pose. Diese kann am Skeleton2D-Node "
"festgelegt werden."
+msgid "An empty CollisionPolygon3D has no effect on collision."
+msgstr "Ein leeres CollisionPolygon3D hat keinen Effekt auf Kollisionen."
+
+msgid ""
+"CollisionShape3D only serves to provide a collision shape to a "
+"CollisionObject3D derived node.\n"
+"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. to give them a shape."
+msgstr ""
+"CollisionShape3D liefert nur eine Kollisionsform für einen von "
+"CollisionObject3D abgeleiteten Node. Es kann nur als Unterobjekt von Area3D, "
+"StaticBody3D, RigidBody3D, CharacterBody3D usw. eingehängt werden, um diesen "
+"eine Form zu geben."
+
+msgid ""
+"A shape must be provided for CollisionShape3D to function. Please create a "
+"shape resource for it."
+msgstr ""
+"Zum Funktionieren eines CollisionShape3D benötigt es eine zugeordnete Form. "
+"Zum Fortfahren ist eine Shape-Ressource dafür zu erzeugen."
+
+msgid ""
+"ConcavePolygonShape3D doesn't support RigidBody3D in another mode than "
+"static."
+msgstr "ConcavePolygonShape3D unterstützt RigidBody3D nur im Modus Statisch."
+
+msgid ""
+"WorldBoundaryShape3D doesn't support RigidBody3D in another mode than static."
+msgstr "WorldBoundaryShape3D unterstützt RigidBody3D nur im Modus Statisch."
+
msgid "Nothing is visible because no mesh has been assigned."
msgstr "Nichts ist sichtbar da kein Mesh zugewiesen wurden."
@@ -9327,6 +13590,109 @@ msgid ""
msgstr ""
"Nichts ist sichtbar da keine Meshe den Zeichendurchläufen zugewiesen wurden."
+msgid "Node A and Node B must be PhysicsBody3Ds"
+msgstr "Node A und Node B müssen PhysicsBody3D-Nodes sein"
+
+msgid "Node A must be a PhysicsBody3D"
+msgstr "Node A muss ein PhysicsBody3D-Node sein"
+
+msgid "Node B must be a PhysicsBody3D"
+msgstr "Node B muss ein PhysicsBody3D-Node sein"
+
+msgid "Joint is not connected to any PhysicsBody3Ds"
+msgstr "Gelenk ist nicht mit einem PhysicsBody3D-Node verbunden"
+
+msgid "Node A and Node B must be different PhysicsBody3Ds"
+msgstr "Node A und Node B müssen unterschiedliche PhysicsBody3D-Nodes sein"
+
+msgid "A SpotLight3D with an angle wider than 90 degrees cannot cast shadows."
+msgstr ""
+"Ein SpotLight3D mit einem Winkel von mehr als 90 Grad kann keine Schatten "
+"werfen."
+
+msgid "Finding meshes, lights and probes"
+msgstr "Am Suchen nach Meshes, Lichtern und Messungen"
+
+msgid "Preparing geometry %d/%d"
+msgstr "Am Vorbereiten der Geometrie %d/%d"
+
+msgid "Creating probes"
+msgstr "Erstelle Messungen"
+
+msgid "Preparing Lightmapper"
+msgstr "Am Vorbereiten der Beleuchtung"
+
+msgid "Preparing Environment"
+msgstr "Am Vorbereiten der Umgebung"
+
+msgid "Generating Probe Volumes"
+msgstr "Generiere Messungsvolumen"
+
+msgid "Generating Probe Acceleration Structures"
+msgstr "Generiere Messungs-Beschleunigungsstruktur"
+
+msgid ""
+"The NavigationAgent3D can be used only under a Node3D inheriting parent node."
+msgstr ""
+"NavigationAgent3D kann nur unter einem von Node3D erbenden übergeordneten "
+"Node genutzt werden."
+
+msgid ""
+"NavigationLink3D start position should be different than the end position to "
+"be useful."
+msgstr ""
+"Die Startposition von NavigationLink3D sollte sich von der Endposition "
+"unterscheiden, um einen Effekt zu haben."
+
+msgid ""
+"The NavigationObstacle3D only serves to provide collision avoidance to a "
+"Node3D inheriting parent object."
+msgstr ""
+"Der einzige Zweck eines NavigationObstacle3D ist es, Kollisionsvermeidung "
+"für ein von Node3D erbendes übergeordnetes Node bereitzustellen."
+
+msgid "PathFollow3D only works when set as a child of a Path3D node."
+msgstr ""
+"PathFollow3D funktioniert nur, wenn es als Unterobjekt eines Path3D-Nodes "
+"gesetzt wird."
+
+msgid ""
+"PathFollow3D's ROTATION_ORIENTED requires \"Up Vector\" to be enabled in its "
+"parent Path3D's Curve resource."
+msgstr ""
+"PathFollow3D mit aktiviertem ROTATION_ORIENTED erfordert die Aktivierung von "
+"„Up Vector“ in der Curve-Ressource des übergeordneten Pfades."
+
+msgid ""
+"Scale changes to RigidBody3D will be overridden by the physics engine when "
+"running.\n"
+"Please change the size in children collision shapes instead."
+msgstr ""
+"Größenänderungen an RigidBody3D werden von der Physikengine überschrieben "
+"wenn sie läuft.\n"
+"Die Größe der entsprechenden Kollisionsformen der Unterobjekte sollte "
+"stattdessen geändert werden."
+
+msgid ""
+"The \"Remote Path\" property must point to a valid Node3D or Node3D-derived "
+"node to work."
+msgstr ""
+"Die „Remote Path“-Eigenschaft muss auf ein gültiges Node3D oder ein von "
+"Node3D abgeleitetes Node verweisen."
+
+msgid ""
+"This node cannot interact with other objects unless a Shape3D is assigned."
+msgstr ""
+"Das Node kann nicht mit anderen Objekten interagieren, solange kein Shape3D "
+"zugewiesen wurde."
+
+msgid ""
+"ShapeCast3D does not support ConcavePolygonShape3Ds. Collisions will not be "
+"reported."
+msgstr ""
+"ShapeCast3D unterstützt keine ConcavePolygonShape3Ds. Es werden keine "
+"Kollisionen gemeldet."
+
msgid "This body will be ignored until you set a mesh."
msgstr "Diese Körper wird ignoriert werden bis ein Mesh zugewiesen wurde."
@@ -9337,12 +13703,68 @@ msgstr ""
"Eine SpriteFrames-Ressource muss in der „Frames“-Eigenschaft erzeugt oder "
"gesetzt werden, damit AnimatedSprite3D Einzelbilder anzeigen kann."
+msgid ""
+"VehicleWheel3D serves to provide a wheel system to a VehicleBody3D. Please "
+"use it as a child of a VehicleBody3D."
+msgstr ""
+"VehicleWheel3D ist verfügbar um mit VehicleBody3D ein Rädersystem zu "
+"implementieren. Es sollte ausschließlich als Unterobjekt von VehicleBody3D "
+"verwendet werden."
+
msgid "Plotting Meshes"
msgstr "Plotte Mesh"
msgid "Finishing Plot"
msgstr "Stelle Plot fertig"
+msgid "Generating Distance Field"
+msgstr "Generiere Distanzfeld"
+
+msgid ""
+"VoxelGIs are not supported by the OpenGL video driver.\n"
+"Use a LightmapGI instead."
+msgstr ""
+"VoxelGIs werden vom OpenGL-Videotreiber nicht unterstützt.\n"
+"LightmapGI kann stattdessen verwendet werden."
+
+msgid ""
+"To have any visible effect, WorldEnvironment requires its \"Environment\" "
+"property to contain an Environment, its \"Camera Attributes\" property to "
+"contain a CameraAttributes resource, or both."
+msgstr ""
+"WorldEnvironment erfordert entweder eine Environment-Ressource in seiner "
+"„Umgebung“-Eigenschaft oder eine CameraAttributes-Ressource in seiner "
+"„Kameraattribute“-Eigenschaft, oder beides, um zu funktionieren."
+
+msgid ""
+"Only one WorldEnvironment is allowed per scene (or set of instantiated "
+"scenes)."
+msgstr ""
+"Pro Szene (oder einem Satz von instantiierten Szenen) ist nur ein einziges "
+"WorldEnvironment erlaubt."
+
+msgid "XRCamera3D must have an XROrigin3D node as its parent."
+msgstr "XRCamera3D braucht ein XROrigin3D-Node als Überobjekt."
+
+msgid "XRController3D must have an XROrigin3D node as its parent."
+msgstr "XRController3D braucht ein XROrigin3D-Node als Überobjekt."
+
+msgid "No tracker name is set."
+msgstr "Es wurde kein Verfolgername festgelegt."
+
+msgid "No pose is set."
+msgstr "Es wurde keine Pose festgelegt."
+
+msgid "XROrigin3D requires an XRCamera3D child node."
+msgstr "XROrigin3D benötigt ein XRCamera3D-Unterobjekt."
+
+msgid ""
+"XR is not enabled in rendering project settings. Stereoscopic output is not "
+"supported unless this is enabled."
+msgstr ""
+"XR ist in den Projekteinstellungen nicht aktiviert. Stereoskopische Ausgabe "
+"wird daher nicht unterstützt."
+
msgid "On BlendTree node '%s', animation not found: '%s'"
msgstr "In BlendTree-Node ‚%s‘, Animation nicht gefunden: ‚%s‘"
@@ -9383,8 +13805,18 @@ msgstr ""
"LMT: Farbe anwenden\n"
"RMT: Voreinstellung entfernen"
-msgid "Pick a color from the editor window."
-msgstr "Eine Farbe innerhalb des Editorfensters auswählen."
+msgid ""
+"Color: #%s\n"
+"LMB: Apply color"
+msgstr ""
+"Farbe: #%s\n"
+"LMT: Farbe anwenden"
+
+msgid "Select a picker shape."
+msgstr "Auswahlform wählen."
+
+msgid "Select a picker mode."
+msgstr "Auswahlmodus wählen."
msgid "Switch between hexadecimal and code values."
msgstr "Wechselt zwischen Hexadezimal- und Zahlenwerten."
@@ -9414,8 +13846,8 @@ msgid ""
"Changing the Z index of a control only affects the drawing order, not the "
"input event handling order."
msgstr ""
-"Änderungen des Z-Index beeinflussen nur die Reihenfolge der Darstellung, "
-"nicht die Reihenfolge der Eingabeverarbeitung."
+"Ändern des Z-Index eines Controls beeinflusst nur die Priorität der "
+"Darstellung, nicht aber die Reihenfolge der Eingabeverarbeitung."
msgid "Theme Overrides"
msgstr "Themen-Überschreibungen"
@@ -9429,12 +13861,24 @@ msgstr "Bitte bestätigen..."
msgid "You don't have permission to access contents of this folder."
msgstr "Keine Berechtigung um auf den Inhalt des Ordners zuzugreifen."
-msgid "Must use a valid extension."
-msgstr "Eine gültige Datei-Endung muss verwendet werden."
+msgid "All Files"
+msgstr "Alle Dateien"
+
+msgid ""
+"Please be aware that GraphEdit and GraphNode will undergo extensive "
+"refactoring in a future 4.x version involving compatibility-breaking API "
+"changes."
+msgstr ""
+"Bitte beachten, dass GraphEdit und GraphNode starker Restrukturierung in "
+"einer zukünftigen 4.x Version unterzogen werden, was "
+"kompatibilitätsbrechende Änderungen der API mit sich bringen kann."
msgid "Enable grid minimap."
msgstr "Gitterübersichtskarte aktivieren."
+msgid "Arrange nodes."
+msgstr "Nodes anordnen."
+
msgid ""
"The current font does not support rendering one or more characters used in "
"this Label's text."
@@ -9442,6 +13886,15 @@ msgstr ""
"Die aktuelle Schriftart unterstützt mindestens ein Zeichen nicht, welches im "
"Text des Labels verwendet wird."
+msgid "Same as Layout Direction"
+msgstr "Wie Layout-Ausrichtung"
+
+msgid "Auto-Detect Direction"
+msgstr "Automatische Ausrichtungserkennung"
+
+msgid "Left-to-Right"
+msgstr "Links-nach-Rechts"
+
msgid "Right-to-Left"
msgstr "Rechts-nach-Links"
@@ -9451,6 +13904,36 @@ msgstr "Links-nach-Rechts Markierung (LRM)"
msgid "Right-to-Left Mark (RLM)"
msgstr "Rechts-nach-Links Markierung (RLM)"
+msgid "Start of Left-to-Right Embedding (LRE)"
+msgstr "Anfang von Links-nach-Rechts Einbettung (LRE)"
+
+msgid "Start of Right-to-Left Embedding (RLE)"
+msgstr "Anfang von Rechts-nach-Links Einbettung (RLE)"
+
+msgid "Start of Left-to-Right Override (LRO)"
+msgstr "Anfang von Links-nach-Rechts Überschrieb (LRO)"
+
+msgid "Start of Right-to-Left Override (RLO)"
+msgstr "Anfang von Rechts-nach-Links Überschrieb (RLO)"
+
+msgid "Arabic Letter Mark (ALM)"
+msgstr "Arabische Buchstaben-Markierung (ALM)"
+
+msgid "Left-to-Right Isolate (LRI)"
+msgstr "Links-nach-Rechts Isolierer (LRI)"
+
+msgid "Right-to-Left Isolate (RLI)"
+msgstr "Rechts-nach-Links Isolierer (RLI)"
+
+msgid "Text Writing Direction"
+msgstr "Schreibrichtung"
+
+msgid "Display Control Characters"
+msgstr "Steuerzeichen anzeigen"
+
+msgid "Insert Control Character"
+msgstr "Steuerzeichen eingeben"
+
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
msgstr "Wenn „Exp Edit“ aktiviert ist muss „Min Value“ größer als null sein."
@@ -9465,10 +13948,60 @@ msgstr ""
"ein Control als Unterobjekt verwendet und dessen Minimalgröße eingestellt "
"werden."
+msgid ""
+"This node doesn't have a SubViewport as child, so it can't display its "
+"intended content.\n"
+"Consider adding a SubViewport as a child to provide something displayable."
+msgstr ""
+"Dieses Node hat kein untergeordnetes SubViewport und kann daher seinen "
+"beabsichtigten Inhalt nicht darstellen.\n"
+"Das Hinzufügen eines untergeordneten SubViewports würde etwas Darstellbares "
+"liefern."
+
msgid "(Other)"
msgstr "(Andere)"
msgid ""
+"This node was saved as class type '%s', which was no longer available when "
+"this scene was loaded."
+msgstr ""
+"Dieses Node wurde als Klassentyp ‚%s‘ gespeichert, welcher beim Laden dieser "
+"Szene nicht mehr zur Verfügung stand."
+
+msgid ""
+"Data from the original node is kept as a placeholder until this type of node "
+"is available again. It can hence be safely re-saved without risk of data "
+"loss."
+msgstr ""
+"Die Daten des ursprünglichen Nodes werden als Platzhalter behalten, bis "
+"dieser Nodetyp wieder verfügbar ist. Ein erneutes Abspeichern ist daher ohne "
+"Datenverlust problemlos möglich."
+
+msgid ""
+"Setting node name '%s' to be unique within scene for '%s', but it's already "
+"claimed by '%s'.\n"
+"'%s' is no longer set as having a unique name."
+msgstr ""
+"Der verwendete Node-Name ‚%s‘ wurde als einzigartig in der Szene für ‚%s‘ "
+"festgelegt, jedoch wurde der Name bereits von ‚%s‘ verwendet.\n"
+"‚%s‘ wird nicht mehr als einzigartig geführt."
+
+msgid ""
+"This node is marked as deprecated and will be removed in future versions.\n"
+"Please check the Godot documentation for information about migration."
+msgstr ""
+"Dieses Node ist als überholt markiert und wird in zukünftigen Versionen "
+"entfernt.\n"
+"Bitte prüfen Sie die Godot Dokumentation auf Migrationshinweise."
+
+msgid ""
+"This node is marked as experimental and may be subject to removal or major "
+"changes in future versions."
+msgstr ""
+"Dieses Node ist als experimentell markiert und könnte in zukünftigen "
+"Versionen entfernt oder stark umgeändert werden."
+
+msgid ""
"Default Environment as specified in Project Settings (Rendering -> "
"Environment -> Default Environment) could not be loaded."
msgstr ""
@@ -9476,6 +14009,13 @@ msgstr ""
"(Rendering→Environment→Standard-Environment) konnte nicht geladen werden."
msgid ""
+"ShaderGlobalsOverride is not active because another node of the same type is "
+"in the scene."
+msgstr ""
+"ShaderGlobalsOverride ist nicht aktiv, weil ein anderes Node diesen Typs in "
+"der Szene ist."
+
+msgid ""
"Very low timer wait times (< 0.05 seconds) may behave in significantly "
"different ways depending on the rendered or physics frame rate.\n"
"Consider using a script's process loop instead of relying on a Timer for "
@@ -9493,6 +14033,45 @@ msgstr ""
"Die Größe des Viewports muss mindestens 2 Pixel in beiden Dimensionen "
"betragen um überhaupt irgendetwas rendern zu können."
+msgid "Cannot open font from file: %s."
+msgstr "Schriftart aus Datei „%s“ konnte nicht geöffnet werden."
+
+msgid "Version %d of BMFont is not supported (should be 3)."
+msgstr "Version %d von BMFont wird nicht unterstützt (sollte 3 sein)."
+
+msgid "Invalid BMFont info block size."
+msgstr "Ungültige BMFont Infoblockgröße."
+
+msgid "Can't load font texture: %s."
+msgstr "Schriftarttextur kann nicht geladen werden: %s."
+
+msgid "Unsupported BMFont texture format."
+msgstr "Nicht unterstütztes BMFont Texturformat."
+
+msgid "Invalid BMFont block type."
+msgstr "Ungültiger BMFont-Blocktyp."
+
+msgid ""
+"Shader keywords cannot be used as parameter names.\n"
+"Choose another name."
+msgstr ""
+"Shader-Schlüsselwörter können nicht als Parameternamen genutzt werden.\n"
+"Wählen Sie einen anderen Namen."
+
+msgid ""
+"Global parameter '%s' does not exist.\n"
+"Create it in the Project Settings."
+msgstr ""
+"Globaler Parameter ‚%s‘ existiert nicht.\n"
+"Bitte in den Projekteinstellungen ändern."
+
+msgid ""
+"Global parameter '%s' has an incompatible type for this kind of node.\n"
+"Change it in the Project Settings."
+msgstr ""
+"Globaler Parameter ‚%s‘ hat einen inkompatiblen Typ für diese Art von Node.\n"
+"Bitte in den Projekteinstellungen ändern."
+
msgid ""
"The sampler port is connected but not used. Consider changing the source to "
"'SamplerPort'."
@@ -9506,6 +14085,9 @@ msgstr "Ungültige Quelle für Vorschau."
msgid "Invalid source for shader."
msgstr "Ungültige Quelle für Shader."
+msgid "Invalid operator for that type."
+msgstr "Ungültiger Operator für diesen Typ."
+
msgid "Default Color"
msgstr "Standardfarbe"
@@ -9518,48 +14100,90 @@ msgstr "Wiederholen"
msgid "Invalid comparison function for that type."
msgstr "Ungültige Vergleichsfunktion für diesen Typ."
+msgid "2D Mode"
+msgstr "2D-Modus"
+
+msgid "Use All Surfaces"
+msgstr "Nutze alle Oberflächen"
+
+msgid "Surface Index"
+msgstr "Oberflächenindex"
+
+msgid "Varyings cannot be passed for the '%s' parameter."
+msgstr "Varyings dürfen nicht für den Parameter ‚%s‘ übergeben werden."
+
msgid ""
"Argument %d of function '%s' can only take a local variable, array, or "
"member."
msgstr ""
-"Argument %d der Funktion '%s' kann nur eine lokale Variable, Array oder "
-"member annehmen."
+"Argument %d der Funktion ‚%s’ darf nur eine lokale Variable, ein Array oder "
+"ein Feld sein."
msgid "Built-in function \"%s(%s)\" is only supported on high-end platforms."
msgstr ""
-"Integrierte Funktion \"%s(%s)\" wird nur auf High-End Plattformen "
-"unterstützt."
+"Integrierte Funktion „%s(%s)“ wird nur auf High-End-Plattformen unterstützt."
+
+msgid "Invalid arguments for the built-in function: \"%s(%s)\"."
+msgstr "Ungültige Parameter für die integrierte Funktion: \"%s(%s)\"."
msgid "Recursion is not allowed."
msgstr "Rekursion ist nicht erlaubt."
msgid "Function '%s' can't be called from source code."
-msgstr "Funktion '%s' kann nicht aus dem Quelltext aufgerufen werden."
+msgstr "Funktion ‚%s‘ kann nicht aus dem Quelltext aufgerufen werden."
msgid ""
"Invalid argument for \"%s(%s)\" function: argument %d should be %s but is %s."
msgstr ""
-"Ungültiges Argument für Funktion \"%s(%s)\": Argument %d sollte %s sein aber "
-"ist %s."
+"Ungültiges Argument für Funktion „%s(%s)“: Argument %d sollte %s sein, ist "
+"allerdings %s."
msgid ""
"Too few arguments for \"%s(%s)\" call. Expected at least %d but received %d."
msgstr ""
-"Zu wenige Argumente für den Aufruf von \"%s(%s)\". Erwarte mindestens %d, "
-"nur %d übergeben."
+"Zu wenige Argumente für den Aufruf von „%s(%s)“. Mindestens %d erwartet, %d "
+"wurden übergeben."
msgid ""
"Too many arguments for \"%s(%s)\" call. Expected at most %d but received %d."
msgstr ""
-"Zu viele Argumente für Aufruf von \"%s(%s)\". Erwarte maximal %d aber es "
-"wurden %d übergeben."
+"Zu viele Argumente für Aufruf von „%s(%s)“. Höchstens %d erwartet, %d wurden "
+"übergeben."
+
+msgid "Invalid assignment of '%s' to '%s'."
+msgstr "Ungültige Zuweisung von ‚%s‘ zu ‚%s‘."
+
+msgid "Expected constant expression."
+msgstr "Konstanter Ausdruck erwartet."
msgid "Expected ',' or ')' after argument."
-msgstr "Erwarte ',' oder ')' nach Argument."
+msgstr "›,‹ oder ›)‹ nach Argument erwartet."
msgid "Varying may not be assigned in the '%s' function."
msgstr "Varyings dürfen nicht in Funktion ‚%s‘ zugewiesen werden."
+msgid ""
+"Varying with '%s' data type may only be assigned in the 'fragment' function."
+msgstr ""
+"Varyings mit dem Datentyp ‚%s‘ dürfen nur in der ‚fragment‘-Funktion "
+"zugewiesen werden."
+
+msgid ""
+"Varyings which assigned in 'vertex' function may not be reassigned in "
+"'fragment' or 'light'."
+msgstr ""
+"Varyings, welche in der ‚vertex‘-Funktion zugewiesen wurden, dürfen "
+"innerhalb der ‚fragment‘- oder ‚light‘-Funktionen nicht erneut zugewiesen "
+"werden."
+
+msgid ""
+"Varyings which assigned in 'fragment' function may not be reassigned in "
+"'vertex' or 'light'."
+msgstr ""
+"Varyings, welche in der ‚fragment‘-Funktion zugewiesen wurden, dürfen "
+"innerhalb der ‚vertex‘- oder ‚light‘-Funktionen nicht erneut zugewiesen "
+"werden."
+
msgid "Assignment to function."
msgstr "Zuweisung an Funktion."
@@ -9569,55 +14193,371 @@ msgstr "Zuweisung an Uniform."
msgid "Constants cannot be modified."
msgstr "Konstanten können nicht verändert werden."
+msgid "Invalid data type for the array."
+msgstr "Ungültiger Datentyp für das Array."
+
+msgid "Cannot convert from '%s' to '%s'."
+msgstr "Kann nicht zwischen ‚%s‘ und ‚%s‘ konvertieren."
+
+msgid "Expected ')' in expression."
+msgstr "‚)‘ im Ausdruck erwartet."
+
+msgid "Void value not allowed in expression."
+msgstr "Void-Wert im Ausdruck nicht zulässig."
+
+msgid "No matching constructor found for: '%s'."
+msgstr "Kein passender Konstruktor gefunden für ‚%s‘."
+
+msgid "Expected a function name."
+msgstr "Funktionsname erwartet."
+
+msgid "No matching function found for: '%s'."
+msgstr "Keine passende Funktion gefunden für: ‚%s‘."
+
+msgid ""
+"Varying '%s' must be assigned in the 'vertex' or 'fragment' function first."
+msgstr ""
+"Varying ‚%s‘ muss zuerst in der ‚vertex‘ oder ‚fragment‘-Funktion zugewiesen "
+"werden."
+
+msgid "Varying '%s' cannot be passed for the '%s' parameter in that context."
+msgstr ""
+"Varying ‚%s‘ darf in diesem Kontext nicht als Parameter ‚%s‘ übergeben "
+"werden."
+
+msgid ""
+"Varying with '%s' data type may only be used in the 'fragment' function."
+msgstr ""
+"Varying mit dem Datentyp ‚%s‘ darf nur in der ‚fragment‘-Funktion verwendet "
+"werden."
+
+msgid "Varying '%s' must be assigned in the 'fragment' function first."
+msgstr "Varying ‚%s‘ muss zuerst in der ‚fragment‘-Funktion zugewiesen werden."
+
msgid "An object of type '%s' can't be indexed."
-msgstr "Ein Objekt des Typs '%s' kann nicht Indexiert werden."
+msgstr "Ein Objekt des Typs ‚%s‘ kann nicht indiziert werden."
+
+msgid "Invalid base type for increment/decrement operator."
+msgstr "Ungültiger Basistyp für Inkrement-/Dekrement-Operator."
+
+msgid "Unexpected end of expression."
+msgstr "Unerwartetes Ende des Ausdrucks."
+
+msgid "Invalid arguments to unary operator '%s': %s."
+msgstr "Ungültige Parameter für den unären Operator ‚%s‘: %s."
+
+msgid "Invalid argument to ternary operator: '%s'."
+msgstr "Ungültiger Parameter für den ternären Operator: ‚%s‘."
+
+msgid "Invalid arguments to operator '%s': '%s'."
+msgstr "Ungültige Parameter für den Operator ‚%s‘: ‚%s‘."
+
+msgid "Duplicated case label: %d."
+msgstr "Doppelte Fallbeschriftung: %d."
+
+msgid "Expected an integer constant."
+msgstr "Ganzzahlkonstante erwartet."
+
+msgid "Use of '%s' is not allowed here."
+msgstr "Die Verwendung von ‚%s‘ ist hier nicht zulässig."
+
+msgid "Invalid shader type. Valid types are: %s"
+msgstr "Ungültiger Shadertyp. Zulässige Typen sind: %s"
+
+msgid "Duplicated render mode: '%s'."
+msgstr "Doppelter Rendermodus: ‚%s‘."
+
+msgid "Invalid render mode: '%s'."
+msgstr "Ungültiger Rendermodus: ‚%s‘."
+
+msgid "Expected data type."
+msgstr "Datentyp erwartet."
+
+msgid "Varyings cannot be used in '%s' shaders."
+msgstr "Varyings können in ‚%s‘-Shadern nicht verwendet werden."
+
+msgid "The '%s' data type is not allowed here."
+msgstr "Der Datentyp ‚%s‘ ist hier nicht zulässig."
+
+msgid "Invalid data type for varying."
+msgstr "Ungültiger Datentyp für Varying."
+
+msgid "The '%s' qualifier is not supported for sampler types."
+msgstr "Der ‚%s‘-Kennzeichner wird nicht für Sampler-Typen unterstützt."
+
+msgid "The '%s' qualifier is not supported for matrix types."
+msgstr "Der ‚%s‘-Kennzeichner wird nicht für Matrix-Typen unterstützt."
+
+msgid "The '%s' qualifier is not supported for uniform arrays."
+msgstr "Der ‚%s‘-Kennzeichner wird nicht für Uniform-Arrays unterstützt."
+
+msgid "Expected valid type hint after ':'."
+msgstr "Gültigen Typhinweis nach ‚:‘ erwartet."
+
+msgid "This hint is not supported for uniform arrays."
+msgstr "Dieser Hinweis wird nicht unterstützt für Uniform-Arrays."
+
+msgid "Source color hint is for '%s', '%s' or sampler types only."
+msgstr "Quellfarbenhinweis ist nur gültig für ‚%s‘, ‚%s‘ oder Sampler-Typen."
+
+msgid "Duplicated hint: '%s'."
+msgstr "Doppelter Hinweis: ‚%s‘."
+
+msgid "Range hint is for '%s' and '%s' only."
+msgstr "Bereichshinweis ist nur für ‚%s‘ und ‚%s‘ gültig."
+
+msgid "Expected ',' after integer constant."
+msgstr "›,‹ nach Ganzzahlkonstante erwartet."
+
+msgid "Expected an integer constant after ','."
+msgstr "Ganzzahlkonstante nach ›,‹ erwartet."
+
+msgid "Can only specify '%s' once."
+msgstr "‚%s‘ kann nur einmal aufgeführt werden."
+
+msgid "The instance index can't be negative."
+msgstr "Der Instanzindex kann nicht negativ sein."
+
+msgid "Allowed instance uniform indices must be within [0..%d] range."
+msgstr "Erlaubte Instanz-Uniform-Indices müssen im Intervall [0..%d] liegen."
+
+msgid "This hint is only for sampler types."
+msgstr "Dieser Hinweis ist nur für Sampler-Typen gültig."
+
+msgid "Redefinition of hint: '%s'. The hint has already been set to '%s'."
+msgstr ""
+"Neudefinition von Hinweis ‚%s‘. Der Hinweis wurde bereits als ‚%s‘ "
+"festgelegt."
+
+msgid "Duplicated filter mode: '%s'."
+msgstr "Doppelter Filtermodus: ‚%s‘."
+
+msgid ""
+"Redefinition of filter mode: '%s'. The filter mode has already been set to "
+"'%s'."
+msgstr ""
+"Neudefinition von Filtermodus: ‚%s‘. Der Filtermodus wurde bereits als ‚%s‘ "
+"festgelegt."
+
+msgid "Duplicated repeat mode: '%s'."
+msgstr "Doppelter Wiederholungsmodus: ‚%s‘."
+
+msgid ""
+"Redefinition of repeat mode: '%s'. The repeat mode has already been set to "
+"'%s'."
+msgstr ""
+"Neudefinition von Wiederholungsmodus: ‚%s‘. Der Wiederholungsmodus wurde "
+"bereits als ‚%s‘ festgelegt."
+
+msgid "Too many '%s' uniforms in shader, maximum supported is %d."
+msgstr "Zu viele ‚%s‘-Uniforms in Shader, maximal unterstütze Anzahl ist %d."
+
+msgid "Setting default values to uniform arrays is not supported."
+msgstr "Standardwerte als Uniform-Arrays festzulegen wird nicht unterstützt."
+
+msgid "Expected constant expression after '='."
+msgstr "Konstanter Ausdruck nach ‚=‘ erwartet."
+
+msgid "Can't convert constant to '%s'."
+msgstr "Konstante kann nicht zu ‚%s‘ umgewandelt werden."
+
+msgid "Expected an uniform subgroup identifier."
+msgstr "Uniform-Unterguppenbezeichner erwartet."
+
+msgid "Expected an uniform group identifier."
+msgstr "Uniform-Gruppenbezeichner erwartet."
+
+msgid "Expected an uniform group identifier or `;`."
+msgstr "Uniform-Gruppenbezeichner oder ‚;‘ erwartet."
+
+msgid "Group needs to be opened before."
+msgstr "Gruppe muss zuvor geöffnet werden."
+
+msgid "Shader type is already defined."
+msgstr "Shader-Typ wurde bereits definiert."
+
+msgid "Expected constant, function, uniform or varying."
+msgstr "Konstante, Funktion, Uniform oder Varying erwartet."
+
+msgid "Invalid constant type (samplers are not allowed)."
+msgstr "Ungültiger Konstantentyp (Sampler sind nicht erlaubt)."
+
+msgid "Invalid function type (samplers are not allowed)."
+msgstr "Ungültiger Funktionstyp (Sampler sind nicht erlaubt)."
+
+msgid "Expected a function name after type."
+msgstr "Funktionsname nach Typ erwartet."
+
+msgid "Expected '(' after function identifier."
+msgstr "‚(‘ nach Funktionsbezeichner erwartet."
msgid ""
"Global non-constant variables are not supported. Expected '%s' keyword "
"before constant definition."
msgstr ""
-"Globale nicht-konstante Variablen werden nicht unterstützt. Erwarte '%s' "
-"Schlüsselwort vor der Definition einer Konstanten."
+"Globale nicht-konstante Variablen werden nicht unterstützt. ‚%s‘-"
+"Schlüsselwort vor Konstanten-Definition erwartet."
+
+msgid "Expected an identifier after type."
+msgstr "Bezeichner nach Typ erwartet."
+
+msgid ""
+"The '%s' qualifier cannot be used within a function parameter declared with "
+"'%s'."
+msgstr ""
+"Der ‚%s‘-Kennzeichner kann nicht innerhalb eines Funktionsparameters "
+"deklariert mit ‚%s‘ verwendet werden."
+
+msgid "Expected a valid data type for argument."
+msgstr "Gültigen Datentyp als Argument erwartet."
+
+msgid "Opaque types cannot be output parameters."
+msgstr "Opake Typen können keine Ausgabeparameter sein."
+
+msgid "Void type not allowed as argument."
+msgstr "Ein Void-Typ ist nicht als Argument erlaubt."
+
+msgid "Expected an identifier for argument name."
+msgstr "Bezeichner als Argumentenname erwartet."
+
+msgid "Function '%s' expects no arguments."
+msgstr "Funktion ‚%s‘ erwartet keine Argument."
+
+msgid "Function '%s' must be of '%s' return type."
+msgstr "Funktion ‚%s‘ muss einen ‚%s‘-Rückgabewert haben."
+
+msgid "Expected a '{' to begin function."
+msgstr "‚{‘ am Funktionsanfang erwartet."
msgid "Expected at least one '%s' statement in a non-void function."
-msgstr "Erwartete mindestens eine '%s' Anweisung in einer nicht-void Funktion."
+msgstr "Mindestens eine ‚%s‘-Anweisung in einer nicht-void-Funktion erwartet."
+
+msgid "uniform buffer"
+msgstr "Uniform-Puffer"
+
+msgid "Expected a '%s'."
+msgstr "Ein ‚%s‘ wurde erwartet."
+
+msgid "Expected a '%s' or '%s'."
+msgstr "Ein ‚%s‘ oder ‚%s‘ wurde erwartet."
+
+msgid "Expected a '%s' after '%s'."
+msgstr "Ein ‚%s‘ wurde nach ‚%s‘ erwartet."
+
+msgid "Redefinition of '%s'."
+msgstr "Erneute Definition von ‚%s‘."
+
+msgid "Unknown directive."
+msgstr "Unbekannte Direktive."
+
+msgid "Invalid macro name."
+msgstr "Ungültiger Makroname."
+
+msgid "Macro redefinition."
+msgstr "Erneute Makrodefinition."
+
+msgid "Invalid argument name."
+msgstr "Ungültiger Argumentname."
+
+msgid "Expected a comma in the macro argument list."
+msgstr "Komma in Argumentenliste des Makros erwartet."
+
+msgid "Unmatched elif."
+msgstr "Fehlplatziertes elif."
+
+msgid "Missing condition."
+msgstr "Fehlende Bedingung."
+
+msgid "Condition evaluation error."
+msgstr "Bedingungsauswertungsfehler."
+
+msgid "Unmatched else."
+msgstr "Fehlplatziertes else."
+
+msgid "Invalid else."
+msgstr "Ungültiges else."
msgid "Unmatched endif."
-msgstr "Unvollständiges endif."
+msgstr "Fehlplatziertes endif."
+
+msgid "Invalid endif."
+msgstr "Ungültiges endif."
+
+msgid "Invalid ifdef."
+msgstr "Ungültiges ifdef."
+
+msgid "Invalid ifndef."
+msgstr "Ungültiges ifndef."
msgid ""
"Shader include load failed. Does the shader include exist? Is there a cyclic "
"dependency?"
msgstr ""
-"Laden des Shader include fehlgeschlagen. Existiert der include des Shaders? "
-"Gibt es eine zyklische Abhängigkeit?"
+"Laden des Shader-Includes fehlgeschlagen. Existiert der Shader-Include? Gibt "
+"es eine zyklische Abhängigkeit?"
+
+msgid "Shader include resource type is wrong."
+msgstr "Ressourcentyp des Shader-Includes ist falsch."
msgid "Cyclic include found."
-msgstr "Zyklisches include erkannt."
+msgstr "Zyklisches Include erkannt."
+
+msgid "Shader max include depth exceeded."
+msgstr "Maximale Include-Tiefe für Shader überschritten."
+
+msgid "Invalid pragma directive."
+msgstr "Ungültige Pragmaanweisung."
+
+msgid "Invalid undef."
+msgstr "Ungültiges undef."
+
+msgid "Macro expansion limit exceeded."
+msgstr "Makroausweitungsgrenze überschritten."
+
+msgid "Invalid macro argument list."
+msgstr "Ungültige Makro-Argumentenliste."
+
+msgid "Invalid macro argument."
+msgstr "Ungültiges Makro-Argument."
+
+msgid "Invalid macro argument count."
+msgstr "Ungültige Makro-Argumentanzahl."
+
+msgid "Can't find matching branch directive."
+msgstr "Passende Verzweigungsanweisung konnte nicht gefunden werden."
+
+msgid "Invalid symbols placed before directive."
+msgstr "Ungültige Zeichen befinden sich vor Anweisung."
+
+msgid "Unmatched conditional statement."
+msgstr "Fehlplatzierter Bedingungsausdruck."
msgid ""
"Direct floating-point comparison (this may not evaluate to `true` as you "
"expect). Instead, use `abs(a - b) < 0.0001` for an approximate but "
"predictable comparison."
msgstr ""
-"Direkter Vergleich von Gleitkommazahlen (dies muss entgegen der Vermutung "
-"nicht `true` ergeben). Nutzen Sie stattdessen `abs(a - b) < 0.0001` für "
-"einen ungefähren, aber vorhersehbaren Vergleich."
+"Direkter Vergleich von Gleitkommazahlen erkannt (dieser könnte unerwarteter "
+"Weise nicht ‚true‘ ergeben). Es wird empfohlen stattdessen ‚abs(a - b) < "
+"0.0001‘ für einen ungefähren, aber verlässlichen Vergleich zu verwenden."
msgid "The const '%s' is declared but never used."
-msgstr "Die Konstante '%s' wurde deklariert, aber nie verwendet."
+msgstr "Die Konstante ‚%s‘ wurde deklariert, aber nie verwendet."
msgid "The function '%s' is declared but never used."
-msgstr "Die Funktion '%s' wurde deklariert, aber nie verwendet."
+msgstr "Die Funktion ‚%s‘ wurde deklariert, aber nie verwendet."
+
+msgid "The struct '%s' is declared but never used."
+msgstr "Das Struct ‚%s‘ wurde deklariert, aber nie verwendet."
msgid "The uniform '%s' is declared but never used."
-msgstr "Das Uniform '%s' wurde deklariert, aber nie verwendet."
+msgstr "Das Uniform ‚%s‘ wurde deklariert, aber nie verwendet."
msgid "The varying '%s' is declared but never used."
-msgstr "Das Varying '%s' wurde deklariert, aber nie verwendet."
+msgstr "Das Varying ‚%s‘ wurde deklariert, aber nie verwendet."
msgid "The local variable '%s' is declared but never used."
-msgstr "Die lokale Variable '%s' wurde deklariert, aber nie verwendet."
+msgstr "Die lokale Variable ‚%s‘ wurde deklariert, aber nie verwendet."
msgid ""
"The total size of the %s for this shader on this device has been exceeded "
diff --git a/editor/translations/editor/el.po b/editor/translations/editor/el.po
index 54c7561f36..659717c609 100644
--- a/editor/translations/editor/el.po
+++ b/editor/translations/editor/el.po
@@ -497,12 +497,6 @@ msgstr "Προηγούμενο Βήμα"
msgid "Use Bezier Curves"
msgstr "Χρήση καμπυλών Bezier"
-msgid "Anim. Optimizer"
-msgstr "Anim. Μηχανή βελτιστοποίησης"
-
-msgid "Max. Angular Error:"
-msgstr "Μέγιστο γωνιώδες σφάλμα:"
-
msgid "Optimize"
msgstr "Βελτιστοποίησε"
@@ -6078,9 +6072,6 @@ msgstr "Αλλαγή Νεκρής Ζώνης Ενέργειας"
msgid "Erase Input Action"
msgstr "Διαγραφή ενέργειας εισόδου"
-msgid "Rename Input Action Event"
-msgstr "Μετονομασία συμβάντος εισόδου"
-
msgid "Project Settings (project.godot)"
msgstr "Ρυθμίσεις έργου (project.godot)"
@@ -6977,9 +6968,6 @@ msgstr ""
msgid "The AnimationPlayer root node is not a valid node."
msgstr "Ο ριζικός κόμβος AnimationPlayer δεν είναι έγκυρος."
-msgid "Pick a color from the editor window."
-msgstr "Επιλέξτε ένα χρώμα από το παράθυρο επεξεργασίας."
-
msgid "Switch between hexadecimal and code values."
msgstr "Εναλλαγή δεκαεξαδικών και κωδικοποιημένων τιμών."
@@ -7010,9 +6998,6 @@ msgstr "Ειδοποίηση!"
msgid "Please Confirm..."
msgstr "Παρακαλώ επιβεβαιώστε..."
-msgid "Must use a valid extension."
-msgstr "Απαιτείται η χρήση έγκυρης επέκτασης."
-
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
msgstr ""
"Εάν το «Exp Edit» είναι ενεργό, το «Min Value» πρέπει να είναι μεγαλύτερο "
diff --git a/editor/translations/editor/eo.po b/editor/translations/editor/eo.po
index bfdce7d034..e504fae9ea 100644
--- a/editor/translations/editor/eo.po
+++ b/editor/translations/editor/eo.po
@@ -16,12 +16,13 @@
# Wang Tseryui <2251439097@qq.com>, 2021.
# Kedr <lava20121991@gmail.com>, 2022.
# Isaac Iverson <isaaciverson1024@gmail.com>, 2023.
+# Blua Punkto <bluapunkto@proton.me>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
-"PO-Revision-Date: 2023-02-10 00:54+0000\n"
-"Last-Translator: Isaac Iverson <isaaciverson1024@gmail.com>\n"
+"PO-Revision-Date: 2023-02-11 01:21+0000\n"
+"Last-Translator: Blua Punkto <bluapunkto@proton.me>\n"
"Language-Team: Esperanto <https://hosted.weblate.org/projects/godot-engine/"
"godot/eo/>\n"
"Language: eo\n"
@@ -30,9 +31,15 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.16-dev\n"
+msgid "Unset"
+msgstr "malŝalti"
+
msgid "Button"
msgstr "Butono"
+msgid "Double Click"
+msgstr "Duobla alklako"
+
msgid "Select"
msgstr "Elekti"
@@ -420,12 +427,6 @@ msgstr "Uzu Bezier-kurbojn"
msgid "Create RESET Track(s)"
msgstr "Krei RESET-trako(j)n"
-msgid "Anim. Optimizer"
-msgstr "Anim. Optimiganto"
-
-msgid "Max. Angular Error:"
-msgstr "Maks. Angula Eraro:"
-
msgid "Optimize"
msgstr "Optimigi"
@@ -1366,9 +1367,6 @@ msgstr "Malfermi"
msgid "Select Current Folder"
msgstr "Elekti kurantan dosierujon"
-msgid "File exists, overwrite?"
-msgstr "Dosiero ekzistas, superskribi?"
-
msgid "Select This Folder"
msgstr "Elekti ĉi tiun dosierujon"
@@ -4111,9 +4109,6 @@ msgstr "Ŝanĝi mortzonon de faro"
msgid "Erase Input Action"
msgstr "Forigi enigan faron"
-msgid "Rename Input Action Event"
-msgstr "Renomi eventon de eniga faro"
-
msgid "Project Settings (project.godot)"
msgstr "Projektaj agordoj (project.godot)"
diff --git a/editor/translations/editor/es.po b/editor/translations/editor/es.po
index 276c662c25..8481237276 100644
--- a/editor/translations/editor/es.po
+++ b/editor/translations/editor/es.po
@@ -95,13 +95,16 @@
# Alan Arrecis <alan.arrecis@gmail.com>, 2023.
# Fernando Sacó <saco.fernando@gmail.com>, 2023.
# Damien Monasterios <monasterio13septiembre@gmail.com>, 2023.
+# andres gallegos <andresgg.prog@gmail.com>, 2023.
+# maipley <pablovgv@gmail.com>, 2023.
+# The0Show <62229104+The0Show@users.noreply.github.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 14:12+0000\n"
-"Last-Translator: Damien Monasterios <monasterio13septiembre@gmail.com>\n"
+"PO-Revision-Date: 2023-02-20 10:58+0000\n"
+"Last-Translator: Javier Ocampos <xavier.ocampos@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot/es/>\n"
"Language: es\n"
@@ -178,17 +181,77 @@ msgid "Joystick 3 Y-Axis"
msgstr "Eje Y del Joystick 3"
msgid "Joystick 4 X-Axis"
-msgstr "Eje X del Joystick"
+msgstr "Eje X del Stick 4"
+
+msgid "Joystick 4 Y-Axis"
+msgstr "Eje Y del Joystick 4"
msgid "Unknown Joypad Axis"
msgstr "Eje de Joypad Desconocido"
+msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B"
+msgstr "Acción Inferior, Sony Equis, Xbox A, Nintendo B"
+
+msgid "Right Action, Sony Circle, Xbox B, Nintendo A"
+msgstr "Acción Derecha, Sony Círculo, Xbox B, Nintendo A"
+
+msgid "Left Action, Sony Square, Xbox X, Nintendo Y"
+msgstr "Acción Izquierda, Sony Cuadrado, Xbox X, Nintendo Y"
+
+msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X"
+msgstr "Acción Superior, Sony Triángulo, Xbox Y, Nintendo X"
+
+msgid "Back, Sony Select, Xbox Back, Nintendo -"
+msgstr "Atrás, Sony Select, Xbox Atrás, Nintendo -"
+
+msgid "Guide, Sony PS, Xbox Home"
+msgstr "Guía, Sony PS, Xbox Inicio"
+
+msgid "Left Stick, Sony L3, Xbox L/LS"
+msgstr "Stick Izquierdo, Sony L3, Xbox L/LS"
+
+msgid "Right Stick, Sony R3, Xbox R/RS"
+msgstr "Stick Derecho, Sony R3, Xbox R/RS"
+
+msgid "D-pad Up"
+msgstr "Pad Direccional Arriba"
+
+msgid "D-pad Down"
+msgstr "Pad Direccional Abajo"
+
+msgid "D-pad Left"
+msgstr "Pad direccional Izquierda"
+
+msgid "D-pad Right"
+msgstr "Pad Direccional Derecha"
+
+msgid "PS4/5 Touchpad"
+msgstr "PS4/5 Pad Táctil"
+
+msgid "Joypad Button %d"
+msgstr "Botón del Mando %d"
+
+msgid "Pressure:"
+msgstr "Presión:"
+
+msgid "released"
+msgstr "liberado"
+
+msgid "Accept"
+msgstr "Aceptar"
+
msgid "Select"
msgstr "Seleccionar"
msgid "Cancel"
msgstr "Cancelar"
+msgid "Focus Next"
+msgstr "Foco Siguiente"
+
+msgid "Focus Prev"
+msgstr "Foco Anterior"
+
msgid "Left"
msgstr "Izquierda"
@@ -201,6 +264,15 @@ msgstr "Arriba"
msgid "Down"
msgstr "Abajo"
+msgid "Page Up"
+msgstr "Avanzar Página"
+
+msgid "Page Down"
+msgstr "Retroceder Página"
+
+msgid "Home"
+msgstr "Inicio"
+
msgid "End"
msgstr "Fin"
@@ -219,15 +291,102 @@ msgstr "Deshacer"
msgid "Redo"
msgstr "Rehacer"
+msgid "Completion Query"
+msgstr "Completar Consulta"
+
+msgid "New Line"
+msgstr "Nueva Línea"
+
+msgid "New Blank Line"
+msgstr "Nueva Línea en Blanco"
+
+msgid "New Line Above"
+msgstr "Nueva Línea Superior"
+
msgid "Indent"
msgstr "Indentar"
+msgid "Dedent"
+msgstr "Reducción de sangría"
+
+msgid "Backspace"
+msgstr "Retroceso"
+
+msgid "Backspace Word"
+msgstr "Retroceso de Palabra"
+
+msgid "Backspace all to Left"
+msgstr "Retroceder todo a la izquierda"
+
msgid "Delete"
msgstr "Eliminar"
+msgid "Delete Word"
+msgstr "Eliminar Palabra"
+
+msgid "Delete all to Right"
+msgstr "Eliminar todo a la Derecha"
+
+msgid "Caret Left"
+msgstr "Cursor Izquierda"
+
+msgid "Caret Word Left"
+msgstr "Cursor Palabra izquierda"
+
+msgid "Caret Right"
+msgstr "Cursor Derecha"
+
+msgid "Caret Word Right"
+msgstr "Cursor Palabra Derecha"
+
+msgid "Caret Up"
+msgstr "Cursor Arriba"
+
+msgid "Caret Down"
+msgstr "Cursor Abajo"
+
+msgid "Caret Line Start"
+msgstr "Inicio de Línea del Cursor"
+
+msgid "Caret Line End"
+msgstr "Cursor Fin de Línea"
+
+msgid "Caret Page Up"
+msgstr "Cursor Página Superior"
+
+msgid "Caret Page Down"
+msgstr "Cursor Página Inferior"
+
+msgid "Caret Document Start"
+msgstr "Cursor Inicio del Documento"
+
+msgid "Caret Document End"
+msgstr "Cursor Final del Documento"
+
+msgid "Caret Add Below"
+msgstr "Cursor Añadir Abajo"
+
+msgid "Caret Add Above"
+msgstr "Cursor Añadir Arriba"
+
+msgid "Scroll Up"
+msgstr "Scroll hacia Arriba"
+
+msgid "Scroll Down"
+msgstr "Scroll hacia Abajo"
+
msgid "Select All"
msgstr "Seleccionar Todo"
+msgid "Select Word Under Caret"
+msgstr "Seleccionar Palabra Debajo del Cursor"
+
+msgid "Clear Carets and Selection"
+msgstr "Borrar Cursores y Selección"
+
+msgid "Toggle Insert Mode"
+msgstr "Cambiar Modo de Inserción"
+
msgid "Duplicate Nodes"
msgstr "Duplicar Nodos"
@@ -237,6 +396,12 @@ msgstr "Eliminar Nodos"
msgid "Refresh"
msgstr "Recargar"
+msgid "Show Hidden"
+msgstr "Mostrar Ocultos"
+
+msgid "Swap Input Direction"
+msgstr "Intercambiar Dirección de Entrada"
+
msgid "Invalid input %d (not passed) in expression"
msgstr "Entrada inválida %d (no aprobada) en la expresión"
@@ -285,6 +450,14 @@ msgstr "PiB"
msgid "EiB"
msgstr "EiB"
+msgid "Example: %s"
+msgstr "Ejemplo: %s"
+
+msgid "%d item"
+msgid_plural "%d items"
+msgstr[0] "%d item"
+msgstr[1] "%d items"
+
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
@@ -295,15 +468,39 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "Ya existe una acción con el nombre '%s'."
+msgid "Revert Action"
+msgstr "Revertir Acción"
+
msgid "Add Event"
msgstr "Añadir Evento"
+msgid "Remove Action"
+msgstr "Eliminar Acción"
+
msgid "Cannot Remove Action"
msgstr "No se Puede Eliminar la Acción"
+msgid "Edit Event"
+msgstr "Editar Evento"
+
+msgid "Remove Event"
+msgstr "Eliminar Evento"
+
+msgid "Filter by name..."
+msgstr "Filtrar por nombre..."
+
+msgid "Clear All"
+msgstr "Limpiar Todo"
+
+msgid "Add New Action"
+msgstr "Añadir Nueva Acción"
+
msgid "Add"
msgstr "Añadir"
+msgid "Show Built-in Actions"
+msgstr "Mostrar Acciones Integradas"
+
msgid "Action"
msgstr "Acción"
@@ -316,6 +513,9 @@ msgstr "Tiempo:"
msgid "Value:"
msgstr "Valor:"
+msgid "Update Selected Key Handles"
+msgstr "Actualizar Manipuladores de Claves Seleccionados"
+
msgid "Insert Key Here"
msgstr "Insertar Clave Aquí"
@@ -325,18 +525,54 @@ msgstr "Duplicar Clave(s) Seleccionada(s)"
msgid "Delete Selected Key(s)"
msgstr "Eliminar Clave(s) Seleccionada(s)"
+msgid "Make Handles Free"
+msgstr "Hacer los Manipuladores libres"
+
msgid "Add Bezier Point"
msgstr "Añadir Punto Bezier"
msgid "Move Bezier Points"
msgstr "Mover Puntos Bezier"
+msgid "Animation Duplicate Keys"
+msgstr "Duplicar Claves de Animación"
+
+msgid "Animation Delete Keys"
+msgstr "Eliminar Claves de Animación"
+
msgid "Focus"
msgstr "Foco"
+msgid "Select All Keys"
+msgstr "Seleccionar Todas las Claves"
+
+msgid "Deselect All Keys"
+msgstr "Deseleccionar Todas las Claves"
+
+msgid "Animation Change Transition"
+msgstr "Cambiar Transición de Animación"
+
msgid "Animation Change %s"
msgstr "Cambio de Animación %s"
+msgid "Animation Change Keyframe Value"
+msgstr "Cambiar Valor de Fotograma Clave de Animación"
+
+msgid "Animation Change Call"
+msgstr "Cambiar Llamada de Animación"
+
+msgid "Animation Multi Change Transition"
+msgstr "Cambiar Múltiples Transiciones de Animación"
+
+msgid "Animation Multi Change %s"
+msgstr "Cambiar Múltiples Animaciónes %s"
+
+msgid "Animation Multi Change Keyframe Value"
+msgstr "Cambiar Valor de Múltiples Fotogramas Clave de Animación"
+
+msgid "Animation Multi Change Call"
+msgstr "Cambiar Múltiples Llamadas de Animación"
+
msgid "Change Animation Length"
msgstr "Cambiar Duración de la Animación"
@@ -346,6 +582,18 @@ msgstr "Cambiar Loop de la Animación"
msgid "Property Track"
msgstr "Pista de Propiedades"
+msgid "3D Position Track"
+msgstr "Pista de Posición 3D"
+
+msgid "3D Rotation Track"
+msgstr "Pista de Rotación 3D"
+
+msgid "3D Scale Track"
+msgstr "Pista de Escala 3D"
+
+msgid "Blend Shape Track"
+msgstr "Pista de Forma Combinada"
+
msgid "Call Method Track"
msgstr "Pista de Llamada a Métodos"
@@ -376,12 +624,18 @@ msgstr "Funciones:"
msgid "Audio Clips:"
msgstr "Clips de Audio:"
+msgid "Animation Clips:"
+msgstr "Clips de Animación:"
+
msgid "Change Track Path"
msgstr "Cambiar Ruta de la Pista"
msgid "Toggle this track on/off."
msgstr "Act./Desact. esta pista."
+msgid "Use Blend"
+msgstr "Usar Mezcla"
+
msgid "Update Mode (How this property is set)"
msgstr "Modo de actualización (Cómo se establece)"
@@ -406,6 +660,9 @@ msgstr "Rotación:"
msgid "Scale:"
msgstr "Escala:"
+msgid "Blend Shape:"
+msgstr "Forma Combinada:"
+
msgid "Type:"
msgstr "Tipo:"
@@ -454,6 +711,12 @@ msgstr "Lineal"
msgid "Cubic"
msgstr "Cúbica"
+msgid "Linear Angle"
+msgstr "Ángulo Lineal"
+
+msgid "Cubic Angle"
+msgstr "Ángulo Cúbico"
+
msgid "Clamp Loop Interp"
msgstr "Interp de Loop Cortante"
@@ -481,12 +744,24 @@ msgstr "Cambiar Modo de Interpolación de Animación"
msgid "Change Animation Loop Mode"
msgstr "Cambiar Modo Loop de Animación"
+msgid "Change Animation Use Blend"
+msgstr "Cambiar Uso de Mezcla en la Animación"
+
msgid "Remove Anim Track"
msgstr "Eliminar Pista de Animación"
+msgid "Create new track for %s and insert key?"
+msgstr "¿Crear nueva pista para %s e insertar clave?"
+
+msgid "Create %d new tracks and insert keys?"
+msgstr "¿Crear %d nuevas pistas e insertar claves?"
+
msgid "Create"
msgstr "Crear"
+msgid "Animation Insert Key"
+msgstr "Insertar Clave de Animación"
+
msgid "node '%s'"
msgstr "nodo '%s'"
@@ -505,6 +780,15 @@ msgstr "Cambiar Step de Animación"
msgid "Rearrange Tracks"
msgstr "Reordenar Pistas"
+msgid "Blend Shape tracks only apply to MeshInstance3D nodes."
+msgstr ""
+"Las pistas de Formas Combinadas solo se aplican a nodos MeshInstance3D."
+
+msgid "Position/Rotation/Scale 3D tracks only apply to 3D-based nodes."
+msgstr ""
+"Las pistas de posición/rotación/escala 3D solo se aplican a nodos basados en "
+"3D."
+
msgid ""
"Audio tracks can only point to nodes of type:\n"
"-AudioStreamPlayer\n"
@@ -532,6 +816,18 @@ msgid "Track path is invalid, so can't add a key."
msgstr ""
"La ruta de la pista es inválida, por lo tanto no se pueden agregar claves."
+msgid "Track is not of type Node3D, can't insert key"
+msgstr "La pista no es del tipo Node3D, no se puede insertar la clave"
+
+msgid "Add Position Key"
+msgstr "Añadir Clave de Posición"
+
+msgid "Add Rotation Key"
+msgstr "Añadir Clave de Rotación"
+
+msgid "Add Scale Key"
+msgstr "Añadir Clave de Escala"
+
msgid "Add Track Key"
msgstr "Añadir Clave de Pista"
@@ -546,6 +842,9 @@ msgstr "Añadir Clave de Pista de Método"
msgid "Method not found in object:"
msgstr "Método no encontrado en el objeto:"
+msgid "Animation Move Keys"
+msgstr "Mover Claves de Animación"
+
msgid "Position"
msgstr "Posición"
@@ -555,6 +854,9 @@ msgstr "Rotación"
msgid "Scale"
msgstr "Escala"
+msgid "BlendShape"
+msgstr "BlendShape"
+
msgid "Methods"
msgstr "Métodos"
@@ -570,18 +872,30 @@ msgstr "¡El portapapeles está vacío!"
msgid "Paste Tracks"
msgstr "Pegar Pistas"
+msgid "Animation Scale Keys"
+msgstr "Escalar Claves de Animación"
+
+msgid "Make Easing Keys"
+msgstr "Crear Claves de Interpolación"
+
msgid ""
"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
"Esta opción no funciona con la edición Bezier, ya que es solo una pista "
"única."
+msgid "Animation Add RESET Keys"
+msgstr "Añadir Claves de Animación de RESET"
+
msgid "Warning: Editing imported animation"
msgstr "Advertencia: Edición de animación importada"
msgid "Select an AnimationPlayer node to create and edit animations."
msgstr "Selecciona un nodo AnimationPlayer para crear y editar animaciones."
+msgid "Imported Scene"
+msgstr "Escena Importada"
+
msgid "Only show tracks from nodes selected in tree."
msgstr "Mostrar solo las pistas de los nodos seleccionados en el árbol."
@@ -639,12 +953,6 @@ msgstr "Usar Curvas Bezier"
msgid "Create RESET Track(s)"
msgstr "Crear pista(s) RESET"
-msgid "Anim. Optimizer"
-msgstr "Optimizar Animación"
-
-msgid "Max. Angular Error:"
-msgstr "Error Angular Máximo:"
-
msgid "Optimize"
msgstr "Optimizar"
@@ -768,7 +1076,7 @@ msgid "Remove"
msgstr "Eliminar"
msgid "Add Extra Call Argument:"
-msgstr "Añadir Argumento Extra de Llamada:"
+msgstr "Añadir un Argumento de Llamada extra:"
msgid "Extra Call Arguments:"
msgstr "Argumentos extras de llamada:"
@@ -830,6 +1138,9 @@ msgstr "Desconectar"
msgid "Connect a Signal to a Method"
msgstr "Conectar una Señal a un Método"
+msgid "Edit Connection: '%s'"
+msgstr "Editar conexión: '%s'"
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr ""
"¿Estás seguro/a que quieres eliminar todas las conexiones de la señal \"%s\"?"
@@ -850,6 +1161,9 @@ msgstr "Editar..."
msgid "Go to Method"
msgstr "Ir al Método"
+msgid "Change Type of \"%s\""
+msgstr "Cambiar el Tipo de \"%s\""
+
msgid "Change"
msgstr "Cambiar"
@@ -859,6 +1173,12 @@ msgstr "Crear Nuevo %s"
msgid "No results for \"%s\"."
msgstr "No hay resultados para \"%s\"."
+msgid "This class is marked as deprecated."
+msgstr "Esta clase está marcada como obsoleta."
+
+msgid "This class is marked as experimental."
+msgstr "Esta clase está marcada como experimental."
+
msgid "No description available for %s."
msgstr "No hay descripción disponible para %s."
@@ -895,9 +1215,21 @@ msgstr "Copiar Ruta del Nodo"
msgid "Instance:"
msgstr "Instancia:"
+msgid ""
+"This node has been instantiated from a PackedScene file:\n"
+"%s\n"
+"Click to open the original file in the Editor."
+msgstr ""
+"Este nodo ha sido instanciado desde un archivo PackedScene:\n"
+"%s\n"
+"Haz clic para abrir el archivo original en el Editor."
+
msgid "Toggle Visibility"
msgstr "Cambiar Visibilidad"
+msgid "ms"
+msgstr "ms"
+
msgid "Monitors"
msgstr "Monitores"
@@ -979,6 +1311,9 @@ msgstr "Error:"
msgid "%s Error"
msgstr "Error %s"
+msgid "%s Error:"
+msgstr "%s Error:"
+
msgid "Stack Trace"
msgstr "Rastreo de Pila"
@@ -1470,6 +1805,9 @@ msgstr "Nombre del Nodo:"
msgid "Global Variable"
msgstr "Variable global"
+msgid "3D Engine"
+msgstr "Motor 3D"
+
msgid "2D Physics"
msgstr "Física 2D"
@@ -1482,6 +1820,12 @@ msgstr "Navegación"
msgid "OpenGL"
msgstr "OpenGL"
+msgid "Vulkan"
+msgstr "Vulkan"
+
+msgid "2D Physics nodes and PhysicsServer2D."
+msgstr "Nodos de física 2D y PhysicsServer2D."
+
msgid "Navigation, both 2D and 3D."
msgstr "Navigation, tanto en 2D como en 3D."
@@ -1707,9 +2051,6 @@ msgstr "Abrir"
msgid "Select Current Folder"
msgstr "Seleccionar Carpeta Actual"
-msgid "File exists, overwrite?"
-msgstr "El archivo existe, ¿sobrescribirlo?"
-
msgid "Select This Folder"
msgstr "Seleccionar Esta Carpeta"
@@ -1806,6 +2147,11 @@ msgstr "Vista Previa:"
msgid "File:"
msgstr "Archivo:"
+msgid "Some extensions need the editor to restart to take effect."
+msgstr ""
+"Algunas extensiones necesitan que se reinicie el editor para que produzcan "
+"efecto."
+
msgid "Restart"
msgstr "Reiniciar"
@@ -1831,9 +2177,49 @@ msgstr "Importar recursos del tipo: %s"
msgid "No return value."
msgstr "No retorna ningún valor."
+msgid "Deprecated"
+msgstr "Obsoleta"
+
+msgid "Experimental"
+msgstr "Experimental"
+
+msgid "This method supports a variable number of arguments."
+msgstr "Este método soporta un número variable de argumentos."
+
+msgid ""
+"This method is called by the engine.\n"
+"It can be overridden to customize built-in behavior."
+msgstr ""
+"Este método es llamado por el motor.\n"
+"Puede ser sobrescrito para personalizar el comportamiento integrado."
+
+msgid ""
+"This method has no side effects.\n"
+"It does not modify the object in any way."
+msgstr ""
+"Este método no tiene efectos secundarios.\n"
+"No modifica el objeto de ninguna forma."
+
+msgid ""
+"This method does not need an instance to be called.\n"
+"It can be called directly using the class name."
+msgstr ""
+"Este método no requiere una instancia para ser llamado.\n"
+"Puede ser llamado directamente utilizando el nombre de la clase."
+
msgid "Error codes returned:"
msgstr "Códigos de error devueltos:"
+msgid "There is currently no description for this %s."
+msgstr "Actualmente no existe una descripción para esto %s."
+
+msgid ""
+"There is currently no description for this %s. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Actualmente no existe una descripción para esto %s. Por favor ayudanos "
+"[color=$color][url=$url]aportando una[/url][/color]!"
+
msgid "Top"
msgstr "Superior"
@@ -1846,6 +2232,18 @@ msgstr "Herencia:"
msgid "Inherited by:"
msgstr "Heredado de:"
+msgid ""
+"This class is marked as deprecated. It will be removed in future versions."
+msgstr ""
+"Esta clase está marcada como obsoleta. Se eliminará en futuras versiones."
+
+msgid ""
+"This class is marked as experimental. It is subject to likely change or "
+"possible removal in future versions. Use at your own discretion."
+msgstr ""
+"Esta clase está marcada como experimental. Es probable que cambie o sea "
+"removida en futuras versiones. Utilízala según tu propio criterio."
+
msgid "Description"
msgstr "Descripción"
@@ -2962,12 +3360,12 @@ msgstr "No se pudo crear el archivo \"%s\"."
msgid "Failed to export project files."
msgstr "Fallo en la exportación de los archivos del proyecto."
-msgid "Can't open file to read from path \"%s\"."
-msgstr "No se puede abrir el archivo a leer de la ruta \"%s\"."
-
msgid "Can't open encrypted file to write."
msgstr "No se puede abrir el archivo encriptado para escribir."
+msgid "Can't open file to read from path \"%s\"."
+msgstr "No se puede abrir el archivo a leer de la ruta \"%s\"."
+
msgid "Save ZIP"
msgstr "Guardar como ZIP"
@@ -4167,6 +4565,9 @@ msgstr "Herramientas de Animación"
msgid "Animation"
msgstr "Animación"
+msgid "Manage Animations..."
+msgstr "Gestionar Animaciones..."
+
msgid "Edit Transitions..."
msgstr "Editar Transiciones..."
@@ -5060,6 +5461,11 @@ msgstr ""
"Cuando se utiliza de forma remota en un dispositivo, esto es más eficiente "
"cuando la opción de sistema de archivos en red está activada."
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "Ejecutar %d Instancia"
+msgstr[1] "Ejecutar %d Instancias"
+
msgid " - Variation"
msgstr " - Variación"
@@ -5421,6 +5827,9 @@ msgstr "Cambiar Notificador AABB"
msgid "Change Particles AABB"
msgstr "Cambiar partículas AABB"
+msgid "Change Probe Size"
+msgstr "Cambiar Tamaño de la Sonda"
+
msgid "Change Capsule Shape Radius"
msgstr "Cambiar Radio de la Forma de la Cápsula"
@@ -5589,9 +5998,18 @@ msgstr "Mostrar Sin Sombreado"
msgid "Shadow Atlas"
msgstr "Sombra del Atlas"
+msgid "SDFGI Probes"
+msgstr "Sondas SDFGI"
+
msgid "SSAO"
msgstr "SSAO"
+msgid "ReflectionProbe Cluster"
+msgstr "Clúster ReflectionProbe"
+
+msgid "Display Advanced..."
+msgstr "Mostrar Avanzado..."
+
msgid "View Environment"
msgstr "Ver Entorno"
@@ -5672,6 +6090,9 @@ msgstr "Ajustar Nodos al Suelo"
msgid "Couldn't find a solid floor to snap the selection to."
msgstr "No se pudo encontrar un suelo sólido para ajustar la selección."
+msgid "Preview disabled."
+msgstr "Vista previa desactivada."
+
msgid "Use Local Space"
msgstr "Usar Espacio Local"
@@ -5819,15 +6240,54 @@ msgstr "Anterior"
msgid "Post"
msgstr "Posterior"
+msgid "Sun Direction"
+msgstr "Dirección del Sol"
+
+msgid "Angular Altitude"
+msgstr "Altitud Angular"
+
+msgid "Azimuth"
+msgstr "Acimut"
+
msgid "Sun Color"
msgstr "Color de Sol"
+msgid "Sun Energy"
+msgstr "Energía del Sol"
+
+msgid "Shadow Max Distance"
+msgstr "Distancia Máxima de la Sombra"
+
+msgid "Add Sun to Scene"
+msgstr "Añadir un Sol a la Escena"
+
+msgid "Preview Environment"
+msgstr "Previsualizar el Entorno"
+
+msgid "Sky Color"
+msgstr "Color del Cielo"
+
+msgid "Ground Color"
+msgstr "Color del Suelo"
+
+msgid "Sky Energy"
+msgstr "Energía del Cielo"
+
+msgid "AO"
+msgstr "AO"
+
msgid "Glow"
msgstr "Brillo"
msgid "Tonemap"
msgstr "Tonemap"
+msgid "GI"
+msgstr "GI"
+
+msgid "Post Process"
+msgstr "Post-Procesado"
+
msgid "Remove Point from Curve"
msgstr "Borrar Punto de la Curva"
@@ -6398,6 +6858,9 @@ msgstr "Ir al Siguiente Punto de Ruptura"
msgid "Go to Previous Breakpoint"
msgstr "Ir al Anterior Punto de Ruptura"
+msgid "Save File As"
+msgstr "Guardar Archivo Como"
+
msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr "Este esqueleto no tiene huesos, crea algunos nodos Bone2D hijos."
@@ -6419,6 +6882,9 @@ msgstr "Sobrescribir la Pose de Reposo"
msgid "Create physical bones"
msgstr "Crear huesos físicos"
+msgid "Export Skeleton Profile As..."
+msgstr "Exportar Perfil de Esqueleto Como..."
+
msgid "Play IK"
msgstr "Reproducir IK"
@@ -6770,6 +7236,9 @@ msgstr "Añadir Tipo de Theme"
msgid "Remove Theme Type"
msgstr "Eliminar Tipo de Theme"
+msgid "Remove Data Type Items From Theme"
+msgstr "Eliminar Elementos de Tipo de Datos del Tema"
+
msgid "Add Color Item"
msgstr "Añadir Elemento Color"
@@ -6898,6 +7367,9 @@ msgstr "Añadir Tipo de Elemento"
msgid "Add Type"
msgstr "Añadir Tipo"
+msgid "Override All Default Theme Items"
+msgstr "Sobreescribir Todos los Elementos del Tema por Defecto"
+
msgid "Set Variation Base Type"
msgstr "Establecer tipo de base de variación"
@@ -7052,6 +7524,9 @@ msgstr "Voltear Verticalmente"
msgid "Painting:"
msgstr "Pintando:"
+msgid "Shift+Ctrl: Draw rectangle."
+msgstr "Shift+Ctrl: Dibujar rectángulo."
+
msgid "Place Random Tile"
msgstr "Colocar Tile Aleatorio"
@@ -7061,18 +7536,36 @@ msgstr "Dispersión:"
msgid "Tiles"
msgstr "Tiles"
+msgid "Toggle grid visibility."
+msgstr "Cambiar visibilidad de la cuadrícula."
+
+msgid "Delete All Tile Proxies"
+msgstr "Eliminar Todos los Proxies de Tiles"
+
msgid "Global actions:"
msgstr "Acciones Globales:"
msgid "Atlas"
msgstr "Atlas"
+msgid "Select tiles."
+msgstr "Seleccionar tiles."
+
+msgid "No tiles selected."
+msgstr "No hay tiles seleccionados."
+
msgid "Paint Properties:"
msgstr "Propiedades de Pintura:"
msgid "Yes"
msgstr "Sí"
+msgid "Add a new atlas source"
+msgstr "Añadir una nueva fuente de atlas"
+
+msgid "Add a Scene Tile"
+msgstr "Añadir un Tile de Escena"
+
msgid "Scenes collection properties:"
msgstr "Propiedades de la Colección de Escenas:"
@@ -7379,6 +7872,9 @@ msgstr "Operador SoftLight."
msgid "Color constant."
msgstr "Constante de color."
+msgid "Color parameter."
+msgstr "Parámetro de Color."
+
msgid "Returns the boolean result of the %s comparison between two parameters."
msgstr ""
"Devuelve el resultado booleano de la comparación de %s entre dos parámetros."
@@ -7552,7 +8048,7 @@ msgstr ""
"Devuelve el valor del primer parámetro elevado a la potencia del segundo."
msgid "Converts a quantity in degrees to radians."
-msgstr "Convierte un valor de grados a radianes."
+msgstr "Convierte una cantidad en grados a radianes."
msgid "1.0 / scalar"
msgstr "1.0 / escalar"
@@ -7615,12 +8111,18 @@ msgstr "Devuelve la tangente hiperbólica del parámetro."
msgid "Finds the truncated value of the parameter."
msgstr "Encuentra el valor truncado del parámetro."
+msgid "Converts screen UV to a SDF."
+msgstr "Convierte la pantalla UV a SDF."
+
msgid "Perform the cubic texture lookup."
msgstr "Realiza una búsqueda de texturas cúbicas."
msgid "Transform function."
msgstr "Función Transform."
+msgid "Transform operator."
+msgstr "Operador de transformación."
+
msgid ""
"Calculate the outer product of a pair of vectors.\n"
"\n"
@@ -7653,6 +8155,12 @@ msgstr "Calcula el inverso de una transformación."
msgid "Calculates the transpose of a transform."
msgstr "Calcula la transposición de una transformación."
+msgid "Sums two transforms."
+msgstr "Suma dos transformaciones."
+
+msgid "Subtracts two transforms."
+msgstr "Resta dos transformaciones."
+
msgid "Multiplies vector by transform."
msgstr "Multiplica vector por transformación."
@@ -7796,6 +8304,9 @@ msgstr ""
"código en la función vertex/fragment/light, no la uses para escribir "
"declaraciones de funciones en su interior."
+msgid "A reference to an existing parameter."
+msgstr "Una referencia a un parámetro existente."
+
msgid "Edit Visual Property:"
msgstr "Editar Propiedad Visual:"
@@ -7823,6 +8334,13 @@ msgstr "Por favor, elige un archivo \"project.godot\" o \".zip\"."
msgid "This directory already contains a Godot project."
msgstr "El directorio ya contiene un proyecto de Godot."
+msgid ""
+"The selected path is not empty. Choosing an empty folder is highly "
+"recommended."
+msgstr ""
+"La ruta seleccionada no está vacía. Lo más recomendable es elegir una "
+"carpeta vacía."
+
msgid "New Game Project"
msgstr "Nuevo Proyecto de Juego"
@@ -7841,6 +8359,42 @@ msgstr "Ya hay una carpeta en esta ruta con ese nombre."
msgid "It would be a good idea to name your project."
msgstr "Sería una buena idea nombrar tu proyecto."
+msgid "Supports desktop platforms only."
+msgstr "Compatible solo con plataformas de escritorio."
+
+msgid "Advanced 3D graphics available."
+msgstr "Gráficos 3D avanzados disponibles."
+
+msgid "Can scale to large complex scenes."
+msgstr "Escalable a escenas grandes y complejas."
+
+msgid "Slower rendering of simple scenes."
+msgstr "Renderizado más lento de escenas simples."
+
+msgid "Supports desktop + mobile platforms."
+msgstr "Compatible con plataformas de escritorio y móviles."
+
+msgid "Less advanced 3D graphics."
+msgstr "Gráficos 3D menos avanzados."
+
+msgid "Less scalable for complex scenes."
+msgstr "Menos escalable para escenas complejas."
+
+msgid "Fast rendering of simple scenes."
+msgstr "Renderizado rápido de escenas simples."
+
+msgid "Supports desktop, mobile + web platforms."
+msgstr "Compatible con plataformas de escritorio, móviles y web."
+
+msgid "Least advanced 3D graphics (currently work-in-progress)."
+msgstr "Gráficos 3D mucho menos avanzados (aún trabajando en ello)."
+
+msgid "Intended for low-end/older devices."
+msgstr "Destinado para dispositivos de gama baja/antiguos."
+
+msgid "Fastest rendering of simple scenes."
+msgstr "Renderizado más rápido de escenas simples."
+
msgid "Invalid project path (changed anything?)."
msgstr "La ruta del proyecto no es correcta (¿has cambiado algo?)."
@@ -7853,9 +8407,28 @@ msgstr ""
msgid "Couldn't save project at '%s' (error %d)."
msgstr "No se pudo guardar el proyecto en '%s' (error %d)."
+msgid "Warning: This folder is not empty"
+msgstr "Advertencia: Esta carpeta no está vacía"
+
+msgid ""
+"You are about to create a Godot project in a non-empty folder.\n"
+"The entire contents of this folder will be imported as project resources!\n"
+"\n"
+"Are you sure you wish to continue?"
+msgstr ""
+"Estás a punto de crear un proyecto de Godot en una carpeta que no está "
+"vacía.\n"
+"¡Todo el contenido de esta carpeta será importado como recursos del "
+"proyecto!\n"
+"\n"
+"¿Seguro que deseas continuar?"
+
msgid "Couldn't create project.godot in project path."
msgstr "No se pudo crear project.godot en la ruta del proyecto."
+msgid "Couldn't create icon.svg in project path."
+msgstr "No se pudo crear el icon.svg en la ruta del proyecto."
+
msgid "Error opening package file, not in ZIP format."
msgstr "Error al abrir el archivo comprimido, no está en formato ZIP."
@@ -7898,9 +8471,17 @@ msgstr "Ruta de Instalación del Proyecto:"
msgid "Renderer:"
msgstr "Renderizador:"
+msgid "The renderer can be changed later, but scenes may need to be adjusted."
+msgstr ""
+"El renderizador puede ser cambiado posteriormente, pero las escenas pueden "
+"requerir ajustes."
+
msgid "Version Control Metadata:"
msgstr "Metadatos de Control de Versión:"
+msgid "Git"
+msgstr "Git"
+
msgid "Missing Project"
msgstr "Proyecto Faltante"
@@ -7942,6 +8523,9 @@ msgstr ""
"Advertencia: Ya no podrás abrir el proyecto con versiones anteriores del "
"motor."
+msgid "Convert project.godot Only"
+msgstr "Solo convertir project.godot"
+
msgid ""
"The selected project \"%s\" was generated by an older engine version, and "
"needs to be converted for this version.\n"
@@ -7963,6 +8547,9 @@ msgstr ""
"Advertencia: Ya no podrás abrir el proyecto con versiones anteriores del "
"motor."
+msgid "Convert project.godot"
+msgstr "Convertir project.godot"
+
msgid ""
"Can't open project \"%s\" at the following path:\n"
"\n"
@@ -7978,6 +8565,9 @@ msgstr ""
"La configuración del proyecto fue creada por una versión más reciente del "
"motor, cuya configuración no es compatible con esta versión."
+msgid "Open anyway? Project will be modified."
+msgstr "¿Abrir de todas formas? El proyecto será modificado."
+
msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
@@ -7995,7 +8585,7 @@ msgstr ""
"Por favor, edita el proyecto para activar el importado inicial."
msgid "Are you sure to run %d projects at once?"
-msgstr "¿Estás seguro de que vas a ejecutar %d proyectos a la vez?"
+msgstr "¿Estás seguro de ejecutar %d proyectos a la vez?"
msgid "Remove %d projects from the list?"
msgstr "¿Quitar %d proyectos de la lista?"
@@ -8043,6 +8633,9 @@ msgstr ""
msgid "Loading, please wait..."
msgstr "Cargando, espera por favor..."
+msgid "Last Edited"
+msgstr "Último Editado"
+
msgid "New Project"
msgstr "Nuevo Proyecto"
@@ -8089,9 +8682,15 @@ msgstr ""
"Actualmente no tienes ningún proyecto.\n"
"¿Quieres explorar proyectos de ejemplo oficiales en la Librería de Assets?"
+msgid "Add Project Setting"
+msgstr "Añadir Configuración del Proyecto"
+
msgid "Delete Item"
msgstr "Eliminar Elemento"
+msgid "(All)"
+msgstr "(Todo)"
+
msgid "Add Input Action"
msgstr "Añadir acción de entrada"
@@ -8101,15 +8700,20 @@ msgstr "Cambiar zona muerta de la acción"
msgid "Erase Input Action"
msgstr "Eliminar Acción de Entrada"
-msgid "Rename Input Action Event"
-msgstr "Renombrar evento de acción de entrada"
-
msgid "Project Settings (project.godot)"
msgstr "Configuración del Proyecto (project.godot)"
+msgid "Advanced Settings"
+msgstr "Configuraciones Avanzadas"
+
msgid "Select a Setting or Type its Name"
msgstr "Selecciona un Ajuste o Escribe su Nombre"
+msgid "Changed settings will be applied to the editor after restarting."
+msgstr ""
+"Las configuraciones modificadas serán aplicadas al editor luego de "
+"reiniciarlo."
+
msgid "Input Map"
msgstr "Mapa de Entrada"
@@ -8146,6 +8750,21 @@ msgstr "Opciones Avanzadas"
msgid "Substitute"
msgstr "Sustituir"
+msgid "Node name."
+msgstr "Nombre del nodo."
+
+msgid "Node's parent name, if available."
+msgstr "El nombre del nodo padre está disponible."
+
+msgid "Node type."
+msgstr "Tipo de nodo."
+
+msgid "Current scene name."
+msgstr "Nombre de la escena actual."
+
+msgid "Root node name."
+msgstr "Nombre del nodo raíz."
+
msgid ""
"Sequential integer counter.\n"
"Compare counter options."
@@ -8160,9 +8779,15 @@ msgid "If set, the counter restarts for each group of child nodes."
msgstr ""
"Si está activado, el contador se reinicia por cada grupo de nodos hijos."
+msgid "Initial value for the counter."
+msgstr "Valor inicial del contador."
+
msgid "Step"
msgstr "Paso"
+msgid "Amount by which counter is incremented for each node."
+msgstr "Cantidad en la que se incrementa el contador por cada nodo."
+
msgid "Padding"
msgstr "Relleno"
@@ -8215,6 +8840,9 @@ msgstr "Mantener transformación global"
msgid "Reparent"
msgstr "Reemparentar"
+msgid "File name invalid."
+msgstr "El nombre del archivo es inválido."
+
msgid "Root Type:"
msgstr "Tipo de Raíz:"
@@ -8685,6 +9313,9 @@ msgstr ""
msgid "Invalid instance dictionary (invalid subclasses)"
msgstr "El diccionario de instancias no es correcto (subclases erróneas)"
+msgid "Path to Blender installation is valid."
+msgstr "La ruta de instalación de Blender es válida."
+
msgid "Next Plane"
msgstr "Siguiente Plano"
@@ -8808,6 +9439,10 @@ msgstr "Tamaño"
msgid "Network Profiler"
msgstr "Profiler de Red"
+msgid "Not possible to add a new property to synchronize without a root."
+msgstr ""
+"No es posible añadir una nueva propiedad para sincronizar sin una raíz."
+
msgid "Delete Property?"
msgstr "¿Eliminar Propiedad?"
@@ -8864,6 +9499,9 @@ msgstr "¡Hecho!"
msgid "Error loading %s: %s."
msgstr "Error al cargar %s: %s."
+msgid "Add an action set."
+msgstr "Añadir un conjunto de acciones."
+
msgid "Pose"
msgstr "Pose"
@@ -9382,6 +10020,13 @@ msgstr ""
"en Mac con Gatekeeper habilitado y Mac con tecnología Apple Silicon."
msgid ""
+"Code signing: Using ad-hoc signature. The exported project will be blocked "
+"by Gatekeeper"
+msgstr ""
+"Firma del código: Se utiliza una firma ad-hoc. El proyecto exportado será "
+"bloqueado por Gatekeeper"
+
+msgid ""
"Privacy: Microphone access is enabled, but usage description is not "
"specified."
msgstr ""
@@ -9706,6 +10351,17 @@ msgstr ""
"Por favor, úsalo solo como hijo de Area3D, StaticBody3D, RigidBody3D, "
"CharacterBody3D, etc. para darles una forma."
+msgid ""
+"CollisionShape3D only serves to provide a collision shape to a "
+"CollisionObject3D derived node.\n"
+"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. to give them a shape."
+msgstr ""
+"CollisionShape3D solo sirve para proporcionar una forma de colisión a un "
+"nodo derivado CollisionObject3D.\n"
+"Por favor, úsalo solo como hijo de Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. para darles una forma."
+
msgid "Nothing is visible because no mesh has been assigned."
msgstr "No hay nada visible porque no se ha asignado ninguna malla."
@@ -9715,6 +10371,9 @@ msgstr ""
"No hay nada visible porque no se han asignado mallas para los pases de "
"dibujo."
+msgid "Creating probes"
+msgstr "Crear sondas"
+
msgid "Generating Probe Volumes"
msgstr "Generando Volúmenes de Sonda"
@@ -9779,12 +10438,12 @@ msgstr ""
"Color: #%s\n"
"Clic izq: Aplicar color"
-msgid "Pick a color from the editor window."
-msgstr "Selecciona un color de la ventana del editor."
-
msgid "Select a picker shape."
msgstr "Selecciona una forma de selección."
+msgid "Select a picker mode."
+msgstr "Elige un modo de selección."
+
msgid "Switch between hexadecimal and code values."
msgstr "Cambiar entre valores hexadecimales y de código."
@@ -9818,9 +10477,6 @@ msgstr "¡Alerta!"
msgid "Please Confirm..."
msgstr "Por favor, Confirma..."
-msgid "Must use a valid extension."
-msgstr "Debe tener una extensión válida."
-
msgid "Enable grid minimap."
msgstr "Activar minimapa de cuadrícula."
@@ -9849,6 +10505,21 @@ msgstr ""
"'%s' ya no está establecido como un nombre único."
msgid ""
+"This node is marked as deprecated and will be removed in future versions.\n"
+"Please check the Godot documentation for information about migration."
+msgstr ""
+"Este nodo está marcado como obsoleto y será removido en futuras versiones.\n"
+"Por favor consulta la documentación de Godot para obtener información sobre "
+"migración."
+
+msgid ""
+"This node is marked as experimental and may be subject to removal or major "
+"changes in future versions."
+msgstr ""
+"Este nodo está marcado como experimental y es propenso a ser removido o "
+"sufrir cambios importantes en futuras versiones."
+
+msgid ""
"Default Environment as specified in Project Settings (Rendering -> "
"Environment -> Default Environment) could not be loaded."
msgstr ""
@@ -9857,6 +10528,13 @@ msgstr ""
"Predeterminado)."
msgid ""
+"ShaderGlobalsOverride is not active because another node of the same type is "
+"in the scene."
+msgstr ""
+"ShaderGlobalsOverride no está activo debido a que ya existe otro nodo del "
+"mismo tipo en la escena."
+
+msgid ""
"Very low timer wait times (< 0.05 seconds) may behave in significantly "
"different ways depending on the rendered or physics frame rate.\n"
"Consider using a script's process loop instead of relying on a Timer for "
@@ -9875,6 +10553,9 @@ msgstr ""
"El tamaño del Viewport debe ser mayor o igual a 2 píxeles en ambas "
"dimensiones para renderizar cualquier cosa."
+msgid "Cannot open font from file: %s."
+msgstr "No se puede abrir la fuente desde el archivo: %s."
+
msgid "Unsupported BMFont texture format."
msgstr "Formato de textura BMFont no compatible."
@@ -9886,6 +10567,13 @@ msgstr ""
"Elige otro nombre."
msgid ""
+"Global parameter '%s' does not exist.\n"
+"Create it in the Project Settings."
+msgstr ""
+"El parámetro global '%s' no existe.\n"
+"Créalo en la Configuración del Proyecto."
+
+msgid ""
"The sampler port is connected but not used. Consider changing the source to "
"'SamplerPort'."
msgstr ""
@@ -9898,6 +10586,9 @@ msgstr "Fuente inválida para la vista previa."
msgid "Invalid source for shader."
msgstr "Fuente inválida para el shader."
+msgid "Invalid operator for that type."
+msgstr "Operador no válido para ese tipo."
+
msgid "Default Color"
msgstr "Color Predeterminado"
@@ -9910,6 +10601,18 @@ msgstr "Repetir"
msgid "Invalid comparison function for that type."
msgstr "Función de comparación inválida para este tipo."
+msgid "2D Mode"
+msgstr "Modo 2D"
+
+msgid "Invalid arguments for the built-in function: \"%s(%s)\"."
+msgstr "Argumentos inválidos para la función integrada: \"%s(%s)\"."
+
+msgid "Invalid assignment of '%s' to '%s'."
+msgstr "Asignación inválida de '%s' a '%s'."
+
+msgid "Expected constant expression."
+msgstr "Se esperaba una expresión constante."
+
msgid "Varying may not be assigned in the '%s' function."
msgstr "No se puede asignar la variable en la función '%s'."
@@ -9922,12 +10625,51 @@ msgstr "Asignación a uniform."
msgid "Constants cannot be modified."
msgstr "Las constantes no pueden modificarse."
+msgid "Cannot convert from '%s' to '%s'."
+msgstr "No se puede convertir de '%s' a '%s'."
+
+msgid "Expected ')' in expression."
+msgstr "Se esperaba ')' en la expresión."
+
+msgid "Void value not allowed in expression."
+msgstr "Valor nulo no permitido en la expresión."
+
+msgid "No matching constructor found for: '%s'."
+msgstr "No se ha encontrado ningún constructor para: '%s'."
+
+msgid "No matching function found for: '%s'."
+msgstr "No se ha encontrado ninguna función que coincida con: '%s'."
+
+msgid "Invalid arguments to unary operator '%s': %s."
+msgstr "Argumentos inválidos para el operador unario '%s': %s."
+
+msgid "Invalid argument to ternary operator: '%s'."
+msgstr "Argumento inválido para el operador ternario: '%s'."
+
+msgid "Invalid arguments to operator '%s': '%s'."
+msgstr "Argumentos inválidos para el operador '%s': '%s'."
+
msgid "Invalid variable type (samplers are not allowed)."
msgstr "Tipo de variable inválido (los samplers no están permitidos)."
+msgid "Duplicated case label: %d."
+msgstr "Etiqueta duplicada: %d."
+
+msgid "Duplicated render mode: '%s'."
+msgstr "Modo de renderizado duplicado: '%s'."
+
msgid "Expected data type."
msgstr "Tipo de datos esperado."
+msgid "Duplicated hint: '%s'."
+msgstr "Sugerencia duplicada: '%s'."
+
+msgid "Duplicated filter mode: '%s'."
+msgstr "Modo de filtro duplicado: '%s'."
+
+msgid "Duplicated repeat mode: '%s'."
+msgstr "Modo de repetición duplicado: '%s'."
+
msgid "Invalid constant type (samplers are not allowed)."
msgstr "Tipo de constante inválido (los samplers no están permitidos)."
@@ -9937,8 +10679,42 @@ msgstr "Tipo de función inválido (los samplers no están permitidos)."
msgid "Expected a '%s'."
msgstr "Se esperaba un '%s'."
+msgid "Expected a '%s' or '%s'."
+msgstr "Se esperaba un '%s' o '%s'."
+
+msgid "Redefinition of '%s'."
+msgstr "Redefinición de '%s'."
+
msgid "Invalid argument name."
msgstr "Nombre de argumento inválido."
+msgid "Missing condition."
+msgstr "Condición perdida."
+
+msgid "Condition evaluation error."
+msgstr "Error de evaluación de la condición."
+
msgid "Invalid macro argument count."
msgstr "Contador de argumentos de macro inválido."
+
+msgid "The function '%s' is declared but never used."
+msgstr "La función '%s' está declarada, pero nunca se utiliza."
+
+msgid "The struct '%s' is declared but never used."
+msgstr "La estructura '%s' se ha declarado, pero nunca se ha utilizado."
+
+msgid "The uniform '%s' is declared but never used."
+msgstr "El uniform '%s' se ha declarado, pero nunca se ha utilizado."
+
+msgid "The varying '%s' is declared but never used."
+msgstr "La variable '%s' se ha declarado, pero nunca se ha utilizado."
+
+msgid "The local variable '%s' is declared but never used."
+msgstr "La variable local '%s' se ha declarado, pero nunca se ha utilizado."
+
+msgid ""
+"The total size of the %s for this shader on this device has been exceeded "
+"(%d/%d). The shader may not work correctly."
+msgstr ""
+"El tamaño total de %s para este sombreador en este dispositivo ha sido "
+"excedido (%d/%d). El sombreador podría funcionar de forma incorrecta."
diff --git a/editor/translations/editor/es_AR.po b/editor/translations/editor/es_AR.po
index 964b6858b9..febc87393d 100644
--- a/editor/translations/editor/es_AR.po
+++ b/editor/translations/editor/es_AR.po
@@ -440,12 +440,6 @@ msgstr "Usar Curvas Bezier"
msgid "Create RESET Track(s)"
msgstr "Crear RESET Track(s)"
-msgid "Anim. Optimizer"
-msgstr "Optimizador de animación"
-
-msgid "Max. Angular Error:"
-msgstr "Error Angular Max.:"
-
msgid "Optimize"
msgstr "Optimizar"
@@ -1442,9 +1436,6 @@ msgstr "Abrir"
msgid "Select Current Folder"
msgstr "Seleccionar Carpeta Actual"
-msgid "File exists, overwrite?"
-msgstr "El archivo existe, sobrescribir?"
-
msgid "Select This Folder"
msgstr "Seleccionar Esta Carpeta"
@@ -7093,9 +7084,6 @@ msgstr "Cambiar zona muerta de la Acción"
msgid "Erase Input Action"
msgstr "Borrar Acción de Entrada"
-msgid "Rename Input Action Event"
-msgstr "Renombrar Evento de Acción de Entrada"
-
msgid "Project Settings (project.godot)"
msgstr "Configuración de Proyecto (project.godot)"
@@ -8410,9 +8398,6 @@ msgstr ""
msgid "The AnimationPlayer root node is not a valid node."
msgstr "La raíz del nodo AnimationPlayer no es un nodo válido."
-msgid "Pick a color from the editor window."
-msgstr "Elegir un color de la ventana del editor."
-
msgid "Switch between hexadecimal and code values."
msgstr "Cambiar entre valores hexadecimales y de código."
@@ -8443,9 +8428,6 @@ msgstr "Alerta!"
msgid "Please Confirm..."
msgstr "Confirmá, por favor..."
-msgid "Must use a valid extension."
-msgstr "Debe ser una extensión válida."
-
msgid "Enable grid minimap."
msgstr "Activar minimapa de grilla."
diff --git a/editor/translations/editor/fi.po b/editor/translations/editor/fi.po
index 559817673a..8d349793bf 100644
--- a/editor/translations/editor/fi.po
+++ b/editor/translations/editor/fi.po
@@ -421,12 +421,6 @@ msgstr "Käytä Bezier-käyriä"
msgid "Create RESET Track(s)"
msgstr "Luo palautusraidat"
-msgid "Anim. Optimizer"
-msgstr "Animaation optimoija"
-
-msgid "Max. Angular Error:"
-msgstr "Max. kulmavirhe:"
-
msgid "Optimize"
msgstr "Optimoi"
@@ -1419,9 +1413,6 @@ msgstr "Avaa"
msgid "Select Current Folder"
msgstr "Valitse nykyinen kansio"
-msgid "File exists, overwrite?"
-msgstr "Tiedosto on jo olemassa, korvataanko?"
-
msgid "Select This Folder"
msgstr "Valitse tämä kansio"
@@ -7099,9 +7090,6 @@ msgstr "Vaihda toiminnon katvealue"
msgid "Erase Input Action"
msgstr "Tyhjennä syötetoiminto"
-msgid "Rename Input Action Event"
-msgstr "Nimeä syötetoiminto uudelleen"
-
msgid "Project Settings (project.godot)"
msgstr "Projektin asetukset (project.godot)"
@@ -8464,9 +8452,6 @@ msgstr ""
"Vasen hiirenkorva: Aseta väri\n"
"Oikea hiirenkorva: Poista esiasetus"
-msgid "Pick a color from the editor window."
-msgstr "Valitse väri editori-ikkunasta."
-
msgid "Switch between hexadecimal and code values."
msgstr "Vaihda heksadesimaali- ja koodiarvojen välillä."
@@ -8497,9 +8482,6 @@ msgstr "Huomio!"
msgid "Please Confirm..."
msgstr "Ole hyvä ja vahvista..."
-msgid "Must use a valid extension."
-msgstr "Käytä sopivaa tiedostopäätettä."
-
msgid "Enable grid minimap."
msgstr "Käytä ruudukon pienoiskarttaa."
diff --git a/editor/translations/editor/fr.po b/editor/translations/editor/fr.po
index acb33aecf6..50bbeeeea6 100644
--- a/editor/translations/editor/fr.po
+++ b/editor/translations/editor/fr.po
@@ -113,13 +113,18 @@
# nuclehon <benjamin.deslandes1@gmail.com>, 2023.
# Siandfrance <Siandfrance@gmail.com>, 2023.
# Thalya Gauvrit <skar0ps.dev@gmail.com>, 2023.
+# Malo Barbot <moy_97@hotmail.fr>, 2023.
+# Quentin Franchi <general@quentinfranchi.com>, 2023.
+# Godot Trad FR <godottrad@mailo.com>, 2023.
+# Ponthieu <7hip.po6@orange.fr>, 2023.
+# Hipolyte Ponthieu <7hip.po6@orange.fr>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 14:12+0000\n"
-"Last-Translator: Siandfrance <Siandfrance@gmail.com>\n"
+"PO-Revision-Date: 2023-02-20 00:45+0000\n"
+"Last-Translator: Hipolyte Ponthieu <7hip.po6@orange.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot/fr/>\n"
"Language: fr\n"
@@ -130,7 +135,7 @@ msgstr ""
"X-Generator: Weblate 4.16-dev\n"
msgid "Unset"
-msgstr "Vider"
+msgstr "Non défini"
msgid "Physical"
msgstr "Physique"
@@ -270,11 +275,17 @@ msgstr "Palette Xbox 4"
msgid "PS4/5 Touchpad"
msgstr "Pavé tactile PS4/5"
+msgid "Joypad Button %d"
+msgstr "Bouton de joystick %d"
+
+msgid "Pressure:"
+msgstr "Pression :"
+
msgid "touched"
msgstr "Touché"
msgid "released"
-msgstr "Relâché"
+msgstr "relâché"
msgid "Screen %s at (%s) with %s touch points"
msgstr "Écran %s à (%s) avec %s points de contact"
@@ -387,6 +398,18 @@ msgstr "Supprimer mot"
msgid "Delete all to Right"
msgstr "Tout supprimer à droite"
+msgid "Caret Left"
+msgstr "Curseur à Gauche"
+
+msgid "Caret Word Right"
+msgstr "Curseur à droite du mot"
+
+msgid "Caret Up"
+msgstr "Déplacer le curseur vers le haut"
+
+msgid "Caret Add Above"
+msgstr "Ajouter un curseur au-dessus"
+
msgid "Scroll Up"
msgstr "Défilement vers le haut"
@@ -402,8 +425,8 @@ msgstr "Sélectionner les mots sous le caret"
msgid "Add Selection for Next Occurrence"
msgstr "Ajouter la Sélection pour la Prochaine Occurence"
-msgid "Text Submitted"
-msgstr "Texte Proposé"
+msgid "Toggle Insert Mode"
+msgstr "Basculer en mode insertion"
msgid "Duplicate Nodes"
msgstr "Dupliquer le(s) nœud(s)"
@@ -486,6 +509,11 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "Une action avec le nom « %s » existe déjà."
+msgid "Cannot Revert - Action is same as initial"
+msgstr ""
+"Impossible de revenir en arrière - L'action est identique à ce qui était "
+"initialement"
+
msgid "Add Event"
msgstr "Ajouter un évènement"
@@ -540,6 +568,15 @@ msgstr "Dupliquer la(les) clé(s) sélectionnée(s)"
msgid "Delete Selected Key(s)"
msgstr "Supprimer (la)les clé(s) sélectionnée(s)"
+msgid "Make Handles Mirrored"
+msgstr "Inverser les Anses"
+
+msgid "Make Handles Balanced (Auto Tangent)"
+msgstr "Équilibrer les Anses (Tangente Automatique)"
+
+msgid "Make Handles Mirrored (Auto Tangent)"
+msgstr "Appliquer manipulations en miroir (Auto-Tangente)"
+
msgid "Add Bezier Point"
msgstr "Ajouter un point de Bézier"
@@ -633,6 +670,18 @@ msgstr "Poignée d'entrée :"
msgid "Out-Handle:"
msgstr "Poignée de sortie :"
+msgid "Handle mode: Free\n"
+msgstr "Mode de manipulation: Libre\n"
+
+msgid "Handle mode: Linear\n"
+msgstr "Mode de manipulation: Linéaire\n"
+
+msgid "Handle mode: Balanced\n"
+msgstr "Mode de manipulation: Équilibré\n"
+
+msgid "Handle mode: Mirrored\n"
+msgstr "Mode de manipulation: En miroir\n"
+
msgid "Stream:"
msgstr "Flux :"
@@ -648,6 +697,9 @@ msgstr "Clip d'animation :"
msgid "Toggle Track Enabled"
msgstr "Basculement de piste activé"
+msgid "Don't Use Blend"
+msgstr "Ne pas utiliser de transitions"
+
msgid "Continuous"
msgstr "Continu"
@@ -855,12 +907,6 @@ msgstr "Utiliser les courbes de Bézier"
msgid "Create RESET Track(s)"
msgstr "Créer des pistes RESET"
-msgid "Anim. Optimizer"
-msgstr "Optimiser l'animation"
-
-msgid "Max. Angular Error:"
-msgstr "Erreur angulaire max. :"
-
msgid "Optimize"
msgstr "Optimiser"
@@ -882,6 +928,9 @@ msgstr "Nettoyer"
msgid "Scale Ratio:"
msgstr "Ratio d'échelle :"
+msgid "Select Transition and Easing"
+msgstr "Sélectionner transition et fondu"
+
msgid "Select Tracks to Copy"
msgstr "Sélectionner les pistes à copier"
@@ -906,6 +955,16 @@ msgstr "Numéro de ligne :"
msgid "%d replaced."
msgstr "%d remplacé."
+msgid "%d match"
+msgid_plural "%d matches"
+msgstr[0] "%d correspondance trouvée"
+msgstr[1] "%d correspondances trouvées"
+
+msgid "%d of %d match"
+msgid_plural "%d of %d matches"
+msgstr[0] "%d de %d correspondance trouvée"
+msgstr[1] "%d de %d correspondances trouvées"
+
msgid "Match Case"
msgstr "Sensible à la casse"
@@ -970,6 +1029,9 @@ msgstr "La scène ne comprend pas de script."
msgid "Select Method"
msgstr "Sélectionner une méthode"
+msgid "No method found matching given filters."
+msgstr "Aucune méthode ne correspond aux filtres sélectionnés."
+
msgid "Remove"
msgstr "Supprimer"
@@ -1633,6 +1695,9 @@ msgstr ""
msgid "Must not collide with an existing global constant name."
msgstr "Ne doit pas entrer en collision avec une constante globale existante."
+msgid "Keyword cannot be used as an Autoload name."
+msgstr "Le mot-clé ne peut pas être utilisé comme nom d'Autoload."
+
msgid "Autoload '%s' already exists!"
msgstr "L'autoload « %s » existe déjà !"
@@ -1662,6 +1727,9 @@ msgstr ""
msgid "Path:"
msgstr "Chemin :"
+msgid "Set path or press \"%s\" to create a script."
+msgstr "Définir le chemin d'accès ou appuyer sur \"%s\" pour créer un script."
+
msgid "Node Name:"
msgstr "Nom de nœud :"
@@ -1683,6 +1751,59 @@ msgstr "OpenGL"
msgid "Vulkan"
msgstr "Vulkan"
+msgid "Multi-channel Signed Distance Field Font Rendering"
+msgstr "Rendu de police multicanal par champ de distance signée"
+
+msgid "3D Nodes as well as RenderingServer access to 3D features."
+msgstr "Accés de 3D Nodes et RenderingServer aux fonctionnalités 3D."
+
+msgid ""
+"OpenGL back-end (if disabled, the RenderingDevice back-end is required)."
+msgstr ""
+"Back-end OpenGL (si désactivé, le back-end RenderingDevice est nécessaire)."
+
+msgid ""
+"Fallback implementation of Text Server\n"
+"Supports basic text layouts."
+msgstr ""
+"Implémentation de secours du Serveur de Texte\n"
+"Prend en charge les mises en page de texte basiques."
+
+msgid ""
+"Text Server implementation powered by ICU and HarfBuzz libraries.\n"
+"Supports complex text layouts, BiDi, and contextual OpenType font features."
+msgstr ""
+"Implémentation Text Server au travers de ICU et des bibliothèques HarfBuzz.\n"
+"Prise en charge de mises en page de texte complexes, BiDi, et des "
+"fonctionnalités contextuelles des polices OpenType."
+
+msgid ""
+"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType "
+"library (if disabled, WOFF2 support is also disabled)."
+msgstr ""
+"Prise en charge des formats de polices TrueType, OpenType, Type 1 et WOFF1 "
+"par l'utilisation de la bibliothèque FreeType (si désactivé, la comptabilité "
+"du format WOFF2 l'est aussi)."
+
+msgid "WOFF2 font format support using FreeType and Brotli libraries."
+msgstr ""
+"Prise en charge du format de police WOFF2 par les bibliothèques FreeType et "
+"Brottli."
+
+msgid ""
+"Multi-channel signed distance field font rendering support using msdfgen "
+"library (pre-rendered MSDF fonts can be used even if this option disabled)."
+msgstr ""
+"Prise en charge du rendu multicanal des polices de champs de distance signée "
+"par la bibliothèque msdfgen (les polices MSDF pré-rendues peuvent être "
+"utilisées même si cette option est désactivée)."
+
+msgid "Text Rendering and Font Options:"
+msgstr "Options sur le Rendu du Texte et les Polices :"
+
+msgid "File saving failed."
+msgstr "Echec de l'enregistrement du fichier."
+
msgid "Nodes and Classes:"
msgstr "Nœuds et classes :"
@@ -1698,12 +1819,21 @@ msgstr "Nouveau"
msgid "Save"
msgstr "Enregistrer"
+msgid "Profile:"
+msgstr "Profil:"
+
msgid "Reset to Defaults"
msgstr "Réinitialiser"
+msgid "Please Confirm:"
+msgstr "Veuillez confirmer :"
+
msgid "Export Profile"
msgstr "Profil d'exportation"
+msgid "Edit Build Configuration Profile"
+msgstr "Modifier le profil de configuration de build"
+
msgid "Paste Params"
msgstr "Coller les paramètres"
@@ -1894,9 +2024,6 @@ msgstr "Ouvrir"
msgid "Select Current Folder"
msgstr "Sélectionner le dossier courant"
-msgid "File exists, overwrite?"
-msgstr "Le fichier existe, l'écraser ?"
-
msgid "Select This Folder"
msgstr "Sélectionner ce dossier"
@@ -2015,6 +2142,9 @@ msgstr "Ré-importation des assets"
msgid "Experimental"
msgstr "Expérimental"
+msgid "Error codes returned:"
+msgstr "Codes d'erreur renvoyés :"
+
msgid "Top"
msgstr "Dessus"
@@ -2042,6 +2172,9 @@ msgstr "écrase %s :"
msgid "default:"
msgstr "par défaut :"
+msgid "Operators"
+msgstr "Opérateurs"
+
msgid "Theme Properties"
msgstr "Propriétés du thème"
@@ -2980,6 +3113,13 @@ msgstr "Raccourcis"
msgid "Binding"
msgstr "Liaison"
+msgid ""
+"Hold %s to round to integers.\n"
+"Hold Shift for more precise changes."
+msgstr ""
+"Maintenir %s pour arrondir à l'entier près.\n"
+"Maintenir Maj. pour des changements plus précis."
+
msgid "All Devices"
msgstr "Tous les périphérique"
@@ -3615,6 +3755,9 @@ msgstr "Réimporter"
msgid "Offset:"
msgstr "Décalage :"
+msgid "Pre-render Configurations"
+msgstr "Configurations de pré-rendus"
+
msgid "Importing Scene..."
msgstr "Importation de la scène…"
@@ -3650,6 +3793,11 @@ msgstr "2D"
msgid "3D"
msgstr "3D"
+msgid "Set paths to save animations as resource files on Reimport"
+msgstr ""
+"Définir les chemins pour sauvegarder les animations en tant que fichiers de "
+"ressources lors de la réimportation"
+
msgid "Meshes"
msgstr "Maillages"
@@ -3818,6 +3966,9 @@ msgstr "Réaffectations (remaps) par langue :"
msgid "Locale"
msgstr "Localisation"
+msgid "Set %s on %d nodes"
+msgstr "Définir %s sur les nœuds %d"
+
msgid "Select a single node to edit its signals and groups."
msgstr "Sélectionnez un seul nœud pour éditer ses signaux et groupes."
@@ -4050,9 +4201,18 @@ msgstr "Ajouter un nœud..."
msgid "Enable Filtering"
msgstr "Activer le filtrage"
+msgid "Animation name can't be empty."
+msgstr "Le nom de l'animation ne peut pas être vide."
+
msgid "Load Animation"
msgstr "Charger l'animation"
+msgid "Invalid AnimationLibrary file."
+msgstr "Fichier AnimationLibrary non valide."
+
+msgid "Invalid Animation file."
+msgstr "Fichier d'animation non valide."
+
msgid "Animation Name:"
msgstr "Nom de l'animation :"
@@ -4062,6 +4222,19 @@ msgstr "Animation collée"
msgid "Open in Inspector"
msgstr "Ouvrir dans l'Inspecteur"
+msgid "Paste Animation to Library from clipboard"
+msgstr "Coller l'animation dans la Bibliothèque à partir du presse-papiers"
+
+msgid "Save animation library to resource on disk"
+msgstr ""
+"Sauvegarder la bibliothèque d'animations dans une ressource sur le disque"
+
+msgid "Copy animation to clipboard"
+msgstr "Copier l'animation dans le presse-papiers"
+
+msgid "Save animation to resource on disk"
+msgstr "Sauvegarder l'animation en tant que ressource sur le disque"
+
msgid "Storage"
msgstr "Stockage"
@@ -4313,6 +4486,9 @@ msgstr "Vérification du hachage SHA-256 échouée"
msgid "Asset Download Error:"
msgstr "Erreur dans le téléchargement d'une ressource :"
+msgid "Ready to install!"
+msgstr "Prêt à être installé !"
+
msgid "Downloading (%s / %s)..."
msgstr "Téléchargement (%s / %s)..."
@@ -4533,7 +4709,7 @@ msgid "Paste Pose"
msgstr "Coller la pose"
msgid "Clear Guides"
-msgstr "Effacé Guides"
+msgstr "Effacer les Guides"
msgid "Zoom to 3.125%"
msgstr "Zoomer à 3.125%"
@@ -5004,6 +5180,14 @@ msgstr ""
"Quand elle est utilisée à distance sur un périphérique, cette option est "
"plus efficace avec le système de fichiers réseau."
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "Exécuter une instance %d"
+msgstr[1] "Exécuter des instances %d"
+
+msgid " - Variation"
+msgstr " - Variation"
+
msgid "Convert to CPUParticles2D"
msgstr "Convertir en CPUParticles2D"
@@ -5142,6 +5326,19 @@ msgstr "Aucun maillage à déboguer."
msgid "Mesh has no UV in layer %d."
msgstr "Le maillage n'a pas d'UV dans la couche %d."
+msgid "MeshInstance3D lacks a Mesh."
+msgstr "Le MeshInstance3D n'a pas de maillage."
+
+msgid "Mesh has no surface to create outlines from."
+msgstr ""
+"Le maillage n'a pas de surfaces où des contours pourraient être créées."
+
+msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES."
+msgstr "Le type de maillage primitif n'est pas PRIMITIVE_TRIANGLES."
+
+msgid "Could not create outline."
+msgstr "Impossible de créer le contour."
+
msgid "Create Outline"
msgstr "Créer le contour"
@@ -5431,6 +5628,9 @@ msgstr "L'insertion de clé est désactivée (pas de clé insérée)."
msgid "Animation Key Inserted."
msgstr "Clé d'animation insérée."
+msgid "Objects: %d\n"
+msgstr "Objets : %d\n"
+
msgid "Top View."
msgstr "Vue de dessus."
@@ -6342,6 +6542,9 @@ msgstr "Créer un LightOccluder2D"
msgid "LightOccluder2D Preview"
msgstr "Prévisualisation du LightOccluder2D"
+msgid "Can't convert a Sprite2D from a foreign scene."
+msgstr "Impossible de convertir un Sprite2D à partir d'une scène étrangère."
+
msgid "Can't convert a sprite using animation frames to mesh."
msgstr ""
"Impossible de convertir un sprite en utilisant des images d'animation à "
@@ -6425,6 +6628,9 @@ msgstr "(vide)"
msgid "Animations:"
msgstr "Animations :"
+msgid "Delete Animation"
+msgstr "Supprimer l'animation"
+
msgid "Animation Frames:"
msgstr "Trames d'animation :"
@@ -6476,21 +6682,46 @@ msgstr "Pas (s) :"
msgid "Styleboxes"
msgstr "Styleboxes"
+msgid "1 color"
+msgid_plural "{num} colors"
+msgstr[0] "1 couleur"
+msgstr[1] "{num} couleurs"
+
msgid "No colors found."
msgstr "Pas de couleurs trouvées."
+msgid "1 constant"
+msgid_plural "{num} constants"
+msgstr[0] "1 constante"
+msgstr[1] "{num} constantes"
+
msgid "No constants found."
msgstr "Pas de constantes trouvées."
msgid "No fonts found."
msgstr "Pas de polices trouvées."
+msgid "1 font size"
+msgid_plural "{num} font sizes"
+msgstr[0] "1 taille de police"
+msgstr[1] "{num} tailles de police"
+
msgid "No icons found."
msgstr "Pas d'icônes trouvées."
+msgid "1 stylebox"
+msgid_plural "{num} styleboxes"
+msgstr[0] "1 boîte de style"
+msgstr[1] "{num} boîtes de style"
+
msgid "No styleboxes found."
msgstr "Pas de styleboxes trouvées."
+msgid "{num} currently selected"
+msgid_plural "{num} currently selected"
+msgstr[0] "{num} actuellement sélectionné(s)"
+msgstr[1] "{num} actuellement sélectionné(s)"
+
msgid "Nothing was selected for the import."
msgstr "Rien n'a été sélectionné pour l'importation."
@@ -7757,6 +7988,65 @@ msgid "Can't open project at '%s'."
msgstr "Impossible d'ouvrir le projet à \"%s\"."
msgid ""
+"The selected project \"%s\" does not specify its supported Godot version in "
+"its configuration file (\"project.godot\").\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"If you proceed with opening it, it will be converted to Godot's current "
+"configuration file format.\n"
+"\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+"Le fichier de configuration de projet ci-dessous n'indique pas par quelle "
+"version de Godot il a été généré.\n"
+"\n"
+"Chemin du projet : %s\n"
+"\n"
+"Si vous choisissez de l'ouvrir, il sera converti vers le format actuel de "
+"fichier de configuration de Godot.\n"
+"\n"
+"Attention : Il ne sera plus possible d'ouvrir ce projet avec les précédentes "
+"versions du moteur."
+
+msgid ""
+"The selected project \"%s\" was generated by an older engine version, and "
+"needs to be converted for this version.\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"Do you want to convert it?\n"
+"\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+"Le fichier de configuration de projet ci-dessous a été généré par une "
+"précédente version du moteur, et doit être mis à niveau pour cette version.\n"
+"\n"
+"Chemin du projet : %s\n"
+"\n"
+"Souhaitez-vous le convertir ?\n"
+"\n"
+"Attention : Il ne sera plus possible d'ouvrir ce projet avec les précédentes "
+"versions du moteur de jeu."
+
+msgid ""
+"Can't open project \"%s\" at the following path:\n"
+"\n"
+"%s\n"
+"\n"
+"The project settings were created by a newer engine version, whose settings "
+"are not compatible with this version."
+msgstr ""
+"Impossible d'ouvrir le projet \"%s\" au chemin suivant :\n"
+"\n"
+"%s\n"
+"\n"
+"Ce fichier de configuration de projet a été créé par une version ultérieure "
+"du moteur, dont les paramètres ne sont pas compatibles avec cette version."
+
+msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
@@ -7879,12 +8169,12 @@ msgstr "Modifier la zone morte de l'action"
msgid "Erase Input Action"
msgstr "Effacer l'action d'entrée"
-msgid "Rename Input Action Event"
-msgstr "Renommer l'événement d'action d'entrée"
-
msgid "Project Settings (project.godot)"
msgstr "Paramètres du projet (project.godot)"
+msgid "Select a Setting or Type its Name"
+msgstr "Sélectionnez un paramètre ou tapez son nom"
+
msgid "Input Map"
msgstr "Contrôles"
@@ -8255,6 +8545,19 @@ msgstr ""
"dans un chemin de Nœud.\n"
"Cliquer pour désactiver cela."
+msgid "Node has one connection."
+msgid_plural "Node has {num} connections."
+msgstr[0] "Le nœud a une connexion."
+msgstr[1] "Le nœud a {num} connexions."
+
+msgid "Node is in this group:"
+msgid_plural "Node is in the following groups:"
+msgstr[0] "Le nœud fait partie du groupe :"
+msgstr[1] "Le nœud fait partie des groupes :"
+
+msgid "Click to show signals dock."
+msgstr "Cliquez pour afficher le dock des signaux."
+
msgid "Open Script:"
msgstr "Ouvrir le script :"
@@ -8385,6 +8688,9 @@ msgstr "Chemin de base invalide."
msgid "Wrong extension chosen."
msgstr "Choix d'extension erroné."
+msgid "Global shader parameter '%s' already exists'"
+msgstr "Le paramètre global de shaders '%s' existe déjà"
+
msgid "Change Cylinder Radius"
msgstr "Changer le rayon du cylindre"
@@ -8550,6 +8856,9 @@ msgstr "Taille"
msgid "Network Profiler"
msgstr "Profileur réseau"
+msgid "Delete Property?"
+msgstr "Supprimer la propriété ?"
+
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr ""
"Une ressource de type NavigationMesh doit être définie ou créée pour que ce "
@@ -8774,6 +9083,13 @@ msgstr "Impossible de le programme apksigner."
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' est retourné avec l'erreur #%d"
+msgid ""
+"output: \n"
+"%s"
+msgstr ""
+"Sortie : \n"
+"%s"
+
msgid "Verifying %s..."
msgstr "Vérification de %s..."
@@ -9414,6 +9730,13 @@ msgstr ""
"Le nœud PathFollow2D ne fonctionne que s'il est défini en tant qu'enfant "
"d'un nœud de type Path2D."
+msgid ""
+"A PhysicalBone2D only works with a Skeleton2D or another PhysicalBone2D as a "
+"parent node!"
+msgstr ""
+"Un nœud de type PhysicalBone2D ne fonctionne qu'avec un Skeleton2D ou un "
+"autre PhysicalBone2D en tant que nœud parent !"
+
msgid "Path property must point to a valid Node2D node to work."
msgstr ""
"La propriété Path doit pointer vers un nœud de type Node2D valide pour "
@@ -9433,6 +9756,28 @@ msgstr ""
"Cet os ne dispose pas d'une position de repos appropriée. Accédez au nœud "
"Skeleton2D et définissez-en une."
+msgid ""
+"CollisionPolygon3D only serves to provide a collision shape to a "
+"CollisionObject3D derived node.\n"
+"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. to give them a shape."
+msgstr ""
+"CollisionPolygon3D sert uniquement à fournir une forme de collision à un "
+"nœud dérivé de CollisionObject3D.\n"
+"Veuillez l'utiliser uniquement comme enfant d'Area3D, StaticBody3D, "
+"RigidBody3D, CharacterBody3D, etc. pour leur donner une forme."
+
+msgid ""
+"CollisionShape3D only serves to provide a collision shape to a "
+"CollisionObject3D derived node.\n"
+"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. to give them a shape."
+msgstr ""
+"CollisionShape3D sert uniquement à fournir une forme de collision à un nœud "
+"dérivé de CollisionObject3D.\n"
+"Veuillez l'utiliser uniquement comme enfant d'Area3D, StaticBody3D, "
+"RigidBody3D, CharacterBody3D, etc. pour leur donner une forme."
+
msgid "Nothing is visible because no mesh has been assigned."
msgstr "Rien n'est visible car aucun maillage n'a été assigné."
@@ -9442,6 +9787,9 @@ msgstr ""
"Rien n'est visible car les maillages n'ont pas été assignés au tirage des "
"passes."
+msgid "Creating probes"
+msgstr "Création d'un maillage de contour"
+
msgid "This body will be ignored until you set a mesh."
msgstr "Ce corps sera ignoré jusqu'à ce que vous définissiez un maillage."
@@ -9497,8 +9845,12 @@ msgstr ""
"Clic gauche : Appliquer la couleur\n"
"Clic droit : Supprimer le préréglage"
-msgid "Pick a color from the editor window."
-msgstr "Échantillonner une couleur depuis la fenêtre de l'éditeur."
+msgid ""
+"Color: #%s\n"
+"LMB: Apply color"
+msgstr ""
+"Couleur : #%s\n"
+"Clic gauche : Appliquer la couleur"
msgid "Switch between hexadecimal and code values."
msgstr "Alterner entre les valeurs hexadécimales ou brutes."
@@ -9533,9 +9885,6 @@ msgstr "Alerte !"
msgid "Please Confirm..."
msgstr "Veuillez confirmer…"
-msgid "Must use a valid extension."
-msgstr "Utilisez une extension valide."
-
msgid "Enable grid minimap."
msgstr "Activer l'alignement."
@@ -9558,6 +9907,15 @@ msgid "(Other)"
msgstr "(Autre)"
msgid ""
+"Setting node name '%s' to be unique within scene for '%s', but it's already "
+"claimed by '%s'.\n"
+"'%s' is no longer set as having a unique name."
+msgstr ""
+"Impossible de déclarer le nom de nœud '%s' comme unique dans la scène pour "
+"'%s', car ce nom est déjà attribué à '%s'.\n"
+"'%s' n'est plus considéré comme ayant un nom unique."
+
+msgid ""
"Default Environment as specified in Project Settings (Rendering -> "
"Environment -> Default Environment) could not be loaded."
msgstr ""
@@ -9582,6 +9940,17 @@ msgstr ""
"La taille de la fenêtre d'affichage doit être supérieure ou égale à 2 pixels "
"dans les deux sens pour que le rendu soit possible."
+msgid "Unsupported BMFont texture format."
+msgstr "Format de texture BMFont non pris en charge."
+
+msgid ""
+"Shader keywords cannot be used as parameter names.\n"
+"Choose another name."
+msgstr ""
+"Les mots-clés de shader ne peuvent pas être utilisés comme noms de "
+"paramètres.\n"
+"Choisissez un autre nom."
+
msgid ""
"The sampler port is connected but not used. Consider changing the source to "
"'SamplerPort'."
@@ -9618,3 +9987,12 @@ msgstr "Affectation à la variable uniform."
msgid "Constants cannot be modified."
msgstr "Les constantes ne peuvent être modifiées."
+
+msgid "The function '%s' is declared but never used."
+msgstr "La fonction '%s' est déclarée mais jamais appelée."
+
+msgid "The struct '%s' is declared but never used."
+msgstr "La structure '%s' est déclarée mais jamais utilisée."
+
+msgid "The local variable '%s' is declared but never used."
+msgstr "La variable locale '%s' est déclarée mais jamais utilisée."
diff --git a/editor/translations/editor/gl.po b/editor/translations/editor/gl.po
index 1617bb9759..cb5251143a 100644
--- a/editor/translations/editor/gl.po
+++ b/editor/translations/editor/gl.po
@@ -390,12 +390,6 @@ msgstr "Ir ao Anterior Paso"
msgid "Use Bezier Curves"
msgstr "Usar Curvas Bezier"
-msgid "Anim. Optimizer"
-msgstr "Optimizador de Animación"
-
-msgid "Max. Angular Error:"
-msgstr "Erro Angular Máximo:"
-
msgid "Optimize"
msgstr "Optimizar"
@@ -3897,9 +3891,6 @@ msgstr "Engadir Acción de Entrada"
msgid "Erase Input Action"
msgstr "Eliminar Acción de Entrada"
-msgid "Rename Input Action Event"
-msgstr "Renomear Evento de Entrada"
-
msgid "Project Settings (project.godot)"
msgstr "Configuración do Proxecto (project.godot)"
diff --git a/editor/translations/editor/he.po b/editor/translations/editor/he.po
index 69c13a071d..2e94adbc31 100644
--- a/editor/translations/editor/he.po
+++ b/editor/translations/editor/he.po
@@ -431,12 +431,6 @@ msgstr "שימוש בעקומות בזייה"
msgid "Create RESET Track(s)"
msgstr "יצירת רצועה(ות) איפוס"
-msgid "Anim. Optimizer"
-msgstr "ממטב הנפשה"
-
-msgid "Max. Angular Error:"
-msgstr "שגיאת זווית מקסימלית:"
-
msgid "Optimize"
msgstr "מיטוב"
@@ -1355,9 +1349,6 @@ msgstr "פתיחה"
msgid "Select Current Folder"
msgstr "נא לבחור את התיקייה הנוכחית"
-msgid "File exists, overwrite?"
-msgstr "הקובץ קיים, האם להחליף?"
-
msgid "Copy Path"
msgstr "העתקת נתיב"
@@ -3972,9 +3963,6 @@ msgstr "הנתיב שהוגדר ל-AnimationPlayer אינו מוביל למפר
msgid "The AnimationPlayer root node is not a valid node."
msgstr "מפרק השורש AnimationPlayer אינו צומת חוקי."
-msgid "Pick a color from the editor window."
-msgstr "בחירת צבע מחלון העורך."
-
msgid "Switch between hexadecimal and code values."
msgstr "מעבר בין ערכים הקסדצימלים לערכי קוד."
@@ -4002,9 +3990,6 @@ msgstr "אזהרה!"
msgid "Please Confirm..."
msgstr "נא לאשר…"
-msgid "Must use a valid extension."
-msgstr "יש להשתמש בסיומת תקנית."
-
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
msgstr "אם \"Exp Edit\" מאופשר, \"Min Value\" חייב להיות גדול מ-0."
diff --git a/editor/translations/editor/hu.po b/editor/translations/editor/hu.po
index 9736973adc..d5c6059eb1 100644
--- a/editor/translations/editor/hu.po
+++ b/editor/translations/editor/hu.po
@@ -400,12 +400,6 @@ msgstr "Visszaállítás"
msgid "Use Bezier Curves"
msgstr "Bézier görbék használata"
-msgid "Anim. Optimizer"
-msgstr "Animáció optimalizáló"
-
-msgid "Max. Angular Error:"
-msgstr "Maximum szög hiba:"
-
msgid "Optimize"
msgstr "Optimalizálás"
@@ -4408,9 +4402,6 @@ msgstr "Figyelem!"
msgid "Please Confirm..."
msgstr "Kérjük erősítse meg..."
-msgid "Must use a valid extension."
-msgstr "Használjon érvényes kiterjesztést."
-
msgid "Enable grid minimap."
msgstr "Rács kistérkép engedélyezése."
diff --git a/editor/translations/editor/id.po b/editor/translations/editor/id.po
index bfed9e654b..b19b37b3ec 100644
--- a/editor/translations/editor/id.po
+++ b/editor/translations/editor/id.po
@@ -520,12 +520,6 @@ msgstr "Gunakan Lengkungan Bezier"
msgid "Create RESET Track(s)"
msgstr "Buat RESET Track"
-msgid "Anim. Optimizer"
-msgstr "Pengoptimal Animasi"
-
-msgid "Max. Angular Error:"
-msgstr "Error Angular Maksimum:"
-
msgid "Optimize"
msgstr "Optimalkan"
@@ -1509,9 +1503,6 @@ msgstr "Buka"
msgid "Select Current Folder"
msgstr "Pilih Folder Saat Ini"
-msgid "File exists, overwrite?"
-msgstr "File sudah ada, timpa?"
-
msgid "Select This Folder"
msgstr "Pilih Folder Ini"
@@ -6902,9 +6893,6 @@ msgstr "Ubah deadzone Aksi"
msgid "Erase Input Action"
msgstr "Hapus Aksi Input"
-msgid "Rename Input Action Event"
-msgstr "Ubah nama Input Action Event"
-
msgid "Project Settings (project.godot)"
msgstr "Pengaturan Proyek (project.godot)"
@@ -8087,9 +8075,6 @@ msgstr ""
msgid "The AnimationPlayer root node is not a valid node."
msgstr "Akar AnimationPlayer bukanlah node yang valid."
-msgid "Pick a color from the editor window."
-msgstr "Ambil warna dari layar editor."
-
msgid "Switch between hexadecimal and code values."
msgstr "Beralih antara nilai heksadesimal dan kode."
@@ -8120,9 +8105,6 @@ msgstr "Peringatan!"
msgid "Please Confirm..."
msgstr "Mohon konfirmasi..."
-msgid "Must use a valid extension."
-msgstr "Harus menggunakan ekstensi yang sah."
-
msgid "Enable grid minimap."
msgstr "Aktifkan peta mini grid."
diff --git a/editor/translations/editor/it.po b/editor/translations/editor/it.po
index 87c578b8d1..aad29ffa9f 100644
--- a/editor/translations/editor/it.po
+++ b/editor/translations/editor/it.po
@@ -59,9 +59,9 @@
# Alessandro Mandelli <mandelli.alessandro@ngi.it>, 2021.
# Jusef Azzolina <rosarioazzolina33@gmail.com>, 2021.
# Daniele Basso <tiziodcaio@gmail.com>, 2021.
-# Riteo Siuga <riteo@posteo.net>, 2021, 2022.
+# Riteo Siuga <riteo@posteo.net>, 2021, 2022, 2023.
# Luigi <luibass92@live.it>, 2021.
-# Micky <micheledevita2@gmail.com>, 2021, 2022.
+# Micky <micheledevita2@gmail.com>, 2021, 2022, 2023.
# Fabio Plos <altre0cose@gmail.com>, 2021.
# Theraloss <danilo.polani@gmail.com>, 2021.
# Pietro Grungo <pietro.grungo@libero.it>, 2021.
@@ -80,13 +80,14 @@
# enzo cocca <enzo.ccc@gmail.com>, 2023.
# Andrea Migliaccio <andrea.migliaccio@gmail.com>, 2023.
# gianmarco malandra <giamminho12@gmail.com>, 2023.
+# Francesco Franchina <cescus92@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 00:54+0000\n"
-"Last-Translator: gianmarco malandra <giamminho12@gmail.com>\n"
+"PO-Revision-Date: 2023-02-16 21:23+0000\n"
+"Last-Translator: Mirko <miknsop@gmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot/it/>\n"
"Language: it\n"
@@ -97,41 +98,44 @@ msgstr ""
"X-Generator: Weblate 4.16-dev\n"
msgid "Unset"
-msgstr "Non Impostato"
+msgstr "Non impostato"
msgid "Physical"
msgstr "Fisico"
msgid "Left Mouse Button"
-msgstr "Tasto sinistro Mouse"
+msgstr "Tasto sinistro del mouse"
msgid "Right Mouse Button"
-msgstr "Tasto Destro Mouse"
+msgstr "Tasto destro del mouse"
msgid "Middle Mouse Button"
-msgstr "Tasto centrale Mouse"
+msgstr "Tasto centrale del mouse"
msgid "Mouse Wheel Up"
-msgstr "Rotellina Mouse Su."
+msgstr "Rotellina del mouse su"
msgid "Mouse Wheel Down"
-msgstr "Rotellina Mouse Giù."
+msgstr "Rotellina del mouse giù"
msgid "Mouse Wheel Left"
-msgstr "Pulsante Rotellina a Sinistra"
+msgstr "Rotellina del mouse a sinistra"
msgid "Mouse Wheel Right"
-msgstr "Pulsante Rotellina a Destra"
+msgstr "Rotellina del mouse a destra"
msgid "Mouse Thumb Button 1"
-msgstr "Pulsante Laterale del Mouse 1"
+msgstr "Pulsante laterale del mouse 1"
msgid "Mouse Thumb Button 2"
-msgstr "Pulsante Laterale del Mouse 2"
+msgstr "Pulsante laterale del mouse 2"
msgid "Button"
msgstr "Pulsante"
+msgid "Double Click"
+msgstr "Doppio click"
+
msgid "Mouse motion at position (%s) with velocity (%s)"
msgstr "Movimento del mouse in posizione (%s) con velocità (%s)"
@@ -147,17 +151,154 @@ msgstr "Levetta destra asse X, joystick 1 asse x"
msgid "Right Stick Y-Axis, Joystick 1 Y-Axis"
msgstr "Levetta destra Asse-Y, Joystick 1 Asse-Y"
+msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT"
+msgstr "Asse X del joystick 2, grilletto sinistro, L2 Sony, LT Xbox"
+
+msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT"
+msgstr "Asse Y del joystick 2, grilletto destro, R2 Sony, RT Xbox"
+
+msgid "Joystick 3 X-Axis"
+msgstr "Asse X del joystick 3"
+
+msgid "Joystick 3 Y-Axis"
+msgstr "Asse Y del joystick 3"
+
+msgid "Joystick 4 X-Axis"
+msgstr "Asse X del joystick 4"
+
+msgid "Joystick 4 Y-Axis"
+msgstr "Asse Y del joystick 4"
+
+msgid "Unknown Joypad Axis"
+msgstr "Asse del joypad sconosciuto"
+
+msgid "Joypad Motion on Axis %d (%s) with Value %.2f"
+msgstr "Movimento del joypad sull'asse %d (%s) con valore di %.2f"
+
+msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B"
+msgstr "Azione inferiore, croce Sony, A Xbox, B Nintendo"
+
+msgid "Right Action, Sony Circle, Xbox B, Nintendo A"
+msgstr "Azione destra, cerchio Sony, B Xbox, A Nintendo"
+
+msgid "Left Action, Sony Square, Xbox X, Nintendo Y"
+msgstr "Azione sinistra, quadrato Sony, X Xbox, Y Nintendo"
+
+msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X"
+msgstr "Azione superiore, triangolo Sony, Y Xbox, X Nintendo"
+
+msgid "Back, Sony Select, Xbox Back, Nintendo -"
+msgstr "Indietro, Select Sony, Back Xbox, - Nintendo"
+
+msgid "Guide, Sony PS, Xbox Home"
+msgstr "Guida, PS Sony, Home Xbox"
+
+msgid "Start, Nintendo +"
+msgstr "Start, + Nintendo"
+
+msgid "Left Stick, Sony L3, Xbox L/LS"
+msgstr "Levetta sinistra, L3 Sony, L/LS Xbox"
+
+msgid "Right Stick, Sony R3, Xbox R/RS"
+msgstr "Levetta destra, R3 Sony, R/RS Xbox"
+
+msgid "Left Shoulder, Sony L1, Xbox LB"
+msgstr "Pulsante dorsale sinistro, L1 Sony, LB Xbox"
+
+msgid "Right Shoulder, Sony R1, Xbox RB"
+msgstr "Pulsante dorsale destro, R1 Sony, RB Xbox"
+
+msgid "D-pad Up"
+msgstr "Tasto direzionale su"
+
+msgid "D-pad Down"
+msgstr "Tasto direzionale giù"
+
+msgid "D-pad Left"
+msgstr "Tasto direzionale sinistro"
+
+msgid "D-pad Right"
+msgstr "Tasto direzionale destro"
+
+msgid "Xbox Share, PS5 Microphone, Nintendo Capture"
+msgstr "Condividi Xbox, microfono PS5, cattura Nintendo"
+
+msgid "Xbox Paddle 1"
+msgstr "Xbox levetta posteriore 1"
+
+msgid "Xbox Paddle 2"
+msgstr "Xbox levetta posteriore 2"
+
+msgid "Xbox Paddle 3"
+msgstr "Xbox levetta posteriore 3"
+
+msgid "Xbox Paddle 4"
+msgstr "Xbox levetta posteriore 4"
+
+msgid "PS4/5 Touchpad"
+msgstr "Touchpad PS4/5"
+
+msgid "Joypad Button %d"
+msgstr "Pulsante %d del joypad"
+
+msgid "Pressure:"
+msgstr "Pressione:"
+
+msgid "touched"
+msgstr "toccato"
+
+msgid "released"
+msgstr "rilasciato"
+
+msgid "Screen %s at (%s) with %s touch points"
+msgstr "Schermo %s in (%s) con %s tocchi"
+
+msgid ""
+"Screen dragged with %s touch points at position (%s) with velocity of (%s)"
+msgstr ""
+"Schermo trascinato con %s tocchi alla posizione (%s) con una velocità di (%s)"
+
+msgid "Magnify Gesture at (%s) with factor %s"
+msgstr "Gesto d'ingrandimento in (%s) con un fattore di %s"
+
+msgid "Pan Gesture at (%s) with delta (%s)"
+msgstr "Gesto panoramico in (%s) con un delta di (%s)"
+
+msgid "Accept"
+msgstr "Accetta"
+
msgid "Select"
msgstr "Seleziona"
msgid "Cancel"
msgstr "Annulla"
+msgid "Focus Next"
+msgstr "Selezione successiva"
+
+msgid "Focus Prev"
+msgstr "Selezione precedente"
+
+msgid "Left"
+msgstr "Sinistra"
+
+msgid "Right"
+msgstr "Destra"
+
msgid "Up"
-msgstr "In uscita"
+msgstr "Su"
msgid "Down"
-msgstr "In entrata"
+msgstr "Giù"
+
+msgid "Page Up"
+msgstr "Pagina su"
+
+msgid "Page Down"
+msgstr "Pagina giù"
+
+msgid "Home"
+msgstr "Inizio"
msgid "End"
msgstr "Fine"
@@ -177,24 +318,123 @@ msgstr "Annulla"
msgid "Redo"
msgstr "Rifai"
+msgid "Completion Query"
+msgstr "Richiesta di completamento"
+
+msgid "New Line"
+msgstr "Nuova riga"
+
+msgid "New Blank Line"
+msgstr "Nuova linea vuota"
+
+msgid "New Line Above"
+msgstr "Nuova riga sopra"
+
msgid "Indent"
msgstr "Indenta"
+msgid "Dedent"
+msgstr "De-indenta"
+
+msgid "Backspace"
+msgstr "Cancella indietro"
+
+msgid "Backspace Word"
+msgstr "Cancella indietro una parola"
+
+msgid "Backspace all to Left"
+msgstr "Cancella indietro tutto a sinistra"
+
msgid "Delete"
msgstr "Elimina"
+msgid "Delete Word"
+msgstr "Cancella una parola"
+
+msgid "Delete all to Right"
+msgstr "Cancella tutto a destra"
+
+msgid "Caret Left"
+msgstr "Cursore a sinistra"
+
+msgid "Caret Word Left"
+msgstr "Cursore a sinistra di una parola"
+
+msgid "Caret Right"
+msgstr "Cursore a destra"
+
+msgid "Caret Word Right"
+msgstr "Cursore a destra di una parola"
+
+msgid "Caret Up"
+msgstr "Cursore su"
+
+msgid "Caret Down"
+msgstr "Cursore giù"
+
+msgid "Caret Line Start"
+msgstr "Cursore all'inizio della riga"
+
+msgid "Caret Line End"
+msgstr "Cursore alla fine della riga"
+
+msgid "Caret Page Up"
+msgstr "Cursore una pagina su"
+
+msgid "Caret Page Down"
+msgstr "Cursore una pagina giù"
+
+msgid "Caret Document Start"
+msgstr "Cursore all'inizio del documento"
+
+msgid "Caret Document End"
+msgstr "Cursore alla fine del documento"
+
+msgid "Caret Add Below"
+msgstr "Aggiungi un cursore giù"
+
+msgid "Caret Add Above"
+msgstr "Aggiungi un cursore sopra"
+
+msgid "Scroll Up"
+msgstr "Scorri su"
+
+msgid "Scroll Down"
+msgstr "Scorri giù"
+
msgid "Select All"
msgstr "Seleziona tutto"
+msgid "Select Word Under Caret"
+msgstr "Seleziona la parola sotto il cursore"
+
+msgid "Add Selection for Next Occurrence"
+msgstr "Aggiungi una selezione per la prossima ricorrenza"
+
+msgid "Clear Carets and Selection"
+msgstr "Reimposta i cursori e la selezione"
+
+msgid "Toggle Insert Mode"
+msgstr "Commuta la modalità d'inserimento"
+
msgid "Duplicate Nodes"
msgstr "Duplica Nodi"
msgid "Delete Nodes"
msgstr "Elimina Nodi"
+msgid "Go Up One Level"
+msgstr "Sali di un livello"
+
msgid "Refresh"
msgstr "Aggiorna"
+msgid "Show Hidden"
+msgstr "Mostra i file nascosti"
+
+msgid "Swap Input Direction"
+msgstr "Inverti la direzione d'ingresso"
+
msgid "Invalid input %d (not passed) in expression"
msgstr "Input %d non valido (assente) nell'espressione"
@@ -216,6 +456,12 @@ msgstr "Argomenti non validi per costruire \"%s\""
msgid "On call to '%s':"
msgstr "Alla chiamata di '%s':"
+msgid "Built-in script"
+msgstr "Script Integrato"
+
+msgid "Built-in"
+msgstr "Integrato"
+
msgid "B"
msgstr "B"
@@ -237,6 +483,14 @@ msgstr "PiB"
msgid "EiB"
msgstr "EiB"
+msgid "Example: %s"
+msgstr "Esempio: %s"
+
+msgid "%d item"
+msgid_plural "%d items"
+msgstr[0] "%d elemento"
+msgstr[1] "%d elementi"
+
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
@@ -247,12 +501,42 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "Un'azione con il nome \"%s\" è già esistente."
+msgid "Cannot Revert - Action is same as initial"
+msgstr "Impossibile annullare - l'azione è la stessa di quella iniziale"
+
+msgid "Revert Action"
+msgstr "Annulla l'azione"
+
msgid "Add Event"
msgstr "Aggiungi Evento"
+msgid "Remove Action"
+msgstr "Rimuovi l'azione"
+
+msgid "Cannot Remove Action"
+msgstr "Impossibile rimuovere l'azione"
+
+msgid "Edit Event"
+msgstr "Modifica l'evento"
+
+msgid "Remove Event"
+msgstr "Rimuovi l'evento"
+
+msgid "Filter by name..."
+msgstr "Filtra per nome..."
+
+msgid "Clear All"
+msgstr "Pulisci tutto"
+
+msgid "Add New Action"
+msgstr "Aggiungi una nuova azione"
+
msgid "Add"
msgstr "Aggiungi"
+msgid "Show Built-in Actions"
+msgstr "Mostra le azioni integrate"
+
msgid "Action"
msgstr "Azione"
@@ -265,6 +549,9 @@ msgstr "Tempo:"
msgid "Value:"
msgstr "Valore:"
+msgid "Update Selected Key Handles"
+msgstr "Aggiorna le maniglie delle chiavi selezionate"
+
msgid "Insert Key Here"
msgstr "Inserisci una chiave"
@@ -274,21 +561,91 @@ msgstr "Duplica le chiavi selezionate"
msgid "Delete Selected Key(s)"
msgstr "Elimina le chiavi selezionate"
+msgid "Make Handles Free"
+msgstr "Rendi le maniglie libere"
+
+msgid "Make Handles Linear"
+msgstr "Rendi lineari le maniglie"
+
+msgid "Make Handles Balanced"
+msgstr "Rendi bilanciate le maniglie"
+
+msgid "Make Handles Mirrored"
+msgstr "Rendi specchiate le maniglie"
+
+msgid "Make Handles Balanced (Auto Tangent)"
+msgstr "Rendi bilanciate le maniglie (auto tangente)"
+
+msgid "Make Handles Mirrored (Auto Tangent)"
+msgstr "Rendi specchiate le maniglie (auto tangente)"
+
msgid "Add Bezier Point"
msgstr "Inserisci un punto di controllo di Bézier"
msgid "Move Bezier Points"
msgstr "Sposta dei punti di controllo di Bézier"
+msgid "Animation Duplicate Keys"
+msgstr "Duplica le chiavi di un'animazione"
+
+msgid "Animation Delete Keys"
+msgstr "Elimina le chiavi di un'animazione"
+
+msgid "Focus"
+msgstr "Seleziona"
+
+msgid "Select All Keys"
+msgstr "Seleziona tutte le chiavi"
+
+msgid "Deselect All Keys"
+msgstr "Deseleziona tutte le chiavi"
+
+msgid "Animation Change Keyframe Value"
+msgstr "Cambia il valore del fotogramma chiave di un'animazione"
+
+msgid "Animation Change Call"
+msgstr "Cambia la chiamata di un'animazione"
+
+msgid "Animation Multi Change Transition"
+msgstr "Cambio multiplo di transizione di un'animazione"
+
+msgid "Animation Multi Change %s"
+msgstr "Cambio multiplo di %s di un'animazione"
+
+msgid "Animation Multi Change Keyframe Value"
+msgstr "Cambio multiplo del valore dei fotogrammi chiave di un'animazione"
+
+msgid "Animation Multi Change Call"
+msgstr "Cambio multiplo della chiamata di un'animazione"
+
msgid "Change Animation Length"
msgstr "Cambia la durata dell'animazione"
msgid "Change Animation Loop"
msgstr "Cambia ciclo di animazione"
+msgid "Can't change loop mode on animation instanced from imported scene."
+msgstr ""
+"Impossibile cambiare la modalità di ripetizione di un'animazione istanziata "
+"da una scena importata."
+
+msgid "Can't change loop mode on animation embedded in another scene."
+msgstr ""
+"Impossibile cambiare la modalità di ripetizione di un'animazione integrata "
+"in un'altra scena."
+
msgid "Property Track"
msgstr "Traccia di proprietà"
+msgid "3D Position Track"
+msgstr "Traccia di posizione 3D"
+
+msgid "3D Rotation Track"
+msgstr "Traccia di rotazione 3D"
+
+msgid "3D Scale Track"
+msgstr "Traccia di scalatura 3D"
+
msgid "Call Method Track"
msgstr "Traccia di metodi"
@@ -319,6 +676,9 @@ msgstr "Funzioni:"
msgid "Audio Clips:"
msgstr "Segmenti audio:"
+msgid "Animation Clips:"
+msgstr "Clip di animazione:"
+
msgid "Change Track Path"
msgstr "Cambia Percorso Traccia"
@@ -364,6 +724,18 @@ msgstr "In Gestione:"
msgid "Out-Handle:"
msgstr "Fuori Gestione:"
+msgid "Handle mode: Free\n"
+msgstr "Modalità della maniglia: lineare\n"
+
+msgid "Handle mode: Linear\n"
+msgstr "Modalità della maniglia: lineare\n"
+
+msgid "Handle mode: Balanced\n"
+msgstr "Modalità della maniglia: bilanciata\n"
+
+msgid "Handle mode: Mirrored\n"
+msgstr "Modalità della maniglia: specchiata\n"
+
msgid "Stream:"
msgstr "Flusso:"
@@ -397,6 +769,12 @@ msgstr "Lineare"
msgid "Cubic"
msgstr "Cubica"
+msgid "Linear Angle"
+msgstr "Angolo lineare"
+
+msgid "Cubic Angle"
+msgstr "Angolo cubico"
+
msgid "Clamp Loop Interp"
msgstr "Blocca l'interpolazione d'un ciclo"
@@ -424,12 +802,28 @@ msgstr "Cambia la modalità d'interpolazione di un'animazione"
msgid "Change Animation Loop Mode"
msgstr "Cambia la modalità del ciclo di un'animazione"
+msgid ""
+"Compressed tracks can't be edited or removed. Re-import the animation with "
+"compression disabled in order to edit."
+msgstr ""
+"Le tracce compresse non possono essere né modificate né rimosse. Per "
+"modificarla, reimportare l'animazione senza compressione."
+
msgid "Remove Anim Track"
msgstr "Rimuovi una traccia d'animazione"
+msgid "Create new track for %s and insert key?"
+msgstr "Creare una nuova traccia per %s e inserire la chiave?"
+
+msgid "Create %d new tracks and insert keys?"
+msgstr "Creare %d nuove tracce e inserirci i fotogrammi chiavi?"
+
msgid "Create"
msgstr "Crea"
+msgid "Animation Insert Key"
+msgstr "Inscerisci una chiave in un'animazione"
+
msgid "node '%s'"
msgstr "nodo \"%s\""
@@ -448,6 +842,11 @@ msgstr "Cambia il passo di animazione"
msgid "Rearrange Tracks"
msgstr "Riordina delle tracce"
+msgid "Position/Rotation/Scale 3D tracks only apply to 3D-based nodes."
+msgstr ""
+"Le tracce di posizione/rotazione/scala 3D si applicano solo a nodi basati "
+"sul 3D."
+
msgid ""
"Audio tracks can only point to nodes of type:\n"
"-AudioStreamPlayer\n"
@@ -464,7 +863,7 @@ msgstr ""
"Le tracce di animazioni possono puntare solo a nodi di tipo AnimationPlayer."
msgid "Not possible to add a new track without a root"
-msgstr "Non è possibile aggiungere una nuova traccia senza un nodo radice"
+msgstr "Non è possibile aggiungere una nuova traccia senza una radice"
msgid "Invalid track for Bezier (no suitable sub-properties)"
msgstr ""
@@ -476,6 +875,18 @@ msgstr "Aggiungi una traccia di curve di Bézier"
msgid "Track path is invalid, so can't add a key."
msgstr "La traccia non è valida, quindi è impossibile aggiungere una chiave."
+msgid "Track is not of type Node3D, can't insert key"
+msgstr "La traccia non è di tipo Node3D, impossibile aggiungere la chiave"
+
+msgid "Add Position Key"
+msgstr "Aggiungi una chiave di animazione"
+
+msgid "Add Rotation Key"
+msgstr "Aggiungi una chiave di rotazione"
+
+msgid "Add Scale Key"
+msgstr "Aggiungi una chiave di scalatura"
+
msgid "Add Track Key"
msgstr "Aggiungi una chiave a una traccia"
@@ -520,6 +931,31 @@ msgstr ""
"Questa opzione non funziona per modificare delle curve di Bézier, dato che "
"si tratta di una singola traccia."
+msgid "Animation Add RESET Keys"
+msgstr "Aggiungi le chiavi RESET di un'animazione"
+
+msgid "Bake Animation as Linear keys."
+msgstr "Cuoci l'animazione come chiavi lineari."
+
+msgid ""
+"This animation belongs to an imported scene, so changes to imported tracks "
+"will not be saved.\n"
+"\n"
+"To modify this animation, navigate to the scene's Advanced Import settings "
+"and select the animation.\n"
+"Some options, including looping, are available here. To add custom tracks, "
+"enable \"Save To File\" and\n"
+"\"Keep Custom Tracks\"."
+msgstr ""
+"Quest'animazione appartiene a una scena importata, pertanto eventuali "
+"modifiche fatte alle tracce importate non verranno salvate.\n"
+"\n"
+"Per modificare quest'animazione, navigare nelle impostazioni d'importanzione "
+"avanzate e selezionare l'animazione.\n"
+"Qui sono disponibili alcune opzioni, inclusa la ripetizione. Per aggiungere "
+"delle tracce personalizzate, abilitare \"Save To File\" e\n"
+"\"Keep Custom Tracks\"."
+
msgid "Warning: Editing imported animation"
msgstr "Attenzione: sta venendo modificata un'animazione importata"
@@ -527,6 +963,12 @@ msgid "Select an AnimationPlayer node to create and edit animations."
msgstr ""
"Selezionare un nodo AnimationPlayer per creare e modificare animazioni."
+msgid "Imported Scene"
+msgstr "Scena importata"
+
+msgid "Toggle between the bezier curve editor and track editor."
+msgstr "Commuta tra l'editor di curve di Bézier e l'editor di tracce."
+
msgid "Only show tracks from nodes selected in tree."
msgstr "Mostra solo le tracce dei nodi selezionati nell'albero."
@@ -578,18 +1020,24 @@ msgstr "Vai al passo precedente"
msgid "Apply Reset"
msgstr "Reimposta"
+msgid "Bake Animation"
+msgstr "Cuoci animazione"
+
+msgid "Optimize Animation (no undo)"
+msgstr "Ottimizza l'animazione (irreversibile)"
+
+msgid "Clean-Up Animation (no undo)"
+msgstr "Pulisci l'animazione (irreversibile)"
+
+msgid "Pick a node to animate:"
+msgstr "Seleziona il nodo da animare:"
+
msgid "Use Bezier Curves"
msgstr "Usa le curve di Bézier"
msgid "Create RESET Track(s)"
msgstr "Crea traccia/e di rispristino"
-msgid "Anim. Optimizer"
-msgstr "Ottimizzatore animazioni"
-
-msgid "Max. Angular Error:"
-msgstr "Max errore angolare:"
-
msgid "Optimize"
msgstr "Ottimizza"
@@ -635,6 +1083,16 @@ msgstr "Numero della linea:"
msgid "%d replaced."
msgstr "%d sostituito."
+msgid "%d match"
+msgid_plural "%d matches"
+msgstr[0] "%d corrispondenza"
+msgstr[1] "%d corrispondenze"
+
+msgid "%d of %d match"
+msgid_plural "%d of %d matches"
+msgstr[0] "%d di %d corrispondenza"
+msgstr[1] "%d di %d corrispondenze"
+
msgid "Match Case"
msgstr "Maiuscole distinte"
@@ -684,6 +1142,9 @@ msgstr ""
"Metodo di destinazione non trovato. Specifica un metodo valido o assegna uno "
"script al nodo di destinazione."
+msgid "Attached Script"
+msgstr "Script allegato"
+
msgid "Connect to Node:"
msgstr "Connetti al Nodo:"
@@ -693,12 +1154,30 @@ msgstr "Connetti allo script:"
msgid "From Signal:"
msgstr "Dal segnale:"
+msgid "Filter Nodes"
+msgstr "Filtra i nodi"
+
+msgid "Go to Source"
+msgstr "Vai alla sorgente"
+
msgid "Scene does not contain any script."
msgstr "La scena non contiene alcuno script."
msgid "Select Method"
msgstr "Seleziona Metodo"
+msgid "Filter Methods"
+msgstr "Filtra i metodi"
+
+msgid "No method found matching given filters."
+msgstr "Nessun metodo trovato corrispondente ai filtri dati."
+
+msgid "Script Methods Only"
+msgstr "Solo i metodi dello script"
+
+msgid "Compatible Methods Only"
+msgstr "Solo i metodi compatibili"
+
msgid "Remove"
msgstr "Rimuovi"
@@ -708,6 +1187,9 @@ msgstr "Aggiungi un argomento di chiamata aggiuntivo:"
msgid "Extra Call Arguments:"
msgstr "Argomenti di chiamata aggiuntivi:"
+msgid "Allows to drop arguments sent by signal emitter."
+msgstr "Permette di ignorare gli argomenti inviati dall'emittente del segnale."
+
msgid "Receiver Method:"
msgstr "Metodo ricevitore:"
@@ -738,6 +1220,9 @@ msgstr "Connetti"
msgid "Signal:"
msgstr "Segnale:"
+msgid "No description."
+msgstr "Nessuna descrizione."
+
msgid "Connect '%s' to '%s'"
msgstr "Connetti \"%s\" a \"%s\""
@@ -756,12 +1241,18 @@ msgstr "Disconnetti"
msgid "Connect a Signal to a Method"
msgstr "Connetti un segnale a un metodo"
+msgid "Edit Connection: '%s'"
+msgstr "Modifica la connessione: \"%s\""
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "Sei sicuro di voler rimuovere tutte le connessioni dal segnale \"%s\"?"
msgid "Signals"
msgstr "Segnali"
+msgid "Filter Signals"
+msgstr "Filtra i segnali"
+
msgid "Are you sure you want to remove all connections from this signal?"
msgstr "Confermare la rimozione di tutte le connessioni da questo segnale?"
@@ -774,6 +1265,9 @@ msgstr "Modifica..."
msgid "Go to Method"
msgstr "Vai al metodo"
+msgid "Change Type of \"%s\""
+msgstr "Cambia il tipo di \"%s\""
+
msgid "Change"
msgstr "Cambia"
@@ -783,6 +1277,12 @@ msgstr "Crea un nuovo %s"
msgid "No results for \"%s\"."
msgstr "Nessun risultato per \"%s\"."
+msgid "This class is marked as deprecated."
+msgstr "Questa classe è stata segnata come deprecata."
+
+msgid "This class is marked as experimental."
+msgstr "Questa classe è stata segnata come sperimentale."
+
msgid "No description available for %s."
msgstr "Nessuna descrizione disponibile per %s."
@@ -792,6 +1292,9 @@ msgstr "Preferiti:"
msgid "Recent:"
msgstr "Recenti:"
+msgid "(Un)favorite selected item."
+msgstr "Aggiungi/rimuovi l'elemento attuale dai preferiti."
+
msgid "Search:"
msgstr "Cerca:"
@@ -819,9 +1322,21 @@ msgstr "Copia percorso del nodo"
msgid "Instance:"
msgstr "Istanza:"
+msgid ""
+"This node has been instantiated from a PackedScene file:\n"
+"%s\n"
+"Click to open the original file in the Editor."
+msgstr ""
+"Questo nodo è stato istanziato da un file PackedScene:\n"
+"%s\n"
+"Cliccare per aprire il file oriignale nell'Editor."
+
msgid "Toggle Visibility"
msgstr "Commuta visibilità"
+msgid "ms"
+msgstr "ms"
+
msgid "Monitors"
msgstr "Monitor"
@@ -891,6 +1406,15 @@ msgstr "Tempo"
msgid "Calls"
msgstr "Chiamate"
+msgid "CPU"
+msgstr "CPU"
+
+msgid "GPU"
+msgstr "GPU"
+
+msgid "Execution resumed."
+msgstr "Esecuzione ripresa."
+
msgid "Bytes:"
msgstr "Byte:"
@@ -903,9 +1427,36 @@ msgstr "Errore:"
msgid "%s Error"
msgstr "Errore %s"
+msgid "%s Error:"
+msgstr "Errore %s:"
+
+msgid "%s Source"
+msgstr "Sorgente %s"
+
+msgid "%s Source:"
+msgstr "Sorgente %s:"
+
msgid "Stack Trace"
msgstr "Analisi dello stack"
+msgid "Debug session started."
+msgstr "Sessione di debug iniziata."
+
+msgid "Debug session closed."
+msgstr "Sessione di debug terminata."
+
+msgid "Line %d"
+msgstr "Riga %d"
+
+msgid "Delete Breakpoint"
+msgstr "Elimina il punto d'interruzione"
+
+msgid "Delete All Breakpoints in:"
+msgstr "Rimuovi tutti i punti d'interruzione in:"
+
+msgid "Delete All Breakpoints"
+msgstr "Rimuovi tutti i punti d'interruzione"
+
msgid "Copy Error"
msgstr "Copia Errore"
@@ -936,6 +1487,9 @@ msgstr "Continua"
msgid "Stack Frames"
msgstr "Stack Frame"
+msgid "Filter Stack Variables"
+msgstr "Filtra le variabili nello stack"
+
msgid "Breakpoints"
msgstr "Punti di interruzione"
@@ -946,7 +1500,10 @@ msgid "Collapse All"
msgstr "Comprimi Tutto"
msgid "Profiler"
-msgstr "Profiler"
+msgstr "Profilatore"
+
+msgid "Visual Profiler"
+msgstr "Profilatore visivo"
msgid "List of Video Memory Usage by Resource:"
msgstr "Lista di Utilizzo Memoria Video per Risorsa:"
@@ -1037,6 +1594,13 @@ msgstr "Apri Scene"
msgid "Owners of: %s (Total: %d)"
msgstr "proprietario di: %s (Totale: %d)"
+msgid "Localization remap"
+msgstr "Rimappatura della localizzazione"
+
+msgid "Localization remap for path '%s' and locale '%s'."
+msgstr ""
+"Rimappatura della localizzazione per il percorso \"%s\" e il locale \"%s\"."
+
msgid ""
"Remove the selected files from the project? (Cannot be undone.)\n"
"Depending on your filesystem configuration, the files will either be moved "
@@ -1256,6 +1820,12 @@ msgstr "Aggira"
msgid "Bus Options"
msgstr "Opzioni Bus"
+msgid "Duplicate Bus"
+msgstr "Duplica un bus"
+
+msgid "Delete Bus"
+msgstr "Elimina un bus"
+
msgid "Reset Volume"
msgstr "Ripristina il volume"
@@ -1343,12 +1913,18 @@ msgstr "Caratteri validi:"
msgid "Must not collide with an existing engine class name."
msgstr "Non deve collidere con il nome di una classe del motore esistente."
+msgid "Must not collide with an existing global script class name."
+msgstr "Non deve collidere con un nome di classe globale di uno script."
+
msgid "Must not collide with an existing built-in type name."
msgstr "Non deve confliggere con il nome di un tipo predefinito già esistente."
msgid "Must not collide with an existing global constant name."
msgstr "Non deve collidere con il nome di una costante globale esistente."
+msgid "Keyword cannot be used as an Autoload name."
+msgstr "Una parola chiave non può essere utilizzata come nome di un Autoload."
+
msgid "Autoload '%s' already exists!"
msgstr "L'Autoload \"%s\" esiste già!"
@@ -1367,6 +1943,9 @@ msgstr "Abilita"
msgid "Rearrange Autoloads"
msgstr "Riordina gli Autoload"
+msgid "Can't add Autoload:"
+msgstr "Impossibile aggiungere l'Autoload:"
+
msgid "%s is an invalid path. File does not exist."
msgstr "%s è un path non valido. File inesistente."
@@ -1375,18 +1954,133 @@ msgstr ""
"%s non è un percorso valido. Non si trova nel percorso delle risorse "
"(res://)."
+msgid "Add Autoload"
+msgstr "Aggiungi un Autoload"
+
msgid "Path:"
msgstr "Percorso:"
+msgid "Set path or press \"%s\" to create a script."
+msgstr "Impostare il percorso o premere \"%s\" per creare uno script."
+
msgid "Node Name:"
msgstr "Nome del Nodo:"
msgid "Global Variable"
msgstr "Valiabile globale"
+msgid "3D Engine"
+msgstr "Motore 3D"
+
+msgid "2D Physics"
+msgstr "Fisica 2D"
+
+msgid "3D Physics"
+msgstr "Fisica 3D"
+
msgid "Navigation"
msgstr "Navigazione"
+msgid "XR"
+msgstr "XR"
+
+msgid "RenderingDevice"
+msgstr "RenderingDevice"
+
+msgid "OpenGL"
+msgstr "OpenGL"
+
+msgid "Vulkan"
+msgstr "Vulkan"
+
+msgid "Text Server: Fallback"
+msgstr "Server testuale: di ripiego"
+
+msgid "Text Server: Advanced"
+msgstr "Server di testo: avanzato"
+
+msgid "TTF, OTF, Type 1, WOFF1 Fonts"
+msgstr "Font TTF, OTF, Type 1, WOFF1"
+
+msgid "WOFF2 Fonts"
+msgstr "Font WOFF2"
+
+msgid "SIL Graphite Fonts"
+msgstr "Font SIL Graphite"
+
+msgid "3D Nodes as well as RenderingServer access to 3D features."
+msgstr "Nodi 3D e acceso alle funzionalità 3D di RenderingServer."
+
+msgid "2D Physics nodes and PhysicsServer2D."
+msgstr "Nodi fisici 2D e PhysicsServer2D."
+
+msgid "3D Physics nodes and PhysicsServer3D."
+msgstr "Nodi fisici 3D e PhysicsServer3D."
+
+msgid "Navigation, both 2D and 3D."
+msgstr "Navigazione, sia 2D che 3D."
+
+msgid "XR (AR and VR)."
+msgstr "XR (AR e VR)."
+
+msgid ""
+"RenderingDevice based rendering (if disabled, the OpenGL back-end is "
+"required)."
+msgstr ""
+"Elaborazione basata su RenderingDevice (se disabilitata, è richiesto il "
+"backend OpenGL)."
+
+msgid ""
+"OpenGL back-end (if disabled, the RenderingDevice back-end is required)."
+msgstr ""
+"Backend OpenGL (se disabilitata, è richiesto il backend RenderingDevice)."
+
+msgid "Vulkan back-end of RenderingDevice."
+msgstr "Backend Vulkan di RenderingDevice."
+
+msgid ""
+"Fallback implementation of Text Server\n"
+"Supports basic text layouts."
+msgstr ""
+"Implementazione di ripiego di un server di testo\n"
+"Supporta disposizioni di testo basilari."
+
+msgid ""
+"Text Server implementation powered by ICU and HarfBuzz libraries.\n"
+"Supports complex text layouts, BiDi, and contextual OpenType font features."
+msgstr ""
+"Implementazione di un server di testo che sfrutta le librerie ICU e "
+"HarfBuzz.\n"
+"Supporta modelli di testo complessi, BiDi e funzionalità contestuali dei "
+"font OpenType."
+
+msgid ""
+"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType "
+"library (if disabled, WOFF2 support is also disabled)."
+msgstr ""
+"Supporto ai font TrueType, OpenType, Type 1 e WOFF1 utilizzando la libreria "
+"FreeType (se disabilitata, è disabilitato anche il support WOFF2)."
+
+msgid "WOFF2 font format support using FreeType and Brotli libraries."
+msgstr ""
+"Supporto al formato di font WOFF2 utilizzando le librerie FreeType e Brotli."
+
+msgid ""
+"SIL Graphite smart font technology support (supported by Advanced Text "
+"Server only)."
+msgstr ""
+"Supporto alla tecnologia di font intelligente SIL Graphite (supportata solo "
+"dal server di testo avanzato)."
+
+msgid "General Features:"
+msgstr "Funzionalità generali:"
+
+msgid "Text Rendering and Font Options:"
+msgstr "Opzioni di rendering di testo e di font:"
+
+msgid "File saving failed."
+msgstr "Salvataggio del file fallito."
+
msgid "Nodes and Classes:"
msgstr "Nodi e Classi:"
@@ -1402,12 +2096,39 @@ msgstr "Nuovo"
msgid "Save"
msgstr "Salva"
+msgid "Profile:"
+msgstr "Profilo:"
+
msgid "Reset to Defaults"
msgstr "Ripristinare le impostazioni predefinite"
+msgid "Detect from Project"
+msgstr "Rileva dal progetto"
+
+msgid "Actions:"
+msgstr "Azioni:"
+
+msgid "Configure Engine Build Profile:"
+msgstr "Configura il profilo di costruzione del motore:"
+
+msgid "Please Confirm:"
+msgstr "Per favore conferma:"
+
+msgid "Engine Build Profile"
+msgstr "Profilo di costruzione del motore"
+
+msgid "Load Profile"
+msgstr "Carica un profilo"
+
msgid "Export Profile"
msgstr "Esporta il profilo"
+msgid "Edit Build Configuration Profile"
+msgstr "Modifica il profilo di configurazione di costruzione"
+
+msgid "Filter Commands"
+msgstr "Filtra i comandi"
+
msgid "Paste Params"
msgstr "Incolla dei parametri"
@@ -1429,6 +2150,9 @@ msgstr "[non salvato]"
msgid "Please select a base directory first."
msgstr "Si prega di selezionare prima una cartella di base."
+msgid "Could not create folder. File with that name already exists."
+msgstr "Impossibile creare una cartella. Esiste già un file con quel nome."
+
msgid "Choose a Directory"
msgstr "Scegli una cartella"
@@ -1465,6 +2189,9 @@ msgstr "Pannello del file system"
msgid "Import Dock"
msgstr "Pannello d'importazione"
+msgid "History Dock"
+msgstr "Pannello cronologia"
+
msgid "Allows to view and edit 3D scenes."
msgstr "Permette di visuallizzare e modificare le scene 3D."
@@ -1495,6 +2222,11 @@ msgstr ""
"Permette di configurare le impostazioni d'importazione di contenuti "
"individuali. Richiede il pannello del file system per funzionare."
+msgid "Provides an overview of the editor's and each scene's undo history."
+msgstr ""
+"Offre una panoramica della cronologia di annullamento dell'editor e di ogni "
+"scena."
+
msgid "(current)"
msgstr "(Attuale)"
@@ -1559,7 +2291,7 @@ msgid "Make Current"
msgstr "Rendi attuale"
msgid "Import"
-msgstr "Importare"
+msgstr "Importa"
msgid "Export"
msgstr "Esporta"
@@ -1596,9 +2328,6 @@ msgstr "Apri"
msgid "Select Current Folder"
msgstr "Seleziona la cartella attuale"
-msgid "File exists, overwrite?"
-msgstr "File esistente, sovrascrivere?"
-
msgid "Select This Folder"
msgstr "Seleziona questa cartella"
@@ -1635,6 +2364,9 @@ msgstr "Apri un file o una cartella"
msgid "Save a File"
msgstr "Salva un file"
+msgid "Favorited folder does not exist anymore and will be removed."
+msgstr "La cartella preferita non esiste più e verrà rimossa."
+
msgid "Go Back"
msgstr "Torna indietro"
@@ -1695,6 +2427,20 @@ msgstr "Anteprima:"
msgid "File:"
msgstr "File:"
+msgid ""
+"Remove the selected files? For safety only files and empty directories can "
+"be deleted from here. (Cannot be undone.)\n"
+"Depending on your filesystem configuration, the files will either be moved "
+"to the system trash or deleted permanently."
+msgstr ""
+"Rimuovere i file selezionati dal progetto? (Non può essere annullato.)\n"
+"A seconda della propria configurazione di sistema, essi saranno spostati nel "
+"cestino di sistema oppure eliminati permanentemente."
+
+msgid "Some extensions need the editor to restart to take effect."
+msgstr ""
+"Alcune estensioni hanno bisogno di un riavvio dell'editor per avere effetto."
+
msgid "Restart"
msgstr "Ricomincia"
@@ -1714,6 +2460,55 @@ msgstr ""
msgid "(Re)Importing Assets"
msgstr "Reimportando i contenuti"
+msgid "Import resources of type: %s"
+msgstr "Importa risorse di tipo: %s"
+
+msgid "No return value."
+msgstr "Nessun valore di ritorno."
+
+msgid "Deprecated"
+msgstr "Deprecato"
+
+msgid "Experimental"
+msgstr "Sperimentale"
+
+msgid "This method supports a variable number of arguments."
+msgstr "Questo metodo supporta un numero variabile di argomenti."
+
+msgid ""
+"This method is called by the engine.\n"
+"It can be overridden to customize built-in behavior."
+msgstr ""
+"Questo metodo è chiamato dal motore.\n"
+"Può essere sovrascritto per personalizzare un comportamento integrato."
+
+msgid ""
+"This method has no side effects.\n"
+"It does not modify the object in any way."
+msgstr ""
+"Questo metodo non ha effetti collaterali.\n"
+"Non modifica l'oggetto in alcun modo."
+
+msgid ""
+"This method does not need an instance to be called.\n"
+"It can be called directly using the class name."
+msgstr ""
+"Questo metodo non richiede un'istanza per essere chiamato.\n"
+"Può essere chiamato direttamente utilizzando il nome della classe."
+
+msgid "Error codes returned:"
+msgstr "Codici di errore restituiti:"
+
+msgid "There is currently no description for this %s."
+msgstr "Attualmente non esiste alcuna descrizione per questo %s."
+
+msgid ""
+"There is currently no description for this %s. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Al momento non esiste alcune descrizione per questo %s. Per piacere aiutaci "
+"[color=$color][url=$url]aggiungendone una[/url][/color]!"
+
msgid "Top"
msgstr "In cima"
@@ -1726,9 +2521,31 @@ msgstr "Eredita:"
msgid "Inherited by:"
msgstr "Ereditato da:"
+msgid ""
+"This class is marked as deprecated. It will be removed in future versions."
+msgstr ""
+"Questa classe è segnata come deprecata. Verrà rimossa in versioni future."
+
+msgid ""
+"This class is marked as experimental. It is subject to likely change or "
+"possible removal in future versions. Use at your own discretion."
+msgstr ""
+"Questa classe è segnata come sperimentale. Verrà probabilmente cambiata o "
+"rimossa in versioni future. Usare a propria discrezione."
+
msgid "Description"
msgstr "Descrizione"
+msgid "There is currently no description for this class."
+msgstr "Non esiste alcuna descrizione per questa classe."
+
+msgid ""
+"There is currently no description for this class. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Al momento non esiste alcune descrizione per questa classe. Per piacere "
+"aiutaci [color=$color][url=$url]aggiungendone una[/url][/color]!"
+
msgid "Online Tutorials"
msgstr "Corsi Online"
@@ -1741,6 +2558,9 @@ msgstr "sovrascrive %s:"
msgid "default:"
msgstr "predefinito:"
+msgid "property:"
+msgstr "proprietà:"
+
msgid "Constructors"
msgstr "Costruttori"
@@ -1759,6 +2579,9 @@ msgstr "Costanti"
msgid "Fonts"
msgstr "Font"
+msgid "Font Sizes"
+msgstr "Dimensioni dei font"
+
msgid "Icons"
msgstr "Icone"
@@ -1768,12 +2591,28 @@ msgstr "Stili"
msgid "Enumerations"
msgstr "Enumerazioni"
+msgid "Annotations"
+msgstr "Annotazioni"
+
+msgid "There is currently no description for this annotation."
+msgstr "Non esiste alcuna descrizione per quest'annotazione."
+
+msgid ""
+"There is currently no description for this annotation. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Al momento non esiste alcune descrizione per quest'annotazoine. Per piacere "
+"aiutaci [color=$color][url=$url]aggiungendone una[/url][/color]!"
+
msgid "Property Descriptions"
msgstr "Descrizioni delle proprietà"
msgid "(value)"
msgstr "(valore)"
+msgid "There is currently no description for this property."
+msgstr "Non esiste alcune descrizione per questa proprietà."
+
msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
@@ -1811,12 +2650,21 @@ msgstr "Mostra tutto"
msgid "Classes Only"
msgstr "Solo le classi"
+msgid "Constructors Only"
+msgstr "Solo i costruttori"
+
msgid "Methods Only"
msgstr "Solo i metodi"
+msgid "Operators Only"
+msgstr "Solo gli operatori"
+
msgid "Signals Only"
msgstr "Solo i segnali"
+msgid "Annotations Only"
+msgstr "Sono le annotazioni"
+
msgid "Constants Only"
msgstr "Solo le costanti"
@@ -1829,6 +2677,9 @@ msgstr "Solo le proprietà del tema"
msgid "Member Type"
msgstr "Tipo di membro"
+msgid "(constructors)"
+msgstr "(costruttori)"
+
msgid "Class"
msgstr "Classe"
@@ -1838,6 +2689,9 @@ msgstr "Metodo"
msgid "Signal"
msgstr "Segnale"
+msgid "Annotation"
+msgstr "Annotazione"
+
msgid "Constant"
msgstr "Costante"
@@ -1847,9 +2701,21 @@ msgstr "Proprietà"
msgid "Theme Property"
msgstr "Proprietà del tema"
+msgid "This member is marked as deprecated."
+msgstr "Questo membro è segnato come deprecato."
+
+msgid "This member is marked as experimental."
+msgstr "Questo membro è stato segnato come sperimentale."
+
msgid "Property:"
msgstr "Proprietà:"
+msgid "Pin Value"
+msgstr "Fissa il valore"
+
+msgid "Pin Value [Disabled because '%s' is editor-only]"
+msgstr "Fissa il valore [Disabilitato perché '%s' è solo per l'editor]"
+
msgid ""
"Pinning a value forces it to be saved even if it's equal to the default."
msgstr ""
@@ -1865,27 +2731,93 @@ msgstr "Sposta su"
msgid "Move Down"
msgstr "Sposta giù"
+msgid "Insert New Before"
+msgstr "Inserisci nuovo prima"
+
+msgid "Insert New After"
+msgstr "Inserisci nuovo dopo"
+
+msgid "Clear Array"
+msgstr "Pulisci lista"
+
+msgid "Resize Array..."
+msgstr "Ridimensiona lista..."
+
+msgid "Add Element"
+msgstr "Aggiungi un elemento"
+
msgid "Resize Array"
msgstr "Ridimensiona lista"
+msgid "New Size:"
+msgstr "Nuova dimensione:"
+
+msgid "Element %s"
+msgstr "Elemento %s"
+
+msgid "Add Metadata"
+msgstr "Aggiungi un metadato"
+
msgid "Set %s"
msgstr "Imposta %s"
msgid "Set Multiple:"
msgstr "Imposta più valori:"
+msgid "Remove metadata %s"
+msgstr "Rimuovi metadato %s"
+
msgid "Pinned %s"
msgstr "%s fissato"
msgid "Unpinned %s"
msgstr "%s non fissato"
+msgid "Add metadata %s"
+msgstr "Aggiungi il metadato %s"
+
+msgid "Metadata name can't be empty."
+msgstr "Il nome del metadato non può essere vuoto."
+
+msgid "Metadata name must be a valid identifier."
+msgstr "Il nome del metadato deve essere un identificatore valido."
+
+msgid "Metadata with name \"%s\" already exists."
+msgstr "Un metadato chiamato \"%s\" esiste già."
+
+msgid "Names starting with _ are reserved for editor-only metadata."
+msgstr "I nomi che iniziano con _ sono riservati ai metadati dell'editor."
+
+msgid "Metadata name is valid."
+msgstr "Il nome del metadato è valido."
+
+msgid "Add Metadata Property for \"%s\""
+msgstr "Aggiungi una proprietà del metadato per: \"%s\""
+
+msgid "Copy Value"
+msgstr "Copia il valore"
+
+msgid "Paste Value"
+msgstr "Incolla il valore"
+
msgid "Copy Property Path"
msgstr "Copia il percorso della proprietà"
+msgid "Select existing layout:"
+msgstr "Seleziona una disposizione esistente:"
+
+msgid "Changed Locale Country Filter"
+msgstr "Filtro del paese del locale modificato"
+
msgid "Changed Locale Filter Mode"
msgstr "Modalità filtro lingue modificata"
+msgid "[Default]"
+msgstr "[Predefinito]"
+
+msgid "Select a Locale"
+msgstr "Seleziona un locale"
+
msgid "Show All Locales"
msgstr "Mostra tutte le lingue"
@@ -1898,15 +2830,59 @@ msgstr "Modifica Filtri"
msgid "Language:"
msgstr "Lingua:"
+msgctxt "Locale"
+msgid "Script:"
+msgstr "Alfabeto:"
+
+msgid "Country:"
+msgstr "Paese:"
+
+msgid "Language"
+msgstr "Lingua"
+
+msgctxt "Locale"
+msgid "Script"
+msgstr "Alfabeto"
+
+msgid "Country"
+msgstr "Paese"
+
msgid "Variant"
msgstr "Variante"
+msgid "Filter Messages"
+msgstr "Filtra i messaggi"
+
msgid "Clear Output"
msgstr "Svuota l'output"
msgid "Copy Selection"
msgstr "Copia selezione"
+msgid ""
+"Collapse duplicate messages into one log entry. Shows number of occurrences."
+msgstr ""
+"Collassa i messaggi duplicati in un singolo elemento. Mostra il numero di "
+"ricorrenze."
+
+msgid "Focus Search/Filter Bar"
+msgstr "Seleziona la barra di ricerca/filtraggio"
+
+msgid "Toggle visibility of standard output messages."
+msgstr "Commuta la visibilità dei messaggi dall'uscita standard."
+
+msgid "Toggle visibility of errors."
+msgstr "Commuta la visibilità degli errori."
+
+msgid "Toggle visibility of warnings."
+msgstr "Commuta la visibilità degli avvisi."
+
+msgid "Toggle visibility of editor messages."
+msgstr "Commuta la visibilità dei messaggi dell'editor."
+
+msgid "Native Shader Source Inspector"
+msgstr "Ispettore delle sorgenti native degli shader"
+
msgid "New Window"
msgstr "Nuova Finestra"
@@ -1941,6 +2917,13 @@ msgstr ""
"Questa risorsa non può essere salvata perché non appartiene alla scena che "
"si sta modificando. Assicurarsi di renderla unica."
+msgid ""
+"This resource can't be saved because it was imported from another file. Make "
+"it unique first."
+msgstr ""
+"Questa risorsa non può essere salvata perché è stata importata da un altro "
+"file. Renderla prima unica."
+
msgid "Save Resource As..."
msgstr "Salva risorsa come..."
@@ -1953,6 +2936,23 @@ msgstr "Formato del file richiesto sconosciuto:"
msgid "Error while saving."
msgstr "Errore durante il salvataggio."
+msgid "Can't open file '%s'. The file could have been moved or deleted."
+msgstr ""
+"Impossibile aprire il file \"%s\". Il file potrebbe essere stato spostato o "
+"eliminato."
+
+msgid "Error while parsing file '%s'."
+msgstr "Errore durante l'analisi del file \"%s\"."
+
+msgid "Scene file '%s' appears to be invalid/corrupt."
+msgstr "Il file della scena \"%s\" sembra essere invalido/corrotto."
+
+msgid "Missing file '%s' or one its dependencies."
+msgstr "File \"%s\" o una delle sue dipendenze mancanti."
+
+msgid "Error while loading file '%s'."
+msgstr "Errore durante il caricamento del file \"%s\"."
+
msgid "Saving Scene"
msgstr "Salvando la scena"
@@ -1967,6 +2967,14 @@ msgstr ""
"Questa operazione non può essere eseguita senza una radice dell'albero."
msgid ""
+"This scene can't be saved because there is a cyclic instance inclusion.\n"
+"Please resolve it and then attempt to save again."
+msgstr ""
+"Questa scena non può essere salvata perché include un'instanziazione "
+"ciclica.\n"
+"Per favore risolverla e poi tentare di salvarla di nuovo."
+
+msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
msgstr ""
@@ -2011,6 +3019,9 @@ msgstr "Nome della disposizione non trovato!"
msgid "Restored the Default layout to its base settings."
msgstr "Ripristinata la disposzione predefinita alle sue impostazioni di base."
+msgid "This object is marked as read-only, so it's not editable."
+msgstr "L'oggetto è segnato come in sola lettura, pertanto non è modificabile."
+
msgid ""
"This resource belongs to a scene that was imported, so it's not editable.\n"
"Please read the documentation relevant to importing scenes to better "
@@ -2022,27 +3033,76 @@ msgstr ""
"per capire meglio questa prassi."
msgid ""
+"This resource belongs to a scene that was instantiated or inherited.\n"
+"Changes to it must be made inside the original scene."
+msgstr ""
+"Questa risorsa appartiene a una scena che è stata istanziata o ereditata.\n"
+"I cambiamenti a essa devono essere fatti nella scena originale."
+
+msgid ""
"This resource was imported, so it's not editable. Change its settings in the "
"import panel and then re-import."
msgstr ""
"Questa risorsa è stata importata e non è quindi modificabile. Modificare le "
"sue impostazioni nel pannello d'importazione e re-importarla."
+msgid ""
+"This scene was imported, so changes to it won't be kept.\n"
+"Instantiating or inheriting it will allow you to make changes to it.\n"
+"Please read the documentation relevant to importing scenes to better "
+"understand this workflow."
+msgstr ""
+"Questa scena è stata importata, pertanto non verranno preservati eventuali "
+"cambiamenti.\n"
+"Istanziarla o ereditarla permetteranno di effettuarci dei cambiamenti.\n"
+"Per favore leggere la documentazione rilevante all'importazione delle scene "
+"per comprendere meglio questo flusso di lavoro."
+
msgid "Changes may be lost!"
msgstr "Le modifiche potrebbero essere perse!"
+msgid "This object is read-only."
+msgstr "Questo oggetto è in sola lettura."
+
+msgid ""
+"Movie Maker mode is enabled, but no movie file path has been specified.\n"
+"A default movie file path can be specified in the project settings under the "
+"Editor > Movie Writer category.\n"
+"Alternatively, for running single scenes, a `movie_file` string metadata can "
+"be added to the root node,\n"
+"specifying the path to a movie file that will be used when recording that "
+"scene."
+msgstr ""
+"La modalità regista è attiva, ma non è stato specificato nessun percorso per "
+"il file video.\n"
+"Un percorso per il file video può essere specificato nelle impostazioni del "
+"progetto sotto la categoria Editor > Movie Writer.\n"
+"In alternativa, per eseguire scene singole, può essere aggiunto un metadato "
+"stringa \"movie_file\" nel nodo radice,\n"
+"specificando il percorso per un file video che verrà usato per registrare "
+"quella scena."
+
msgid "There is no defined scene to run."
msgstr "Non c'è nessuna scena definita da eseguire."
msgid "Save scene before running..."
msgstr "Salva scena prima di eseguire..."
+msgid "Could not start subprocess(es)!"
+msgstr "Impossibile avviare i sottoprocessi!"
+
+msgid "Reload the played scene."
+msgstr "Ricarica la scena eseguita."
+
msgid "Play the project."
msgstr "Esegui il progetto."
msgid "Play the edited scene."
msgstr "Esegui la scena modificata."
+msgid "Play a custom scene."
+msgstr "Avvia una scena personalizzata."
+
msgid "Open Base Scene"
msgstr "Apri una scena di base"
@@ -2053,14 +3113,20 @@ msgid "Quick Open Scene..."
msgstr "Apri una scena rapidamente…"
msgid "Quick Open Script..."
-msgstr "Apri script rapidamente…"
+msgstr "Apri uno script rapidamente…"
msgid "Save & Reload"
msgstr "Salva e Ricarica"
+msgid "Save modified resources before reloading?"
+msgstr "Salvare le risorse modificate prima di ricaricare?"
+
msgid "Save & Quit"
msgstr "Salva ed esci"
+msgid "Save modified resources before closing?"
+msgstr "Salvare le risorse modificate prima di chiudere?"
+
msgid "Save changes to '%s' before reloading?"
msgstr "Salvare le modifiche a '%s' prima di ricaricare?"
@@ -2074,15 +3140,15 @@ msgid ""
"The current scene has no root node, but %d modified external resource(s) "
"were saved anyway."
msgstr ""
-"La scena attuale non ha un nodo radice, ma %d risorse esterne modificate "
-"sono state salvate comunque."
+"La scena attuale non ha un nodo radice, ma sono state salvate comunque %d "
+"risorse esterne modificate."
msgid ""
"A root node is required to save the scene. You can add a root node using the "
"Scene tree dock."
msgstr ""
-"È necessario un nodo principale per salvare la scena. Puoi aggiungerne uno "
-"nel pannello di scena."
+"È necessario un nodo radice per salvare la scena. È possibile aggiungerne "
+"uno nel pannello di scena."
msgid "Save Scene As..."
msgstr "Salva la scena come…"
@@ -2096,12 +3162,30 @@ msgstr "Impossibile tornare indietro mentre i tasti del mouse sono premuti."
msgid "Nothing to undo."
msgstr "Niente da annullare."
+msgid "Global Undo: %s"
+msgstr "Annullamento globale: %s"
+
+msgid "Remote Undo: %s"
+msgstr "Annullamento remoto: %s"
+
+msgid "Scene Undo: %s"
+msgstr "Annullamento di scena: %s"
+
msgid "Can't redo while mouse buttons are pressed."
msgstr "Impossibile ripetere mentre si premono pulsanti del mouse."
msgid "Nothing to redo."
msgstr "Niente da ripetere."
+msgid "Global Redo: %s"
+msgstr "Ripetizione globale: %s"
+
+msgid "Remote Redo: %s"
+msgstr "Ripetizione remota: %s"
+
+msgid "Scene Redo: %s"
+msgstr "Ripetizione di scena: %s"
+
msgid "Can't reload a scene that was never saved."
msgstr "Impossibile ricaricare una scena che non è mai stata salvata."
@@ -2198,7 +3282,7 @@ msgid "Scene '%s' has broken dependencies:"
msgstr "La scena \"%s\" ha rotto le dipendenze:"
msgid "Clear Recent Scenes"
-msgstr "Rimuovi scene recenti"
+msgstr "Pulisci le scene recenti"
msgid ""
"No main scene has ever been defined, select one?\n"
@@ -2280,6 +3364,9 @@ msgstr "Trasla Visuale"
msgid "Dock Position"
msgstr "Posizione del pannello"
+msgid "Make Floating"
+msgstr "Rendi fluttuante"
+
msgid "Add a new scene."
msgstr "Aggiungi una nuova scena."
@@ -2301,6 +3388,18 @@ msgstr "Va alla scena precedentemente aperta."
msgid "Copy Text"
msgstr "Copia il testo"
+msgid "Next Scene Tab"
+msgstr "Prossima scheda di scena"
+
+msgid "Previous Scene Tab"
+msgstr "Scheda di scena precedente"
+
+msgid "Focus FileSystem Filter"
+msgstr "Seleziona il filtro del FileSystem"
+
+msgid "Command Palette"
+msgstr "Tavolozza dei comandi"
+
msgid "New Scene"
msgstr "Nuova scena"
@@ -2319,6 +3418,9 @@ msgstr "Apri una scena recente"
msgid "Save Scene"
msgstr "Salva la scena"
+msgid "Export As..."
+msgstr "Esporta come..."
+
msgid "MeshLibrary..."
msgstr "MeshLibrary..."
@@ -2334,9 +3436,18 @@ msgstr "Progetto"
msgid "Project Settings..."
msgstr "Impostazioni del progetto…"
+msgid "Project Settings"
+msgstr "Impostazioni del progetto"
+
msgid "Version Control"
msgstr "Controllo della versione"
+msgid "Create Version Control Metadata"
+msgstr "Crea i metadati di controllo della versione"
+
+msgid "Version Control Settings"
+msgstr "Impostazioni del controllo della versione"
+
msgid "Export..."
msgstr "Esporta..."
@@ -2346,6 +3457,9 @@ msgstr "Installa il modello di costruzione per Android…"
msgid "Open User Data Folder"
msgstr "Apri la cartella dei dati utente"
+msgid "Customize Engine Build Configuration..."
+msgstr "Personalizza la configurazione di costruzione del motore..."
+
msgid "Tools"
msgstr "Strumenti"
@@ -2364,6 +3478,9 @@ msgstr "Editor"
msgid "Editor Settings..."
msgstr "Impostazioni dell'editor…"
+msgid "Command Palette..."
+msgstr "Tavolozza dei comandi..."
+
msgid "Editor Layout"
msgstr "Disposizione dell'editor"
@@ -2392,6 +3509,9 @@ msgstr "Gestisci le funzionalità dell'editor…"
msgid "Manage Export Templates..."
msgstr "Gestisci i modelli d'esportazione…"
+msgid "Configure FBX Importer..."
+msgstr "Configura l'importatore FBX..."
+
msgid "Help"
msgstr "Aiuto"
@@ -2419,15 +3539,66 @@ msgstr "Informazioni su Godot"
msgid "Support Godot Development"
msgstr "Supporta lo sviluppo di Godot"
+msgid "Run the project's default scene."
+msgstr "Esegui la scena predefinita del progetto."
+
msgid "Run Project"
msgstr "Esegui progetto"
+msgid "Pause the running project's execution for debugging."
+msgstr "Metti in pausa l'esecuzione del progetto in corso a fini di debug."
+
+msgid "Pause Running Project"
+msgstr "Pausa il progetto in esecuzione"
+
+msgid "Stop the currently running project."
+msgstr "Ferma il progetto in esecuzione."
+
+msgid "Stop Running Project"
+msgstr "Annulla progetto in esecuzione"
+
+msgid "Run the currently edited scene."
+msgstr "Esegui la scena attualmente in modifica."
+
+msgid "Run Current Scene"
+msgstr "Esegui la scena corrente"
+
+msgid "Run a specific scene."
+msgstr "Esegui una scena specifica."
+
+msgid "Run Specific Scene"
+msgstr "Esegui una scena specifica"
+
+msgid ""
+"Enable Movie Maker mode.\n"
+"The project will run at stable FPS and the visual and audio output will be "
+"recorded to a video file."
+msgstr ""
+"Attiva la modalità regista.\n"
+"Il progetto andrà a FPS stabili e l'uscita audiovisiva verrà registrata in "
+"un file video."
+
+msgid "Choose a renderer."
+msgstr "Scegli un renderer."
+
+msgid "Forward+"
+msgstr "Forward+"
+
+msgid "Mobile"
+msgstr "Mobile"
+
msgid "Compatibility"
msgstr "Compatibilità"
+msgid "Changing the renderer requires restarting the editor."
+msgstr "Il cambiamento del renderer richiede il riavvio dell'editor."
+
msgid "Update Continuously"
msgstr "Aggiorna Continuamente"
+msgid "Update When Changed"
+msgstr "Aggiorna quando cambiato"
+
msgid "Hide Update Spinner"
msgstr "Nascondi la rotella di aggiornamento"
@@ -2440,6 +3611,9 @@ msgstr "Ispettore"
msgid "Node"
msgstr "Nodo"
+msgid "History"
+msgstr "Cronologia"
+
msgid "Expand Bottom Panel"
msgstr "Espandi il pannello inferiore"
@@ -2455,11 +3629,32 @@ msgstr ""
"rilevanti."
msgid "Manage Templates"
-msgstr "Gestisci i modelli d'esportazione"
+msgstr "Gestisci i modelli"
msgid "Install from file"
msgstr "Installa da un file"
+msgid "Select Android sources file"
+msgstr "Seleziona l'archivio delle sorgenti di Android"
+
+msgid ""
+"This will set up your project for gradle Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make gradle builds instead of using pre-built APKs, "
+"the \"Use Gradle Build\" option should be enabled in the Android export "
+"preset."
+msgstr ""
+"Questo configurerà il progetto per le costruzioni gradle di Android "
+"installando il modello sorgente in \"res://android/build\".\n"
+"È possibile allora applicare delle modifiche e costruire il proprio APK "
+"durante l'esportazione (aggiungendo moduli, modificando l'AndroidManifest."
+"xml, ecc)\n"
+"Nota che per usare le costruzioni gradle invece degli APK precostruiti, deve "
+"essere attiva l'opzione \"Use Gradle Build\" nella preimpostazione di "
+"esportazione per Android."
+
msgid ""
"The Android build template is already installed in this project and it won't "
"be overwritten.\n"
@@ -2529,6 +3724,9 @@ msgstr "Apri l'editor successivo"
msgid "Open the previous Editor"
msgstr "Apri l'editor precedente"
+msgid "Ok"
+msgstr "Ok"
+
msgid "Warning!"
msgstr "Attenzione!"
@@ -2553,6 +3751,9 @@ msgstr "Modifica l'estensione"
msgid "Installed Plugins:"
msgstr "Estensioni installate:"
+msgid "Create New Plugin"
+msgstr "Crea una nuova estensione"
+
msgid "Version"
msgstr "Versione"
@@ -2568,6 +3769,9 @@ msgstr "Modifica il testo:"
msgid "On"
msgstr "On"
+msgid "Renaming layer %d:"
+msgstr "Rinominando il livello %d:"
+
msgid "No name provided."
msgstr "Nessun nome fornito."
@@ -2580,12 +3784,30 @@ msgstr "Bit %d, valore %d"
msgid "Rename"
msgstr "Rinomina"
+msgid "Rename layer"
+msgstr "Rinomina il livello"
+
+msgid "Layer %d"
+msgstr "Livello %d"
+
+msgid "No Named Layers"
+msgstr "Nessun livello con nome"
+
+msgid "Edit Layer Names"
+msgstr "Modifica i nomi dei livelli"
+
+msgid "<empty>"
+msgstr "<vuoto>"
+
msgid "Assign..."
msgstr "Assegna..."
msgid "Invalid RID"
msgstr "RID non valido"
+msgid "Recursion detected, unable to assign resource to property."
+msgstr "Ricorsione rilevata, impossibile assegnare la risorsa alla proprietà."
+
msgid ""
"Can't create a ViewportTexture on resources saved as a file.\n"
"Resource needs to belong to a scene."
@@ -2610,12 +3832,24 @@ msgstr "Selezionare una vista"
msgid "Selected node is not a Viewport!"
msgstr "Il nodo selezionato non è un Viewport!"
+msgid "(Nil) %s"
+msgstr "(Nullo) %s"
+
+msgid "%s (size %s)"
+msgstr "%s (grandezza %s)"
+
msgid "Size:"
msgstr "Dimensione:"
msgid "Remove Item"
msgstr "Rimuovi l'elemento"
+msgid "Dictionary (Nil)"
+msgstr "Dizionario (nullo)"
+
+msgid "Dictionary (size %d)"
+msgstr "Dizionario (grandezza %s)"
+
msgid "New Key:"
msgstr "Nuova chiave:"
@@ -2625,6 +3859,15 @@ msgstr "Nuovo valore:"
msgid "Add Key/Value Pair"
msgstr "Aggiungi una coppia chiave/valore"
+msgid "Localizable String (Nil)"
+msgstr "Stringa localizzabile (nulla)"
+
+msgid "Localizable String (size %d)"
+msgstr "Stringa localizzabile (dimensione %d)"
+
+msgid "Add Translation"
+msgstr "Aggiungi una traduzione"
+
msgid ""
"The selected resource (%s) does not match any type expected for this "
"property (%s)."
@@ -2635,9 +3878,15 @@ msgstr ""
msgid "Quick Load"
msgstr "Caricamento rapido"
+msgid "Inspect"
+msgstr "Ispeziona"
+
msgid "Make Unique"
msgstr "Rendi Unico"
+msgid "Make Unique (Recursive)"
+msgstr "Rendi unica (ricorsivo)"
+
msgid "Convert to %s"
msgstr "Converti in %s"
@@ -2650,6 +3899,15 @@ msgstr "Nuovo script"
msgid "Extend Script"
msgstr "Estendi script"
+msgid "New Shader"
+msgstr "Nuovo shader"
+
+msgid "No Remote Debug export presets configured."
+msgstr "Nessuna preimpostazione di debug remoto configurata."
+
+msgid "Remote Debug"
+msgstr "Debug remoto"
+
msgid ""
"No runnable export preset found for this platform.\n"
"Please add a runnable preset in the Export menu or define an existing preset "
@@ -2669,14 +3927,26 @@ msgstr "Inserisci la logica dello script nel metodo _run()."
msgid "There is an edited scene already."
msgstr "Vi è già una scena correntemente modificata."
+msgid ""
+"Couldn't run editor script, did you forget to override the '_run' method?"
+msgstr ""
+"Impossibile eseguire lo script editor, hai dimenticato di sovrascrivere il "
+"metodo `_run`?"
+
+msgid "Edit Built-in Action"
+msgstr "Modifica un'azione integrata"
+
+msgid "Edit Shortcut"
+msgstr "Modifica una scorciatoia"
+
msgid "Common"
msgstr "Comune"
msgid "Editor Settings"
msgstr "Impostazioni Editor"
-msgid "General"
-msgstr "Generale"
+msgid "Filter Settings"
+msgstr "Filtra le impostazioni"
msgid "The editor must be restarted for changes to take effect."
msgstr "Per rendere effettive le modifiche, l'editor deve essere riavviato."
@@ -2687,12 +3957,111 @@ msgstr "Scorciatoie"
msgid "Binding"
msgstr "Associazione"
+msgid ""
+"Hold %s to round to integers.\n"
+"Hold Shift for more precise changes."
+msgstr ""
+"Tenere premuto %s per arrotondare gli interi.\n"
+"Tenere premuto Maiusc per cambiamenti più precisi."
+
+msgid "No notifications."
+msgstr "Nessuna notifica."
+
+msgid "Show notifications."
+msgstr "Mostra le notifiche."
+
+msgid "Silence the notifications."
+msgstr "Silenzia le notifiche."
+
+msgid "Left Stick Left, Joystick 0 Left"
+msgstr "Levetta sinistra verso sinistra, joystick 0 verso sinistra"
+
+msgid "Left Stick Right, Joystick 0 Right"
+msgstr "Levetta sinistra verso detra, joystick 0 verso destra"
+
+msgid "Left Stick Up, Joystick 0 Up"
+msgstr "Levetta sinistra verso su, joystick 0 verso su"
+
+msgid "Left Stick Down, Joystick 0 Down"
+msgstr "Levetta sinistra verso giù joystick 0 verso giù"
+
+msgid "Right Stick Left, Joystick 1 Left"
+msgstr "Levetta destra verso sinistra, joystick 1 verso sinistra"
+
+msgid "Right Stick Right, Joystick 1 Right"
+msgstr "Levetta destra verso destra, joystick 1 verso destra"
+
+msgid "Right Stick Up, Joystick 1 Up"
+msgstr "Levetta destra verso su, Joystick 1 verso su"
+
+msgid "Right Stick Down, Joystick 1 Down"
+msgstr "Levetta destra verso giù, joystick 1 verso giù"
+
+msgid "Joystick 2 Left"
+msgstr "Joystick 2 verso sinistra"
+
+msgid "Left Trigger, Sony L2, Xbox LT, Joystick 2 Right"
+msgstr "Grilletto sinistro, L2 sony, LT Xbox, joystick 2 verso destra"
+
+msgid "Joystick 2 Up"
+msgstr "Joystick 2 verso su"
+
+msgid "Right Trigger, Sony R2, Xbox RT, Joystick 2 Down"
+msgstr "Grilletto destro, R2 Sony, RT Xbox, joystick 2 verso giù"
+
+msgid "Joystick 3 Left"
+msgstr "Joystick 3 verso sinistra"
+
+msgid "Joystick 3 Right"
+msgstr "Joystick 3 verso destra"
+
+msgid "Joystick 3 Up"
+msgstr "Joystick 3 verso su"
+
+msgid "Joystick 3 Down"
+msgstr "Joystick 3 verso giù"
+
+msgid "Joystick 4 Left"
+msgstr "Joystick 4 verso sinistra"
+
+msgid "Joystick 4 Right"
+msgstr "Joystick 4 verso destra"
+
+msgid "Joystick 4 Up"
+msgstr "Joystick 4 verso su"
+
+msgid "Joystick 4 Down"
+msgstr "Joystick 4 verso giù"
+
+msgid "Joypad Axis %d %s (%s)"
+msgstr "Asse %d del joypad %s (%s)"
+
msgid "All Devices"
msgstr "Tutti i Dispositivi"
msgid "Device"
msgstr "Dispositivo"
+msgid "Listening for input..."
+msgstr "Aspettando ingressi..."
+
+msgid "Filter by event..."
+msgstr "Filtra per evento..."
+
+msgid ""
+"Target platform requires 'ETC2/ASTC' texture compression. Enable 'Import "
+"ETC2 ASTC' in Project Settings."
+msgstr ""
+"La piattaforma di destinazione richiede la compressione delle texture \"ETC2/"
+"ASTC\". Attivare \"Import ETC2 ASTC\" nelle impostazioni del progetto."
+
+msgid ""
+"Target platform requires 'S3TC/BPTC' texture compression. Enable 'Import "
+"S3TC BPTC' in Project Settings."
+msgstr ""
+"La piattaforma di destinazione richiede la compressione delle testure \"S3TC/"
+"BPTC\". Attivare \"Import S3TC BPTC\" nelle impostazioni del progetto."
+
msgid "Project export for platform:"
msgstr "Esportazione del progetto per piattaforma:"
@@ -2714,6 +4083,9 @@ msgstr "Nessun modello d'esportazione trovato nel percorso previsto:"
msgid "ZIP Creation"
msgstr "Creazione dello ZIP"
+msgid "Could not open file to read from path \"%s\"."
+msgstr "Impossibile aprire il file da leggere dal percorso \"%s\"."
+
msgid "Packing"
msgstr "Impacchettando"
@@ -2724,13 +4096,19 @@ msgid "Cannot create file \"%s\"."
msgstr "impossibile creare il file \"%s\"."
msgid "Failed to export project files."
-msgstr "Esportazione dei file di progetto fallita."
+msgstr "Esportazione dei file del progetto fallita."
+
+msgid "Can't create encrypted file."
+msgstr "Impossibile creare il file crittografato."
+
+msgid "Can't open encrypted file to write."
+msgstr "Impossibile aprire il file crittografato da scrivere."
msgid "Can't open file to read from path \"%s\"."
msgstr "impossibile aprire file da leggere dalla path \"%s\"."
msgid "Save ZIP"
-msgstr "Salva ZIP"
+msgstr "Salva uno ZIP"
msgid "Custom debug template not found."
msgstr "Modello di sviluppo personalizzato non trovato."
@@ -2739,7 +4117,7 @@ msgid "Custom release template not found."
msgstr "Modello di rilascio personalizzato non trovato."
msgid "Prepare Template"
-msgstr "Prepara Modello"
+msgstr "Prepara un modello"
msgid "The given export path doesn't exist."
msgstr "Il percorso di esportazione specificato non esiste."
@@ -2748,10 +4126,10 @@ msgid "Template file not found: \"%s\"."
msgstr "File modello non trovato: \"%s\"."
msgid "Failed to copy export template."
-msgstr "Copiatura del modello di esportazione fallita."
+msgstr "Copia del modello di esportazione fallita."
msgid "PCK Embedding"
-msgstr "Incorporazione PCK"
+msgstr "Integrando il PCK"
msgid "On 32-bit exports the embedded PCK cannot be bigger than 4 GiB."
msgstr ""
@@ -2759,7 +4137,7 @@ msgstr ""
"bit."
msgid "Open the folder containing these templates."
-msgstr "Apre la cartella che contiene questi modelli."
+msgstr "Apri la cartella che contiene questi modelli."
msgid "Uninstall these templates."
msgstr "Disinstalla questi modelli."
@@ -2855,6 +4233,9 @@ msgstr "Download in corso"
msgid "Connection Error"
msgstr "Errore di Connessione"
+msgid "TLS Handshake Error"
+msgstr "Errore handshake TLS"
+
msgid "Can't open the export templates file."
msgstr "Impossibile aprire il file di esportazione dei modelli."
@@ -2871,7 +4252,7 @@ msgid "Error creating path for extracting templates:"
msgstr "Errore nella creazione del percorso per l'estrazione dei modelli:"
msgid "Extracting Export Templates"
-msgstr "Estrazione Template d'Esportazione"
+msgstr "Estraendo i modelli di esportazione"
msgid "Importing:"
msgstr "Importo:"
@@ -2883,16 +4264,16 @@ msgid "Uncompressing Android Build Sources"
msgstr "Decomprimendo Android Build Sources"
msgid "Export Template Manager"
-msgstr "Gestore Template Esportazione"
+msgstr "Gestore dei modelli di esportazione"
msgid "Current Version:"
msgstr "Versione Corrente:"
msgid "Export templates are missing. Download them or install from a file."
-msgstr "Modelli d'eportazione mancanti. Scaricarli o installarli da un file."
+msgstr "Modelli di esportazione mancanti. Scaricarli o installarli da un file."
msgid "Export templates are installed and ready to be used."
-msgstr "I modelli d'esportazione sono installati e pronti all'uso."
+msgstr "I modelli di esportazione sono installati e pronti all'uso."
msgid "Open Folder"
msgstr "Apri cartella"
@@ -2944,13 +4325,13 @@ msgid "Other Installed Versions:"
msgstr "Altre Versioni Installate:"
msgid "Uninstall Template"
-msgstr "Disinstalla Modello"
+msgstr "Disinstalla il modello"
msgid "Select Template File"
-msgstr "Seleziona File Modello"
+msgstr "Seleziona il file del modello"
msgid "Godot Export Templates"
-msgstr "Modello di Esportazione Godot"
+msgstr "Modelli di esportazione di Godot"
msgid ""
"The templates will continue to download.\n"
@@ -2973,6 +4354,9 @@ msgstr ""
msgid "Delete preset '%s'?"
msgstr "Eliminare preset \"%s\"?"
+msgid "%s Export"
+msgstr "Esportazione %s"
+
msgid "Release"
msgstr "Rilascio"
@@ -3014,12 +4398,27 @@ msgstr "Esporta le scene selezionate (incluse le dipendenze)"
msgid "Export selected resources (and dependencies)"
msgstr "Esporta le risorse selezionate (incluse le dipendenze)"
+msgid "Export all resources in the project except resources checked below"
+msgstr ""
+"Esporta tutte le risorse nel progetto eccetto le risorse selezionate sotto"
+
+msgid "Export as dedicated server"
+msgstr "Esporta come server dedicato"
+
msgid "Export Mode:"
msgstr "Modalità d'Esportazione:"
msgid "Resources to export:"
msgstr "Risorse da esportare:"
+msgid ""
+"\"Strip Visuals\" will replace the following resources with placeholders:"
+msgstr ""
+"\"Rimuovi visuali\" rimpiazzerà le seguenti risorse con dei segnaposto:"
+
+msgid "Strip Visuals"
+msgstr "Rimuovi visuali"
+
msgid "Keep"
msgstr "Mantieni"
@@ -3046,10 +4445,36 @@ msgstr "Personalizzato (separati da virgola):"
msgid "Feature List:"
msgstr "Lista di Funzionalità:"
+msgid "Encryption"
+msgstr "Crittografia"
+
+msgid "Encrypt Exported PCK"
+msgstr "Crittografa il PCK esportato"
+
+msgid "Encrypt Index (File Names and Info)"
+msgstr "Crittografa l'indice (nomi e informazioni dei file)"
+
+msgid ""
+"Filters to include files/folders\n"
+"(comma-separated, e.g: *.tscn, *.tres, scenes/*)"
+msgstr ""
+"Filtri per escludere file/cartelle\n"
+"(separati da virgole, per esempio: *.tscn *.tres, scene/*)"
+
+msgid ""
+"Filters to exclude files/folders\n"
+"(comma-separated, e.g: *.ctex, *.import, music/*)"
+msgstr ""
+"Filtri per escludere file/cartelle\n"
+"(separati da virgole, per esempio: *.ctex, *.import, musica/*)"
+
msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
msgstr ""
"Chiave Crittografica non Valida (deve essere lunga 64 caratteri esadecimali)"
+msgid "Encryption Key (256-bits as hexadecimal):"
+msgstr "Chiave di crittografia (256 bit in esadecimale):"
+
msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
@@ -3060,6 +4485,9 @@ msgstr ""
msgid "More Info..."
msgstr "Maggiori Informazioni..."
+msgid "Export PCK/ZIP..."
+msgstr "Esporta PCK/ZIP..."
+
msgid "Export Project..."
msgstr "Esporta Progetto..."
@@ -3085,14 +4513,43 @@ msgid "Project Export"
msgstr "Esporta Progetto"
msgid "Manage Export Templates"
-msgstr "Gestisci template d'esportazione"
+msgstr "Gestisci i modelli di esportazione"
msgid "Export With Debug"
msgstr "Esporta Con Debug"
+msgid "Path to FBX2glTF executable is empty."
+msgstr "Il percorso per FBX2glTF è vuoto."
+
+msgid "Path to FBX2glTF executable is invalid."
+msgstr "Il percorso per l'eseguibile di FBX2glTF non è valido."
+
+msgid "Error executing this file (wrong version or architecture)."
+msgstr ""
+"Errore durante l'esecuzione del file (versione o architettura sbagliati)."
+
+msgid "FBX2glTF executable is valid."
+msgstr "L'eseguibile di FBX2glTF è valido."
+
+msgid "Configure FBX Importer"
+msgstr "Configura l'importatore FBX"
+
+msgid ""
+"FBX2glTF is required for importing FBX files.\n"
+"Please download it and provide a valid path to the binary:"
+msgstr ""
+"FBX2glTF è richiesto per importare i file FBX.\n"
+"Per favore, scaricarlo e offrire un percorso valido al binario:"
+
+msgid "Click this link to download FBX2glTF"
+msgstr "Cliccare questo collegamento per scaricare FGX2glTF"
+
msgid "Browse"
msgstr "Sfoglia"
+msgid "Confirm Path"
+msgstr "Conferma il percorso"
+
msgid "Favorites"
msgstr "Preferiti"
@@ -3108,7 +4565,7 @@ msgstr ""
"aprirlo per modificarlo."
msgid "Cannot move/rename resources root."
-msgstr "Impossibile spostare/rinominare risorse root."
+msgstr "Impossibile spostare/rinominare le risorse radici."
msgid "Cannot move a folder into itself."
msgstr "Impossibile spostare una cartella all'interno di se stessa."
@@ -3119,6 +4576,12 @@ msgstr "Errore spostamento:"
msgid "Error duplicating:"
msgstr "Errore duplicazione:"
+msgid "Failed to save resource at %s: %s"
+msgstr "Impossibile salvare la risorsa in %s: %s"
+
+msgid "Failed to load resource at %s: %s"
+msgstr "Impossibile caricare la risorsa in %s: %s"
+
msgid "Unable to update dependencies:"
msgstr "Impossibile aggiornare le dipendenze:"
@@ -3173,6 +4636,9 @@ msgstr "Nuova Scena Ereditata"
msgid "Set As Main Scene"
msgstr "Imposta Come Scena Principale"
+msgid "Instantiate"
+msgstr "Istanzia"
+
msgid "Add to Favorites"
msgstr "Aggiungi ai Preferiti"
@@ -3188,6 +4654,21 @@ msgstr "Vedi Proprietari..."
msgid "Move To..."
msgstr "Sposta in..."
+msgid "Folder..."
+msgstr "Cartella..."
+
+msgid "Scene..."
+msgstr "Scena..."
+
+msgid "Script..."
+msgstr "Script..."
+
+msgid "Resource..."
+msgstr "Risorsa..."
+
+msgid "TextFile..."
+msgstr "TextFile..."
+
msgid "New Scene..."
msgstr "Nuova Scena…"
@@ -3197,6 +4678,12 @@ msgstr "Nuovo Script..."
msgid "New Resource..."
msgstr "Nuova Risorsa..."
+msgid "New TextFile..."
+msgstr "Nuovo TextFile..."
+
+msgid "Sort Files"
+msgstr "Ordina i file"
+
msgid "Sort by Name (Ascending)"
msgstr "Ordina per nome (Crescente)"
@@ -3215,18 +4702,33 @@ msgstr "Ordina per Ultima Modifica"
msgid "Sort by First Modified"
msgstr "Ordina per primo modificato"
+msgid "Copy UID"
+msgstr "Copia UID"
+
msgid "Duplicate..."
msgstr "Duplica..."
msgid "Rename..."
msgstr "Rinomina..."
+msgid "Open in External Program"
+msgstr "Apri in un programma esterno"
+
+msgid "Go to previous selected folder/file."
+msgstr "Vai al file (o cartella) precedentemente selezionato."
+
+msgid "Go to next selected folder/file."
+msgstr "Vai al prossimo file (o cartella) selezionato."
+
msgid "Re-Scan Filesystem"
msgstr "Ri-scansiona il Filesystem"
msgid "Toggle Split Mode"
msgstr "Commuta la modalità divisa"
+msgid "Filter Files"
+msgstr "Filtra i file"
+
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -3274,9 +4776,21 @@ msgstr "Sostituisci..."
msgid "Replace in Files"
msgstr "Sostituisci nei file"
+msgid "Replace all (no undo)"
+msgstr "Sostituisci tutto (irreversibile)"
+
msgid "Searching..."
msgstr "Ricerca..."
+msgid "%d match in %d file"
+msgstr "%d corrispondenza in %d file"
+
+msgid "%d matches in %d file"
+msgstr "%d corrispondenze in %d file"
+
+msgid "%d matches in %d files"
+msgstr "%d corrispondenze in %d file"
+
msgid "Add to Group"
msgstr "Aggiungi a Gruppo"
@@ -3313,12 +4827,182 @@ msgstr "Editor Gruppo"
msgid "Manage Groups"
msgstr "Gestisci Gruppi"
+msgid "The Beginning"
+msgstr "L'inizio"
+
+msgid "Global"
+msgstr "Globale"
+
+msgid "Audio Stream Importer: %s"
+msgstr "Importatore flussi audio: %s"
+
msgid "Reimport"
msgstr "Reimporta"
+msgid "Enable looping."
+msgstr "Abilita ripetizione."
+
msgid "Offset:"
msgstr "Scostamento:"
+msgid ""
+"Loop offset (from beginning). Note that if BPM is set, this setting will be "
+"ignored."
+msgstr ""
+"Scostamento ciclico (dall'inizio). Notare che se i BMP sono impostati, "
+"questa opzione verrà ignorata."
+
+msgid "Loop:"
+msgstr "Ripetizione:"
+
+msgid "BPM:"
+msgstr "BPM:"
+
+msgid ""
+"Configure the Beats Per Measure (tempo) used for the interactive streams.\n"
+"This is required in order to configure beat information."
+msgstr ""
+"Configura i Battiti Per Misura (tempo) utilizzato per flussi interattivi.\n"
+"Questo è richiesto per configurare le informazioni dei battiti."
+
+msgid "Beat Count:"
+msgstr "Numero di battiti:"
+
+msgid ""
+"Configure the amount of Beats used for music-aware looping. If zero, it will "
+"be autodetected from the length.\n"
+"It is recommended to set this value (either manually or by clicking on a "
+"beat number in the preview) to ensure looping works properly."
+msgstr ""
+"Configura la quantità di battiti usati per la ripetizione musicale. Se "
+"impostata a zero, verrà autorilevata dalla lunghezza.\n"
+"È consigliato impostare questo valore (manualmente o cliccando su un numero "
+"di battiti dall'anteprima) per assicurarsi che la ripetizione funzioni "
+"correttamente."
+
+msgid "Music Playback:"
+msgstr "Riproduzione musicale:"
+
+msgid "New Configuration"
+msgstr "Nuova configurazione"
+
+msgid "Remove Variation"
+msgstr "Rimuovi la variazione"
+
+msgid "Preloaded glyphs: %d"
+msgstr "Glifi precaricati: %d"
+
+msgid ""
+"Warning: There are no configurations specified, no glyphs will be pre-"
+"rendered."
+msgstr ""
+"Attenzione: Non ci sono configurazioni specificate, non verrà pre-"
+"renderizzato alcun glifo."
+
+msgid ""
+"Warning: Multiple configurations have identical settings. Duplicates will be "
+"ignored."
+msgstr ""
+"Attenzione: Più configurazioni hanno le stesse impostazioni. I duplicati "
+"verranno ignorati."
+
+msgid ""
+"Note: LCD Subpixel antialiasing is selected, each of the glyphs will be pre-"
+"rendered for all supported subpixel layouts (5x)."
+msgstr ""
+"Nota: L'antitaliasing subpixel LCD è selezionato, ognuno dei glifi verrà pre-"
+"renderizzato per tutte le disposizioni subpixel supportate (5x)."
+
+msgid ""
+"Note: Subpixel positioning is selected, each of the glyphs might be pre-"
+"rendered for multiple subpixel offsets (up to 4x)."
+msgstr ""
+"Nota: Il posizionamento subpixel è selezionato, ognuno dei glifi potrebbe "
+"essere pre-renderizzato per più scostamenti subpixel (fino a 4x)."
+
+msgid "Advanced Import Settings for '%s'"
+msgstr "Impostazioni d'importazione avanzate per \"%s\""
+
+msgid "Rendering Options"
+msgstr "Opzioni di rendering"
+
+msgid "Select font rendering options, fallback font, and metadata override:"
+msgstr ""
+"Selezionare le opzioni di rendering dei font, il font di ripiego, e la "
+"sovrascrittura dei metadati:"
+
+msgid "Pre-render Configurations"
+msgstr "Configurazioni pre-render"
+
+msgid ""
+"Add font size, and variation coordinates, and select glyphs to pre-render:"
+msgstr ""
+"Aggiungere una dimensione del font, delle coordinate di variazione e "
+"selezionare i glifi da pre-renderizzare:"
+
+msgid "Configuration:"
+msgstr "Configurazione:"
+
+msgid "Add configuration"
+msgstr "Aggiungi una configurazione"
+
+msgid "Clear Glyph List"
+msgstr "Pulisci la lista dei glifi"
+
+msgid "Glyphs from the Translations"
+msgstr "Glifi dalle traduzioni"
+
+msgid "Select translations to add all required glyphs to pre-render list:"
+msgstr ""
+"Selezionare le traduzioni da cui aggiungere tutti i glifi richiesti alla "
+"lista di pre-renderizzazione:"
+
+msgid "Shape all Strings in the Translations and Add Glyphs"
+msgstr "Forma tutte le stringhe nelle traduzioni e aggiungi i glifi"
+
+msgid "Glyphs from the Text"
+msgstr "Glifi dal testo"
+
+msgid ""
+"Enter a text and select OpenType features to shape and add all required "
+"glyphs to pre-render list:"
+msgstr ""
+"Inserire un testo e selezionare le funzionalità OpenType per formare e "
+"aggiungere tutti i glifi richiesti alla lista di pre-renderizzazione:"
+
+msgid "Shape Text and Add Glyphs"
+msgstr "Forma il testo e aggiungi i glifi"
+
+msgid "Glyphs from the Character Map"
+msgstr "Glifi dalla mappa dei caratteri"
+
+msgid ""
+"Add or remove glyphs from the character map to pre-render list:\n"
+"Note: Some stylistic alternatives and glyph variants do not have one-to-one "
+"correspondence to character, and not shown in this map, use \"Glyphs from "
+"the text\" tab to add these."
+msgstr ""
+"Aggiungere o rimuovere dei glifi dalla mappa dei caratteri nella lista di "
+"pre-renderizzazione:\n"
+"Nota: alcune alternative stilistiche e varianti dei glifi non hanno una "
+"corrispondenza uno-a-uno con un carattere e non vengono mostrati nella "
+"mappa, utilizzare la scheda \"Glifi dal testo\" per aggiungerle."
+
+msgid "Dynamically rendered TrueType/OpenType font"
+msgstr "Font TrueType/OpenType renderizzato dinamicamente"
+
+msgid "Can't load font texture:"
+msgstr "Impossibile caricare texture del font:"
+
+msgid "Image margin too big."
+msgstr "Margine dell'immagine troppo grande."
+
+msgid "Character margin too bit."
+msgstr "Margine dei caratteri troppo grande."
+
+msgid "Pre-Import Scene"
+msgstr "Pre-importazione della scena"
+
msgid "Importing Scene..."
msgstr "Importando Scena..."
@@ -3337,10 +5021,21 @@ msgstr "Script di post-import invalido/non funzionante (controllare console):"
msgid "Error running post-import script:"
msgstr "Errore di esecuzione dello script di post-import:"
+msgid "Did you return a Node-derived object in the `_post_import()` method?"
+msgstr ""
+"Hai restituito un oggetto derivato da un Nodo nel metodo `post_import()`?"
+
msgid "Saving..."
msgstr "Salvataggio..."
msgid ""
+"Error importing GLSL shader file: '%s'. Open the file in the filesystem dock "
+"in order to see the reason."
+msgstr ""
+"Errore durante l'importazione del file shader GLSL : \"%s\". Aprire il file "
+"nel pannello filsystem per vedere il motivo."
+
+msgid ""
"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
"texture compression to reduce memory usage (blue channel is discarded)."
msgstr ""
@@ -3348,18 +5043,161 @@ msgstr ""
"compressione rosso-verde della texture per ridurre l'uso di memoria (il "
"canale blu è ignorato)."
+msgid ""
+"%s: Texture detected as used as a roughness map in 3D. Enabling roughness "
+"limiter based on the detected associated normal map at %s."
+msgstr ""
+"%s: Rilevato uso della texture come mappa di ruvidità in 3D. Attivando la "
+"limtazione della ruvidità basata sulla mappa dei normali in %s."
+
+msgid ""
+"%s: Texture detected as used in 3D. Enabling mipmap generation and setting "
+"the texture compression mode to %s."
+msgstr ""
+"%s: Rilevato uso della texture in 3D. Attivando la generazione delle mipmap "
+"e impostando la modalità di compressione della texture su %s."
+
+msgid "2D/3D (Auto-Detect)"
+msgstr "2D/3D (autorileva)"
+
msgid "2D"
msgstr "2D"
msgid "3D"
msgstr "3D"
+msgid "<Unnamed Material>"
+msgstr "<Materiale senza nome>"
+
+msgid "Import ID: %s"
+msgstr "ID d'importazione: %s"
+
+msgid ""
+"Type: %s\n"
+"Import ID: %s"
+msgstr ""
+"Tipo: %s\n"
+"ID d'importazione: %s"
+
+msgid "Error opening scene"
+msgstr "Errore durante l'apertura della scena"
+
+msgid "Advanced Import Settings for AnimationLibrary '%s'"
+msgstr "Impostazioni avanzate d'importazione per l'AnimationLibrary \"%s\""
+
+msgid "Advanced Import Settings for Scene '%s'"
+msgstr "Impostazioni d'importatzione avanzate per lo Scene \"%s\""
+
+msgid "Select folder to extract material resources"
+msgstr "Seleziona la cartella in cui estrarre le risorse materiali"
+
+msgid "Select folder where mesh resources will save on import"
+msgstr ""
+"Selezionare la cartella in cui le risorse mesh verranno salvate durante "
+"l'importazione"
+
+msgid "Select folder where animations will save on import"
+msgstr ""
+"Selezionare la cartella in cui le animazioni verranno salvate durante "
+"l'importazione"
+
+msgid "Existing file with the same name will be replaced."
+msgstr "Il file esistente con lo stesso nome verrà rimpiazzato."
+
+msgid ""
+"This material already references an external file, no action will be taken.\n"
+"Disable the external property for it to be extracted again."
+msgstr ""
+"Questo materiale si riferisce già a un file esterno, non verrà fatto nulla.\n"
+"Disabilitare la proprietà esterna per estrarlo di nuovo."
+
+msgid ""
+"Material has no name nor any other way to identify on re-import.\n"
+"Please name it or ensure it is exported with an unique ID."
+msgstr ""
+"Il materiale non ha un nome né alcun altro modo per identificarlo durante la "
+"reimportazione.\n"
+"Per favore, dargli un nome o assicurarsi che venga esportato con un ID unico."
+
+msgid "Extract Materials to Resource Files"
+msgstr "Estrai i materiali in dei file risorsa"
+
+msgid "Extract"
+msgstr "Estrai"
+
+msgid ""
+"This mesh already saves to an external resource, no action will be taken."
+msgstr "Questa mesh viene già salvata in una risorsa, non verrà fatto nulla."
+
+msgid "Existing file with the same name will be replaced on import."
+msgstr ""
+"Il file esistente con lo stesso nome verrà rimpiazzato durante "
+"l'importazione."
+
+msgid ""
+"Mesh has no name nor any other way to identify on re-import.\n"
+"Please name it or ensure it is exported with an unique ID."
+msgstr ""
+"La mesh non ha un nome né alcun altro modo per essere identificata durante "
+"la reimportazione.\n"
+"Per favore, darle un nome o assicurarsi che venga esportata con un ID unico."
+
+msgid "Set paths to save meshes as resource files on Reimport"
+msgstr ""
+"Impostare i percorsi per salvare le mesh come file risorsa durante la "
+"reimportazione"
+
+msgid "Set Paths"
+msgstr "Imposta i percorsi"
+
+msgid ""
+"This animation already saves to an external resource, no action will be "
+"taken."
+msgstr ""
+"Quest'animazione viene già salvata in una risorsa esterna, non verrà fatto "
+"nulla."
+
+msgid "Set paths to save animations as resource files on Reimport"
+msgstr ""
+"Imposta i percorsi in cui salvare le animazioni come file risorsa durante la "
+"reimportazione"
+
+msgid "Can't make material external to file, write error:"
+msgstr "Impossibile rendere il materiale esterno al file, errore di scrittura:"
+
+msgid "Actions..."
+msgstr "Azioni..."
+
+msgid "Extract Materials"
+msgstr "Estrai i materiali"
+
+msgid "Set Animation Save Paths"
+msgstr "Imposta i percorsi di salvataggio delle animazioni"
+
+msgid "Set Mesh Save Paths"
+msgstr "Imposta i percorsi di salvataggio delle mesh"
+
msgid "Meshes"
msgstr "Mesh"
msgid "Materials"
msgstr "Materiali"
+msgid "Save Extension:"
+msgstr "Estensione di salvataggio:"
+
+msgid "Text: *.tres"
+msgstr "Testo: *.tres"
+
+msgid "Binary: *.res"
+msgstr "Binario: *.res"
+
+msgid "Text Resource"
+msgstr "Risorsa testuale"
+
+msgid "Binary Resource"
+msgstr "Risorsa binaria"
+
msgid "Select Importer"
msgstr "Seleziona Importatore"
@@ -3367,7 +5205,7 @@ msgid "Importer:"
msgstr "Importatore:"
msgid "Keep File (No Import)"
-msgstr "Mantieni il File (Non Importare)"
+msgstr "Mantieni il file (non importare)"
msgid "%d Files"
msgstr "%d File"
@@ -3391,11 +5229,14 @@ msgstr ""
"Importazione."
msgid "Import As:"
-msgstr "Importa Come:"
+msgstr "Importa come:"
msgid "Preset"
msgstr "Preimpostazione"
+msgid "Advanced..."
+msgstr "Avanzato..."
+
msgid "Save Scenes, Re-Import, and Restart"
msgstr "Salva scene, re-importa e riavvia"
@@ -3415,12 +5256,70 @@ msgstr ""
"Seleziona un file risorsa nel filesystem o nell'ispettore per aggiustare le "
"impostazioni di importazione."
+msgid "No Event Configured"
+msgstr "Nessun evento configurato"
+
+msgid "Keyboard Keys"
+msgstr "Tasti della tastiera"
+
+msgid "Mouse Buttons"
+msgstr "Pulsanti del mouse"
+
+msgid "Joypad Buttons"
+msgstr "Pulsanti del joypad"
+
+msgid "Joypad Axes"
+msgstr "Assi del joypad"
+
+msgid "Event Configuration"
+msgstr "Configurazione dell'evento"
+
+msgid "Manual Selection"
+msgstr "Selezione manuale"
+
+msgid "Filter Inputs"
+msgstr "Filtra gli ingressi"
+
+msgid "Additional Options"
+msgstr "Opzioni aggiuntive"
+
msgid "Device:"
msgstr "Dispositivo:"
+msgid "Command / Control (auto)"
+msgstr "Command / Control (auto)"
+
+msgid ""
+"Automatically remaps between 'Meta' ('Command') and 'Control' depending on "
+"current platform."
+msgstr ""
+"Rimappa automatica tra \"Meta\" (\"Command\") e \"Control\" a seconda della "
+"piattaforma corrente."
+
+msgid "Keycode (Latin Equivalent)"
+msgstr "Codice del tasto (equivalente latino)"
+
+msgid "Physical Keycode (Position on US QWERTY Keyboard)"
+msgstr "Codice del tasto fisico (posizione in una tastiera QWERTY US)"
+
+msgid "Key Label (Unicode, Case-Insensitive)"
+msgstr "Etichetta del tastto (Unicode, senza distinzione di maiuscola)"
+
+msgid ""
+"The following resources will be duplicated and embedded within this resource/"
+"object."
+msgstr ""
+"Le seguenti risorse verranno duplicate e integrate in questa risorsa/oggetto."
+
+msgid "This object has no resources."
+msgstr "Questo oggetto non ha risorse."
+
msgid "Failed to load resource."
msgstr "Caricamento della risorsa fallito."
+msgid "(Current)"
+msgstr "(Attuale)"
+
msgid "Property Name Style"
msgstr "Stile Nome Proprietà"
@@ -3469,15 +5368,27 @@ msgstr "Copia Risorsa"
msgid "Make Resource Built-In"
msgstr "Rendi Risorsa Integrata"
+msgid "Go to previous edited object in history."
+msgstr "Vai al precedente oggetto modificato nella cronologia."
+
+msgid "Go to next edited object in history."
+msgstr "Vai al prossimo oggetto modificato nella cronologia."
+
msgid "History of recently edited objects."
msgstr "Cronologia di oggetti recentemente modificati."
msgid "Open documentation for this object."
msgstr "Apri la documentazione per questo oggetto."
+msgid "Filter Properties"
+msgstr "Filtra le proprietà"
+
msgid "Manage object properties."
msgstr "Gestisci proprietà oggetto."
+msgid "This cannot be undone. Are you sure?"
+msgstr "Questo non può essere annullato. Continuare?"
+
msgid "Add %d Translations"
msgstr "Aggiungi %d Traduzioni"
@@ -3499,6 +5410,18 @@ msgstr "Rimuovi Remap Risorse"
msgid "Remove Resource Remap Option"
msgstr "Rimuovi Opzione di Remap Rimorse"
+msgid "Add %d file(s) for POT generation"
+msgstr "Aggiungi %d file per la generazione del POT"
+
+msgid "Remove file from POT generation"
+msgstr "Rimuovi un file dalla generazione POT"
+
+msgid "Removed"
+msgstr "Rimosso"
+
+msgid "%s cannot be found."
+msgstr "Impossibile trovare %s."
+
msgid "Translations"
msgstr "Traduzioni"
@@ -3517,9 +5440,38 @@ msgstr "Rimappature per Locale:"
msgid "Locale"
msgstr "Locale"
+msgid "POT Generation"
+msgstr "Generazione del POT"
+
+msgid "Files with translation strings:"
+msgstr "Flie con stringhe di traduzione:"
+
+msgid "Generate POT"
+msgstr "Genera il POT"
+
+msgid "Set %s on %d nodes"
+msgstr "Imposta %s su %s nodi"
+
+msgid "%s (%d Selected)"
+msgstr "%s (%d selezionati)"
+
msgid "Select a single node to edit its signals and groups."
msgstr "Seleziona un singolo nodo per modificarne i segnali e gruppi."
+msgid "Plugin name cannot be blank."
+msgstr "Il nome dell'estensione non può essere vuoto."
+
+msgid "Script extension must match chosen language extension (.%s)."
+msgstr ""
+"L'estensione dello script deve coincidere con l'estensione della lingua "
+"scelta (.%s)."
+
+msgid "Subfolder name is not a valid folder name."
+msgstr "Il nome della sottocartella non è un nome di cartella valido."
+
+msgid "Subfolder cannot be one which already exists."
+msgstr "La sottocartella non può essere una che esiste già."
+
msgid "Edit a Plugin"
msgstr "Modifica un'estensione"
@@ -3589,9 +5541,17 @@ msgstr "Carica..."
msgid "Move Node Point"
msgstr "Sposta Punto Nodo"
+msgid "Change BlendSpace1D Config"
+msgstr "Cambia la configurazione di un BlendSpace1D"
+
msgid "Change BlendSpace1D Labels"
msgstr "Cambia Etichette BlendSpace1D"
+msgid "This type of node can't be used. Only animation nodes are allowed."
+msgstr ""
+"Questo tipo di nodo non può essere utilizzato. Sono permessi solo i nodi di "
+"animazione."
+
msgid "This type of node can't be used. Only root nodes are allowed."
msgstr ""
"Questo tipo di nodo non può essere utilizzato. Sono permessi solo i nodi "
@@ -3627,6 +5587,9 @@ msgstr ""
msgid "Enable snap and show grid."
msgstr "Abilita lo scatto e mostra la griglia."
+msgid "Sync:"
+msgstr "Sincronizza:"
+
msgid "Blend:"
msgstr "Blend:"
@@ -3645,6 +5608,9 @@ msgstr "Il triangolo esiste già."
msgid "Add Triangle"
msgstr "Aggiungi Triangolo"
+msgid "Change BlendSpace2D Config"
+msgstr "Cambia la configurazione di un BlendSpace2D"
+
msgid "Change BlendSpace2D Labels"
msgstr "Cambia Etichette BlendSpace2D"
@@ -3675,6 +5641,9 @@ msgstr "Genera i triangoli di fusione automaticamente (anziché manualmente)"
msgid "Parameter Changed:"
msgstr "Parametro modificato:"
+msgid "Inspect Filters"
+msgstr "Ispeziona i filtri"
+
msgid "Output node can't be added to the blend tree."
msgstr "Il nodo in output non può essere aggiunto al BlendTree."
@@ -3736,6 +5705,9 @@ msgstr "Segmenti audio"
msgid "Functions"
msgstr "Funzioni"
+msgid "Inspect Filtered Tracks:"
+msgstr "Ispeziona le tracce filtrate:"
+
msgid "Edit Filtered Tracks:"
msgstr "Modifica Tracce Filtrate:"
@@ -3748,18 +5720,179 @@ msgstr "Aggiungi Nodo..."
msgid "Enable Filtering"
msgstr "Abilita filtraggio"
+msgid "Library Name:"
+msgstr "Nome della libreria:"
+
+msgid "Animation name can't be empty."
+msgstr "Il nome di un'animazione non può essere vuoto."
+
+msgid "Animation name contains invalid characters: '/', ':', ',' or '['."
+msgstr ""
+"Il nome dell'animazione contiene caratteri non validi: \"/\", \":\", '\"\" "
+"or \"[\"."
+
+msgid "Animation with the same name already exists."
+msgstr "Un'animazione con lo stesso nome esiste già."
+
+msgid "Enter a library name."
+msgstr "Inserire il nome di una libreria."
+
+msgid "Library name contains invalid characters: '/', ':', ',' or '['."
+msgstr ""
+"Il nome della libreria contiene caratteri non validi: \"/\", \":\", '\"\" or "
+"\"[\"."
+
+msgid "Library with the same name already exists."
+msgstr "Esiste già una libreria con lo stesso nome."
+
+msgid "Animation name is valid."
+msgstr "Il nome dell'animazione è valido."
+
+msgid "Global library will be created."
+msgstr "Verrà creata una libreria globale."
+
+msgid "Library name is valid."
+msgstr "Il nome della libreria è valido."
+
+msgid "Add Animation to Library: %s"
+msgstr "Aggiungi un'animazione alla libreria: %s"
+
+msgid "Add Animation Library: %s"
+msgstr "Aggiungi una libreria di animazioni: %s"
+
msgid "Load Animation"
msgstr "Carica Animazione"
+msgid ""
+"This animation library can't be saved because it does not belong to the "
+"edited scene. Make it unique first."
+msgstr ""
+"Questa libreria di animazioni non può essere salvata perché non appartiene "
+"alla scena modificata. Renderla prima unica."
+
+msgid ""
+"This animation library can't be saved because it was imported from another "
+"file. Make it unique first."
+msgstr ""
+"Questa libreria di animazioni non può essere salvata perché è stata "
+"importata da un altro file. Renderla prima unica."
+
+msgid "Save Library"
+msgstr "Salva la libreria"
+
+msgid "Make Animation Library Unique: %s"
+msgstr "Rendi unica una libreria di animazioni: %s"
+
+msgid ""
+"This animation can't be saved because it does not belong to the edited "
+"scene. Make it unique first."
+msgstr ""
+"Quest'animazione non può essere salvata perché non appartiene alla scena "
+"modificata. Renderla prima unica."
+
+msgid ""
+"This animation can't be saved because it was imported from another file. "
+"Make it unique first."
+msgstr ""
+"Quest'animazione non può essere salvata perché è stata importata da un altro "
+"file. Renderla prima unica."
+
+msgid "Save Animation"
+msgstr "Salva l'animazione"
+
+msgid "Make Animation Unique: %s"
+msgstr "Rendi unica un'animazione: %s"
+
+msgid "Invalid AnimationLibrary file."
+msgstr "File AnimationLibrary non valido."
+
+msgid "This library is already added to the player."
+msgstr "Questa libreria è stata già aggiunta al riproduttore."
+
+msgid "Invalid Animation file."
+msgstr "File Animation non valido."
+
+msgid "This animation is already added to the library."
+msgstr "Quest'animazione è stata già aggiunta alla libreria."
+
+msgid "Load Animation into Library: %s"
+msgstr "Importa un'animazione nella libreria: %s"
+
+msgid "Save Animation library to File: %s"
+msgstr "Salva una libreria di animazioni in un file: %s"
+
+msgid "Save Animation to File: %s"
+msgstr "Salva un animazione in un archivio: %s"
+
+msgid "Rename Animation Library: %s"
+msgstr "Rinomina una libreria di animazioni: %s"
+
+msgid "[Global]"
+msgstr "[Globale]"
+
+msgid "Rename Animation: %s"
+msgstr "Rinomina un'animazione: %s"
+
msgid "Animation Name:"
msgstr "Nome Animazione:"
+msgid "No animation resource in clipboard!"
+msgstr "Nessuna risorsa di animazione negli appunti!"
+
msgid "Pasted Animation"
msgstr "Animazione Incollata"
msgid "Open in Inspector"
msgstr "Apri nell'Inspector"
+msgid "Remove Animation Library: %s"
+msgstr "Rimuovi una libreria di animazioni: %s"
+
+msgid "Remove Animation from Library: %s"
+msgstr "Rimuovi un'animazione dalla libreria: %s"
+
+msgid "[built-in]"
+msgstr "[integrato]"
+
+msgid "[foreign]"
+msgstr "[esterno]"
+
+msgid "[imported]"
+msgstr "[importata]"
+
+msgid "Add Animation to Library"
+msgstr "Aggiungi un'animazione alla libreria"
+
+msgid "Load animation from file and add to library"
+msgstr "Carica l'animazione da un file e aggiungilo alla libreria"
+
+msgid "Paste Animation to Library from clipboard"
+msgstr "Incolla un'animazione nella libreria dagli appunti"
+
+msgid "Save animation library to resource on disk"
+msgstr "Salva la libreria di animazioni in una risorsa sul disco"
+
+msgid "Remove animation library"
+msgstr "Rimuovi la libreria di animazioni"
+
+msgid "Copy animation to clipboard"
+msgstr "Copia l'animazione negli appunti"
+
+msgid "Save animation to resource on disk"
+msgstr "Salva l'animazione in una risorsa sul disco"
+
+msgid "Remove animation from Library"
+msgstr "Rimuovi l'animazione dalla libreria"
+
+msgid "Edit Animation Libraries"
+msgstr "Modifica le librerie di animazioni"
+
+msgid "Add Library"
+msgstr "Aggiungi una libreria"
+
+msgid "Load Library"
+msgstr "Carica una libreria"
+
msgid "Storage"
msgstr "Memorizzazione"
@@ -3778,12 +5911,18 @@ msgstr "Rinomina Animazione"
msgid "Change Animation Name:"
msgstr "Cambia Nome Animazione:"
+msgid "Delete Animation '%s'?"
+msgstr "Cancellare l'animazione \"%s\"?"
+
msgid "Remove Animation"
msgstr "Rimuovi Animazione"
msgid "Invalid animation name!"
msgstr "Nome animazione non valido!"
+msgid "Animation '%s' already exists!"
+msgstr "L'animazione \"%s\" esiste già!"
+
msgid "Duplicate Animation"
msgstr "Duplica Animazione"
@@ -3793,6 +5932,12 @@ msgstr "Fondi il Successivo Cambiato"
msgid "Change Blend Time"
msgstr "Cambia tempo di Blend"
+msgid "[Global] (create)"
+msgstr "[Globale] (crea)"
+
+msgid "Duplicated Animation Name:"
+msgstr "Nome dell'animazione duplicata:"
+
msgid "Play selected animation backwards from current pos. (A)"
msgstr ""
"Esegui la seguente animazione al contrario dalla posizione corrente. (A)"
@@ -3800,6 +5945,9 @@ msgstr ""
msgid "Play selected animation backwards from end. (Shift+A)"
msgstr "Esegui la seguente animazione al contrario dalla fine. (Shift+A)"
+msgid "Pause/stop animation playback. (S)"
+msgstr "Pausa/ferma la riproduzione dell'animazione. (S)"
+
msgid "Play selected animation from start. (Shift+D)"
msgstr "Esegui la seguente l'animazione dall'inizio. (Shift+D)"
@@ -3818,6 +5966,9 @@ msgstr "Strumenti di Animazione"
msgid "Animation"
msgstr "Animazione"
+msgid "Manage Animations..."
+msgstr "Gestisci le animazioni..."
+
msgid "Edit Transitions..."
msgstr "Modifica Transizioni..."
@@ -3863,6 +6014,11 @@ msgstr "Forza Modulazione Bianca"
msgid "Include Gizmos (3D)"
msgstr "Includi Gizmo (3D)"
+msgid "Onion Skinning temporarily disabled due to rendering bug."
+msgstr ""
+"Buccia di cipolla temporaneamente disabilitata a causa di un bug di "
+"rendering."
+
msgid "Pin AnimationPlayer"
msgstr "Fissa AnimationPlayer"
@@ -3884,6 +6040,9 @@ msgstr "Sposta Nodo"
msgid "Transition exists!"
msgstr "La transizione esiste!"
+msgid "Add Node and Transition"
+msgstr "Aggiungi un nodo e una transizione"
+
msgid "Add Transition"
msgstr "Aggiungi Transizione"
@@ -3911,6 +6070,17 @@ msgstr "Nodo Rimosso"
msgid "Transition Removed"
msgstr "Transizione Rimossa"
+msgid ""
+"Select and move nodes.\n"
+"RMB: Add node at position clicked.\n"
+"Shift+LMB+Drag: Connects the selected node with another node or creates a "
+"new node if you select an area without nodes."
+msgstr ""
+"Seleziona e muove i nodi.\n"
+"RMB: Aggiungi un nodo alla posizione clicata.\n"
+"Maiusc+LMB+Trascina: Connette il nodo selezionato con un altro nodo o crea "
+"un nuovo nodo se viene selezionata un'area senza nodi."
+
msgid "Create new nodes."
msgstr "Crea nuovi nodi."
@@ -3920,18 +6090,30 @@ msgstr "Connetti nodi."
msgid "Group Selected Node(s)"
msgstr "Raggruppa Nodo/i Selezionato(/i"
+msgid "Ungroup Selected Node"
+msgstr "Separa il nodo selezionato"
+
msgid "Remove selected node or transition."
msgstr "Rimuovi il nodo o la transizione selezionati."
msgid "Transition:"
msgstr "Transizione:"
+msgid "New Transitions Should Auto Advance"
+msgstr "Le nuove transizioni auto-proseguiranno"
+
msgid "Play Mode:"
msgstr "Modalità Riproduzione:"
msgid "Delete Selected"
msgstr "Elimina selezionati"
+msgid "Delete All"
+msgstr "Cancella tutto"
+
+msgid "Root"
+msgstr "Radice"
+
msgid "AnimationTree"
msgstr "AnimationTree"
@@ -4004,6 +6186,9 @@ msgstr "Controllo hash SHA-256 fallito"
msgid "Asset Download Error:"
msgstr "Errore di download del contenuto:"
+msgid "Ready to install!"
+msgstr "Pronto a installare!"
+
msgid "Downloading (%s / %s)..."
msgstr "Download in corso (%s / %s)..."
@@ -4074,6 +6259,24 @@ msgstr "Ultimo"
msgid "All"
msgstr "Tutto"
+msgid "No results for \"%s\" for support level(s): %s."
+msgstr "Nessun risultato per \"%s\" per i livelli di support: %s."
+
+msgid ""
+"No results compatible with %s %s for support level(s): %s.\n"
+"Check the enabled support levels using the 'Support' button in the top-right "
+"corner."
+msgstr ""
+"Nessun risultato compatibile con %s %s per i livelli di supporto: %s.\n"
+"Controllare i livelli di supporto abilitati utilizzando il pulsante "
+"\"Supporto\" in alto a destra."
+
+msgid "Search Templates, Projects, and Demos"
+msgstr "Cerca tra modelli, progetti e demo"
+
+msgid "Search Assets (Excluding Templates, Projects, and Demos)"
+msgstr "Cerca tra i contenuti (escludendo modelli, progetti e demo)"
+
msgid "Import..."
msgstr "Importa…"
@@ -4128,6 +6331,9 @@ msgstr "Passo di rotazione:"
msgid "Scale Step:"
msgstr "Passo della scala:"
+msgid "Move Node(s) to Position"
+msgstr "Muovi dei nodi in una posizione"
+
msgid "Move Vertical Guide"
msgstr "Muovi Guida Verticale"
@@ -4188,6 +6394,27 @@ msgstr "Raggruppato"
msgid "Add Node Here"
msgstr "Aggiungi Nodo Qui"
+msgid "Instantiate Scene Here"
+msgstr "Istanzia la scena qui"
+
+msgid "Paste Node(s) Here"
+msgstr "Incolla i nodi qui"
+
+msgid "Move Node(s) Here"
+msgstr "Muovi i nodi qui"
+
+msgid "px"
+msgstr "px"
+
+msgid "units"
+msgstr "unità"
+
+msgid "Moving:"
+msgstr "Muovendo:"
+
+msgid "Rotating:"
+msgstr "Ruotando:"
+
msgid "Scaling:"
msgstr "Scala:"
@@ -4226,6 +6453,9 @@ msgstr "Incolla Posa"
msgid "Clear Guides"
msgstr "Rimuovi Guide"
+msgid "Create Custom Bone2D(s) from Node(s)"
+msgstr "Crea dei Bone2D personalizzati a partire da dei Node"
+
msgid "Zoom to 3.125%"
msgstr "Zoom a 3.125%"
@@ -4291,6 +6521,9 @@ msgstr "Modalità scala"
msgid "Shift: Scale proportionally."
msgstr "Maiusc: Ridimensiona proporzionalmente."
+msgid "Show list of selectable nodes at position clicked."
+msgstr "Mostra una lista di nodi selezionabili nella posizione cliccata."
+
msgid "Click to change object's rotation pivot."
msgstr "Clicca per cambiare il perno di rotazione dell'oggetto."
@@ -4331,7 +6564,7 @@ msgid "Smart Snapping"
msgstr "Scatto intelligente"
msgid "Configure Snap..."
-msgstr "Configura Agganciamenti..."
+msgstr "Configura l'agganciamento..."
msgid "Snap to Parent"
msgstr "Aggancia sul Genitore"
@@ -4351,12 +6584,24 @@ msgstr "Aggancia agli Altri Nodi"
msgid "Snap to Guides"
msgstr "Aggancia alle Guide"
+msgid "Lock selected node, preventing selection and movement."
+msgstr "Blocca il nodo selezionato, impedendo la selezione e il movimento."
+
msgid "Lock Selected Node(s)"
msgstr "Blocca Nodo/i selezionato/i"
+msgid "Unlock selected node, allowing selection and movement."
+msgstr "Sblocca il nodo selezionato, permettendo la selezione e il movimento."
+
msgid "Unlock Selected Node(s)"
msgstr "Sblocca Nodo/i Selezionato/i"
+msgid "Make selected node's children not selectable."
+msgstr "Rendi non selezionabili i figli del nodo selezionato."
+
+msgid "Make selected node's children selectable."
+msgstr "Rendi selezionabili i figli del nodo selezionato."
+
msgid "Ungroup Selected Node(s)"
msgstr "Separa Nodo/i Selezionato/i"
@@ -4366,6 +6611,9 @@ msgstr "Opzioni Scheletro"
msgid "Show Bones"
msgstr "Mostra Ossa"
+msgid "Make Bone2D Node(s) from Node(s)"
+msgstr "Crea dei nodi Bone2D da dei nodi"
+
msgid "View"
msgstr "Vista"
@@ -4384,9 +6632,6 @@ msgstr "Commuta Griglia"
msgid "Grid"
msgstr "Griglia"
-msgid "Show Helpers"
-msgstr "Mostra guide"
-
msgid "Show Rulers"
msgstr "Mostra Righelli"
@@ -4402,6 +6647,9 @@ msgstr "Mostra Viewport"
msgid "Show Group And Lock Icons"
msgstr "Mostra Gruppo e Blocca Icone"
+msgid "Show Transformation Gizmos"
+msgstr "Mostra i gizmo di trasformazione"
+
msgid "Center Selection"
msgstr "Centra Selezione"
@@ -4459,18 +6707,56 @@ msgstr "Divide per 2 il passo della griglia"
msgid "Adding %s..."
msgstr "Aggiungendo %s..."
+msgid "Drag and drop to add as child of current scene's root node."
+msgstr ""
+"Trascinare e rilasciare per aggiungere come figlio del nodo radice delal "
+"scena corrente."
+
+msgid "Hold Ctrl when dropping to add as child of selected node."
+msgstr ""
+"Tenere premuto Ctrk durante il rilascio per aggiungere come figlio del nodo "
+"selezionato."
+
+msgid "Hold Shift when dropping to add as sibling of selected node."
+msgstr ""
+"Tenere premuto Shift durante il rilascio per aggiungere come figlio del nodo "
+"selezionato."
+
+msgid "Hold Alt when dropping to add as a different node type."
+msgstr ""
+"Tenere premuto Alt durante il rilascio per aggiungere come tipo di nodo "
+"diverso."
+
msgid "Cannot instantiate multiple nodes without root."
-msgstr "Impossibile istanziare nodi multipli in mancanza di root."
+msgstr "Impossibile istanziare nodi multipli senza una radice."
msgid "Create Node"
msgstr "Crea Nodo"
+msgid "Error instantiating scene from %s"
+msgstr "Errore durante l'istanziazione della scena da %s"
+
msgid "Change Default Type"
msgstr "Cambia Tipo Predefinito"
msgid "Set Handle"
msgstr "Imposta Maniglia"
+msgid "This node doesn't have a control parent."
+msgstr "Questo nodo non ha un genitore Control."
+
+msgid "This node is a child of a container."
+msgstr "Questo nodo è figlio di un contenitore."
+
+msgid "Use container properties for positioning."
+msgstr "Utilizza le proprietà del contenitore per il posizionamento."
+
+msgid "This node is a child of a regular control."
+msgstr "Questo nodo è il figlio di un Control normale."
+
+msgid "Use anchors and the rectangle for positioning."
+msgstr "Utilizza le ancore e il rettangolo per il posizionamento."
+
msgid "Expand"
msgstr "Espandi"
@@ -4522,9 +6808,18 @@ msgstr "Lato Destro"
msgid "Full Rect"
msgstr "Rettangolo Completo"
+msgid "Horizontal alignment"
+msgstr "Allineamento orizzontale"
+
+msgid "Vertical alignment"
+msgstr "Allineamento verticale"
+
msgid "Load Emission Mask"
msgstr "Carica Maschera Emissione"
+msgid "CPUParticles2D"
+msgstr "CPUParticles2D"
+
msgid "Generated Point Count:"
msgstr "Conteggio Punti Generati:"
@@ -4546,6 +6841,9 @@ msgstr "Cattura da Pixel"
msgid "Emission Colors"
msgstr "Colori Emissione"
+msgid "CPUParticles3D"
+msgstr "CPUParticles3D"
+
msgid "Create Emission Points From Node"
msgstr "Crea Punti Emissione Da Nodo"
@@ -4648,6 +6946,16 @@ msgstr ""
"Quando questa opzione è abilitata, le forme di collisione e i nodi RayCast "
"(sia 2D che 3D) sarrano visibili nel progetto in esecuzione."
+msgid "Visible Paths"
+msgstr "Percorsi visibili"
+
+msgid ""
+"When this option is enabled, curve resources used by path nodes will be "
+"visible in the running project."
+msgstr ""
+"Quando questa opzione è abilitata, le risorse delle curve utilizzate dai "
+"nodi Path saranno visibili nel progetto in esecuzione."
+
msgid "Visible Navigation"
msgstr "Navigazione visibile"
@@ -4686,15 +6994,74 @@ msgstr ""
"Quando usato in remoto su un dispositivo, essa risulta più efficace "
"abilitando l'opzione \"network filesystem\"."
+msgid "Keep Debug Server Open"
+msgstr "Mantieni il server di debug aperto"
+
+msgid ""
+"When this option is enabled, the editor debug server will stay open and "
+"listen for new sessions started outside of the editor itself."
+msgstr ""
+"Quando questa opzione è attiva, il server di debug dell'editor rimarrà "
+"aperto e ascolterà nuove sessioni iniziate fuori dall'editor stesso."
+
+msgid "Run Multiple Instances"
+msgstr "Esegui istanze multiple"
+
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "Esegui %d istanza"
+msgstr[1] "Esegui %d istanze"
+
+msgid "Overrides (%d)"
+msgstr "Sovrascrive (%d)"
+
+msgctxt "Locale"
+msgid "Add Script"
+msgstr "Aggiungi un alfabeto"
+
+msgid "Add Locale"
+msgstr "Aggiungi un locale"
+
+msgid "Variation Coordinates (%d)"
+msgstr "Coordinate di variazione (%d)"
+
+msgid "No supported features"
+msgstr "Nessuna funzionalità supportata"
+
+msgid "Features (%d of %d set)"
+msgstr "Funzionalità (%d su %d impostate)"
+
+msgid "Add Feature"
+msgstr "Aggiungi una funzionalità"
+
+msgid " - Variation"
+msgstr " - Variazione"
+
+msgid "Unable to preview font"
+msgstr "Impossibile visualizzare l'anteprima del font"
+
msgid "Convert to CPUParticles2D"
msgstr "Converti in CPUParticles2D"
+msgid "Generating Visibility Rect (Waiting for Particle Simulation)"
+msgstr ""
+"Generazione del rettangolo di visibilità (aspettando la simulazione delle "
+"particelle)"
+
msgid "Generate Visibility Rect"
msgstr "Genera Rect Visibilità"
+msgid "Can only set point into a ParticleProcessMaterial process material"
+msgstr ""
+"È solamente possibile impostare il punto in un materiale di processo "
+"ParticlesProcessMaterial"
+
msgid "Clear Emission Mask"
msgstr "Cancella Maschera Emissione"
+msgid "GPUParticles2D"
+msgstr "GPUParticles2D"
+
msgid "Generation Time (sec):"
msgstr "Tempo di Generazione (sec):"
@@ -4704,6 +7071,9 @@ msgstr "Le facce della geometria non contengono nessuna area."
msgid "The geometry doesn't contain any faces."
msgstr "La geometria non contiene facce."
+msgid "\"%s\" doesn't inherit from Node3D."
+msgstr "\"%s\" non eredita da Node3D."
+
msgid "\"%s\" doesn't contain geometry."
msgstr "\"%s\" non contiene geometria."
@@ -4728,12 +7098,66 @@ msgstr "Volume"
msgid "Emission Source:"
msgstr "Sorgente dell' Emissione:"
+msgid "A processor material of type 'ParticleProcessMaterial' is required."
+msgstr ""
+"È richiesto un materiale di processo di tipo 'ParticleProcessMaterial'."
+
+msgid "Convert to CPUParticles3D"
+msgstr "Converti in CPUParticles3D"
+
+msgid "Generating Visibility AABB (Waiting for Particle Simulation)"
+msgstr ""
+"Generazione dell'AABB di visibilità (aspettando la simulazione delle "
+"particelle)"
+
msgid "Generate Visibility AABB"
msgstr "Genera Visibilità AABB"
+msgid "GPUParticles3D"
+msgstr "GPUParticles3D"
+
+msgid "Generate AABB"
+msgstr "Genera l'AABB"
+
+msgid "Low"
+msgstr "Bassa"
+
+msgid "Moderate"
+msgstr "Moderata"
+
+msgid "High"
+msgstr "Alta"
+
+msgid "Subdivisions: %s"
+msgstr "Suddivisioni: %s"
+
+msgid "Cell size: %s"
+msgstr "Dimensione delle celle: %s"
+
+msgid "Video RAM size: %s MB (%s)"
+msgstr "Dimensione della RAM video: %s MB (%s)"
+
+msgid "Bake SDF"
+msgstr "Cuoci l'SDF"
+
+msgid ""
+"No faces detected during GPUParticlesCollisionSDF3D bake.\n"
+"Check whether there are visible meshes matching the bake mask within its "
+"extents."
+msgstr ""
+"Nessuna faccia rilevata durante la cottura del GPUParticlesCollisionSDF3D.\n"
+"Controllare la presenza di mesh visibili che corrispondono alla maschera di "
+"cottura nei suoi confini."
+
+msgid "Select path for SDF Texture"
+msgstr "Selezionare il percorso per la texture SDF"
+
msgid "Gradient Edited"
msgstr "Gradiente Modificato"
+msgid "Reverse/mirror gradient."
+msgstr "Inverti/specchia il gradiente."
+
msgid "Swap GradientTexture2D Fill Points"
msgstr "Scambia Punti di Riempimento del GradientTexture2D"
@@ -4743,6 +7167,9 @@ msgstr "Scambia Punti di Riempimento del Gradiente"
msgid "Toggle Grid Snap"
msgstr "Commuta scatto sulla griglia"
+msgid "Configure"
+msgstr "Configura"
+
msgid "Create Occluder Polygon"
msgstr "Crea Poligono di Occlusione"
@@ -4754,11 +7181,21 @@ msgstr ""
"lightmap.\n"
"Salva la scena e riprova."
+msgid ""
+"No meshes to bake. Make sure they contain an UV2 channel and that the 'Bake "
+"Light' flag is on."
+msgstr ""
+"Nessuna mesh da cuocere. Assicurarsi che contengano un canale UV2 e che la "
+"spunta \"Bake Light\" sia abilitata."
+
msgid "Failed creating lightmap images, make sure path is writable."
msgstr ""
"Tentativo di creazione delle immagini di lightmap fallito, assicurarsi che "
"il percorso dei file sia scrivibile."
+msgid "No editor scene root found."
+msgstr "Nessuna radice della scena dell'editor trovata."
+
msgid "Bake Lightmaps"
msgstr "Preprocessa Lightmaps"
@@ -4778,7 +7215,7 @@ msgid "Create Static Trimesh Body"
msgstr "Crea Corpo Trimesh Statico"
msgid "This doesn't work on scene root!"
-msgstr "Questo non funziona sulla root della scena!"
+msgstr "Questo non funziona sulla radice della scena!"
msgid "Create Trimesh Static Shape"
msgstr "Crea Forma Statica Trimesh"
@@ -4811,6 +7248,9 @@ msgstr "Crea Multiple Forme Covesse"
msgid "Create Navigation Mesh"
msgstr "Crea Mesh di Navigazione"
+msgid "Create Debug Tangents"
+msgstr "Genera tangenti di debug"
+
msgid "Contained Mesh is not of type ArrayMesh."
msgstr "La Mesh contenuta non è del tipo ArrayMesh."
@@ -4824,6 +7264,18 @@ msgstr "Nessuna mesh da debuggare."
msgid "Mesh has no UV in layer %d."
msgstr "Il modello non ha UV sul layer %d."
+msgid "MeshInstance3D lacks a Mesh."
+msgstr "MeshInstance3D non ha un Mesh."
+
+msgid "Mesh has no surface to create outlines from."
+msgstr "La mesh non ha una superficie da cui creare un contorno."
+
+msgid "Mesh primitive type is not PRIMITIVE_TRIANGLES."
+msgstr "Il tipo di primitivo del mesh non è PRIMITIVE_TRIANGLES."
+
+msgid "Could not create outline."
+msgstr "Impossiblile creare un contorno."
+
msgid "Create Outline"
msgstr "Crea Outline"
@@ -4833,6 +7285,16 @@ msgstr "Mesh"
msgid "Create Trimesh Static Body"
msgstr "Crea Corpo Statico Trimesh"
+msgid ""
+"Creates a StaticBody3D and assigns a polygon-based collision shape to it "
+"automatically.\n"
+"This is the most accurate (but slowest) option for collision detection."
+msgstr ""
+"Crea uno StaticBody3D e gli assegna automaticamente una forma di collisione "
+"a poligoni.\n"
+"Questa è l'opzione più accurata (ma anche più lenta) per rilevare le "
+"collisioni."
+
msgid "Create Trimesh Collision Sibling"
msgstr "Crea Fratello di Collisione Trimesh"
@@ -4882,6 +7344,17 @@ msgstr ""
msgid "Create Outline Mesh..."
msgstr "Crea Mesh di Outline..."
+msgid ""
+"Creates a static outline mesh. The outline mesh will have its normals "
+"flipped automatically.\n"
+"This can be used instead of the StandardMaterial Grow property when using "
+"that property isn't possible."
+msgstr ""
+"Crea una mesh di contorno statica. Questa mesh avrà le sue normali invertite "
+"automaticamente.\n"
+"Può essere utilizzata al posto della proprietà Grow di StandardMaterial "
+"quando questa non è disponibile."
+
msgid "View UV1"
msgstr "Vista UV1"
@@ -4945,6 +7418,9 @@ msgstr ""
msgid "Mesh source is invalid (invalid path)."
msgstr "Sorgente Mesh invalida (percorso invalido)."
+msgid "Mesh source is invalid (not a MeshInstance3D)."
+msgstr "Mesh sorgente non valida (non è un MeshInstance3D)."
+
msgid "Mesh source is invalid (contains no Mesh resource)."
msgstr "Sorgente Mesh invalida (non contiene alcuna risorsa Mesh)."
@@ -5005,6 +7481,12 @@ msgstr "Quantità:"
msgid "Populate"
msgstr "Popola"
+msgid "Set start_position"
+msgstr "Imposta start_position"
+
+msgid "Set end_position"
+msgstr "Imposta end_position"
+
msgid "Create Navigation Polygon"
msgstr "Crea Poligono di Navigazione"
@@ -5026,12 +7508,21 @@ msgstr "Cambia dimensione Telecamera"
msgid "Change Sphere Shape Radius"
msgstr "Cambia Raggio di Sphere Shape"
+msgid "Change Box Shape Size"
+msgstr "Cambia la dimensione della forma a scatola"
+
msgid "Change Notifier AABB"
msgstr "Cambia notificatore AABB"
msgid "Change Particles AABB"
msgstr "Cambia AABB Particelle"
+msgid "Change Radius"
+msgstr "Cambia il raggio"
+
+msgid "Change Decal Size"
+msgstr "Cambia dimensione decalcomania"
+
msgid "Change Capsule Shape Radius"
msgstr "Cambia Raggio Capsule Shape"
@@ -5044,6 +7535,21 @@ msgstr "Modifica Raggio di Forma del Cilindro"
msgid "Change Cylinder Shape Height"
msgstr "Modifica Altezza di Forma del Cilindro"
+msgid "Start Location"
+msgstr "Posizione iniziale"
+
+msgid "End Location"
+msgstr "Posizione finale"
+
+msgid "Change Start Position"
+msgstr "Cambia posizione iniziale"
+
+msgid "Change End Position"
+msgstr "Cambia posizione finale"
+
+msgid "Change Fog Volume Size"
+msgstr "Cambia la dimensione del volume della nebbia"
+
msgid "Transform Aborted."
msgstr "Transform Abortito."
@@ -5104,12 +7610,51 @@ msgstr "Trasformazione asse Z."
msgid "View Plane Transform."
msgstr "Visualizza la trasformazione del piano."
+msgid "YZ-Plane Transform."
+msgstr "Trasformazione sul piano YZ."
+
+msgid "XZ-Plane Transform."
+msgstr "Trasformazione sul piano XZ."
+
+msgid "XY-Plane Transform."
+msgstr "Trasformazione sul piano XY."
+
msgid "Keying is disabled (no key inserted)."
msgstr "Inserimento di chiavi disabilitato (nessuna chiave inserita)."
msgid "Animation Key Inserted."
msgstr "Chiave d'animazione inserita."
+msgid "X: %s\n"
+msgstr "X: %s\n"
+
+msgid "Y: %s\n"
+msgstr "Y: %s\n"
+
+msgid "Z: %s\n"
+msgstr "Z: %s\n"
+
+msgid "Size: %s (%.1fMP)\n"
+msgstr "Dimensioni: %s (%.1fMP)\n"
+
+msgid "Objects: %d\n"
+msgstr "Oggetti: %d\n"
+
+msgid "Primitive Indices: %d\n"
+msgstr "Indici primitivi: %d\n"
+
+msgid "Draw Calls: %d"
+msgstr "Chiamate di disegno: %d"
+
+msgid "CPU Time: %s ms"
+msgstr "Tempo della CPU: %s ms"
+
+msgid "GPU Time: %s ms"
+msgstr "Tempo della GPU: %s ms"
+
+msgid "FPS: %d"
+msgstr "FPS: %d"
+
msgid "Top View."
msgstr "Vista dall'alto."
@@ -5134,6 +7679,15 @@ msgstr "Allinea la trasformazione con la vista"
msgid "Align Rotation with View"
msgstr "Allinea la rotazione con la vista"
+msgid "Set Surface %d Override Material"
+msgstr "Imposta il materiale di sovrascrittura della superfice %d"
+
+msgid "Set Material Override"
+msgstr "Imposta il materiale di sovrascrittura"
+
+msgid "Cannot drag and drop into multiple selected nodes."
+msgstr "Impossibile trascinare e rilasciare in più nodi selezionati."
+
msgid "None"
msgstr "Nessuno"
@@ -5164,9 +7718,51 @@ msgstr "Visualizzazione fildiferro"
msgid "Display Overdraw"
msgstr "Visualizza Overdraw"
+msgid "Display Lighting"
+msgstr "Visualizza l'illuminazione"
+
msgid "Display Unshaded"
msgstr "Visualizzazione senza ombre"
+msgid "Normal Buffer"
+msgstr "Buffer dei normali"
+
+msgid "Shadow Atlas"
+msgstr "Atlas delle ombre"
+
+msgid "Directional Shadow Map"
+msgstr "Mappa delle ombre direzionale"
+
+msgid "Decal Atlas"
+msgstr "Atlas delle decalcomanie"
+
+msgid "VoxelGI Lighting"
+msgstr "Illuminazione VoxelGI"
+
+msgid "VoxelGI Albedo"
+msgstr "Albedo VoxelGI"
+
+msgid "VoxelGI Emission"
+msgstr "Emissione VoxelGI"
+
+msgid "Scene Luminance"
+msgstr "Brillanza della scena"
+
+msgid "SSAO"
+msgstr "SSAO"
+
+msgid "SSIL"
+msgstr "SSIL"
+
+msgid "VoxelGI/SDFGI Buffer"
+msgstr "Buffer VoxelGI/SDFGI"
+
+msgid "Disable Mesh LOD"
+msgstr "Disabilita il LOD delle mesh"
+
+msgid "Display Advanced..."
+msgstr "Mostra avanzata..."
+
msgid "View Environment"
msgstr "Visualizza ambiente"
@@ -5176,6 +7772,9 @@ msgstr "Visualizza Gizmos"
msgid "View Information"
msgstr "Visualizza Informazioni"
+msgid "View Frame Time"
+msgstr "Visualizza il tempo dei fotogrammi"
+
msgid "Half Resolution"
msgstr "Risoluzione Dimezzata"
@@ -5188,6 +7787,9 @@ msgstr "Abilita Doppler"
msgid "Cinematic Preview"
msgstr "Anteprima Cinematografica"
+msgid "Not available when using the OpenGL renderer."
+msgstr "Non disponibile quando il renderer OpenGL è in uso."
+
msgid "Freelook Left"
msgstr "Vista Libera Sinistra"
@@ -5212,6 +7814,36 @@ msgstr "Modificatore Velocità Vista Libera"
msgid "Freelook Slow Modifier"
msgstr "Modificatore Velocità Lenta Vista Libera"
+msgid "Lock Transformation to X axis"
+msgstr "Blocca la trasformazione sull'asse X"
+
+msgid "Lock Transformation to Y axis"
+msgstr "Blocca la trasformazione sull'asse Y"
+
+msgid "Lock Transformation to Z axis"
+msgstr "Blocca la trasformazione sull'asse Z"
+
+msgid "Lock Transformation to YZ plane"
+msgstr "Blocca la trasformazione sul piano YZ"
+
+msgid "Lock Transformation to XZ plane"
+msgstr "Blocca la trasformazione sul piano XZ"
+
+msgid "Lock Transformation to XY plane"
+msgstr "Blocca la trasformazione sul piano XY"
+
+msgid "Cancel Transformation"
+msgstr "Annulla la trasformazione"
+
+msgid "Begin Translate Transformation"
+msgstr "Inizia una trasformazione di traslazione"
+
+msgid "Begin Rotate Transformation"
+msgstr "Inizia una traslazione di rotazione"
+
+msgid "Begin Scale Transformation"
+msgstr "Inizia una trasformazione di scala"
+
msgid "Toggle Camera Preview"
msgstr "Cambia Anteprima Telecamera"
@@ -5224,6 +7856,18 @@ msgstr ""
"Per un maggiore ingrandimento, cambia i piani del clip della videocamera "
"(Vista -> Impostazioni...)"
+msgid "Overriding material..."
+msgstr "Sovrascrivendo il materiale..."
+
+msgid ""
+"Drag and drop to override the material of any geometry node.\n"
+"Hold Ctrl when dropping to override a specific surface."
+msgstr ""
+"Trascinare e rilasciare per sovrascrivere il materiale di qualsiasi nodo "
+"geometrico.\n"
+"Tenere premuto Ctrl durante il rilascio per sovrascrivere una superficie "
+"specifica."
+
msgid "XForm Dialog"
msgstr "Finestra di XForm"
@@ -5248,12 +7892,60 @@ msgid "Couldn't find a solid floor to snap the selection to."
msgstr ""
"Impossibile trovare un pavimento solido sul quale agganciare la selezione."
+msgid "Add Preview Sun to Scene"
+msgstr "Aggiungi un sole di anteprima alla scena"
+
+msgid "Add Preview Environment to Scene"
+msgstr "Aggiungi un ambiente di anteprima alla scena"
+
+msgid ""
+"Scene contains\n"
+"DirectionalLight3D.\n"
+"Preview disabled."
+msgstr ""
+"La scena contiene un\n"
+"DirectionalLight3D.\n"
+"Anteprima disabilitata."
+
+msgid "Preview disabled."
+msgstr "Anteprima disabilitata."
+
+msgid ""
+"Scene contains\n"
+"WorldEnvironment.\n"
+"Preview disabled."
+msgstr ""
+"La scena contiene un\n"
+"WorldEnvironment\n"
+"Anteprima disabilitata."
+
msgid "Use Local Space"
msgstr "Usa Spazio Locale"
msgid "Use Snap"
msgstr "Usa Scatto"
+msgid ""
+"Toggle preview sunlight.\n"
+"If a DirectionalLight3D node is added to the scene, preview sunlight is "
+"disabled."
+msgstr ""
+"Commuta la luce del sole di anteprima.\n"
+"La luce del sole di anteprima è disabilitata se viene aggiunto alla scena un "
+"nodo DirectionalLight3D."
+
+msgid ""
+"Toggle preview environment.\n"
+"If a WorldEnvironment node is added to the scene, preview environment is "
+"disabled."
+msgstr ""
+"Commuta l'ambiente di anteprima.\n"
+"L'ambiente di anteprima viene disabilitato se viene aggiunto alla scena un "
+"nodo DirectionalLight3D."
+
+msgid "Edit Sun and Environment settings."
+msgstr "Modifica le impostazioni del sole e dell'ambiente."
+
msgid "Bottom View"
msgstr "Vista dal basso"
@@ -5395,6 +8087,104 @@ msgstr "Pre"
msgid "Post"
msgstr "Post"
+msgid "Preview Sun"
+msgstr "Sole di anteprima"
+
+msgid "Sun Direction"
+msgstr "Direzione del sole"
+
+msgid "Angular Altitude"
+msgstr "Altezza angolare"
+
+msgid "Azimuth"
+msgstr "Azimut"
+
+msgid "Sun Color"
+msgstr "Colore del sole"
+
+msgid "Sun Energy"
+msgstr "Energia del sole"
+
+msgid "Shadow Max Distance"
+msgstr "Distanza massima delle ombre"
+
+msgid "Add Sun to Scene"
+msgstr "Aggiungi il sole nella scena"
+
+msgid ""
+"Adds a DirectionalLight3D node matching the preview sun settings to the "
+"current scene.\n"
+"Hold Shift while clicking to also add the preview environment to the current "
+"scene."
+msgstr ""
+"Aggiunge un nodo DirectionalLight3D nella scena corrente corrispondente alle "
+"impostazioni del sole di anteprima.\n"
+"Tenere premuto Maiusc mentre si clicca per aggiungere anche l'ambiente di "
+"anteprima alla scena corrente."
+
+msgid "Preview Environment"
+msgstr "Ambiante di anteprima"
+
+msgid "Sky Color"
+msgstr "Colore del cielo"
+
+msgid "Ground Color"
+msgstr "Colore del terreno"
+
+msgid "Sky Energy"
+msgstr "Energia del cielo"
+
+msgid "AO"
+msgstr "AO"
+
+msgid "Glow"
+msgstr "Bagliore"
+
+msgid "GI"
+msgstr "GI"
+
+msgid "Post Process"
+msgstr "Post elaborazione"
+
+msgid "Add Environment to Scene"
+msgstr "Aggiungi l'ambiente nelle scena"
+
+msgid ""
+"Adds a WorldEnvironment node matching the preview environment settings to "
+"the current scene.\n"
+"Hold Shift while clicking to also add the preview sun to the current scene."
+msgstr ""
+"Aggiunge un nodo WorldEnvironment nella scena corrente corrispondente alle "
+"impostazioni dell'ambiente di anteprima.\n"
+"Tenere premuto Maiusc mentre si clicca per aggiungere anche il sole di "
+"anteprima alla scena corrente."
+
+msgid ""
+"Can't determine a save path for the occluder.\n"
+"Save your scene and try again."
+msgstr ""
+"Impossibile determinare un percorso di salvataggio per l'occlusore.\n"
+"Salvare la scena e riprovare."
+
+msgid ""
+"No meshes to bake.\n"
+"Make sure there is at least one MeshInstance3D node in the scene whose "
+"visual layers are part of the OccluderInstance3D's Bake Mask property."
+msgstr ""
+"Nessuna mesh da cuocere.\n"
+"Assicurarsi che nella scena ci sia almeno un nodo MeshInstance3D che "
+"appartiene agli stessi strati visivi della maschera di cottura "
+"dell'OccluderInstance3D."
+
+msgid "Could not save the new occluder at the specified path:"
+msgstr "Impossibile salvare il nuovo occlusore nel percorso specificato:"
+
+msgid "Bake Occluders"
+msgstr "Cuoci gli occlusori"
+
+msgid "Select occluder bake file:"
+msgstr "Selezionare il filei di cottura degli occlusori:"
+
msgid "Remove Point from Curve"
msgstr "Rimuovi Punto dalla Curva"
@@ -5648,16 +8438,16 @@ msgid "Add Resource"
msgstr "Aggiungi risorsa"
msgid "Rename Resource"
-msgstr "Rinomina risorsa"
+msgstr "Rinomina Risorsa"
msgid "Delete Resource"
-msgstr "Elimina risorsa"
+msgstr "Elimina Risorsa"
msgid "Resource clipboard is empty!"
msgstr "Gli appunti delle risorse sono vuoti!"
msgid "Paste Resource"
-msgstr "Incolla risorsa"
+msgstr "Incolla Risorsa"
msgid "Open in Editor"
msgstr "Apri nell'editor"
@@ -5712,6 +8502,12 @@ msgstr "Non è stato possibile caricare il file a:"
msgid "Save File As..."
msgstr "Salva file come..."
+msgid "Can't obtain the script for reloading."
+msgstr "Impossibile ottenere lo script per la ricarica."
+
+msgid "Reload only takes effect on tool scripts."
+msgstr "La ricarica ha effetto solo sugli script strumento."
+
msgid "Can't obtain the script for running."
msgstr "Impossibile ottenere lo script per l'esecuzione."
@@ -5740,6 +8536,9 @@ msgstr "Errore di salvataggio"
msgid "Save Theme As..."
msgstr "Salva tema come..."
+msgid "Unsaved file."
+msgstr "File non salvato."
+
msgid "%s Class Reference"
msgstr "%s Riferimento di classe"
@@ -5749,6 +8548,9 @@ msgstr "Trova successivo"
msgid "Find Previous"
msgstr "Trova precedente"
+msgid "Filter Scripts"
+msgstr "Filtra gli script"
+
msgid "Toggle alphabetical sorting of the method list."
msgstr "Commuta l'ordinamento alfabetico della lista dei metodi."
@@ -5773,6 +8575,9 @@ msgstr "Riapri script chiuso"
msgid "Save All"
msgstr "Salva tutto"
+msgid "Soft Reload Tool Script"
+msgstr "Ricarica leggera dello script strumento"
+
msgid "Copy Script Path"
msgstr "Copia il percorso dello script"
@@ -5840,6 +8645,9 @@ msgstr "Rimuovi Script Recenti"
msgid "Standard"
msgstr "Standard"
+msgid "Plain Text"
+msgstr "Testo semplice"
+
msgid "Connections to method:"
msgstr "Connessioni al metodo:"
@@ -5849,6 +8657,9 @@ msgstr "Sorgente"
msgid "Target"
msgstr "Target"
+msgid "Error at (%d, %d):"
+msgstr "Errore in (%d, %d):"
+
msgid ""
"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'."
msgstr ""
@@ -5867,6 +8678,9 @@ msgstr "Vai alla funzione"
msgid "Only resources from filesystem can be dropped."
msgstr "Solo le risorse dal filesystem possono essere eliminate."
+msgid "Can't drop nodes without an open scene."
+msgstr "Impossibile trascinare dei nodi senza una scena aperta."
+
msgid "Can't drop nodes because script '%s' is not used in this scene."
msgstr ""
"Impossibile rilasciare i nodi perché lo script \"%s\" non è usato in questa "
@@ -5878,6 +8692,12 @@ msgstr "Ricerca simbolo"
msgid "Pick Color"
msgstr "Scegli un colore"
+msgid "Folding"
+msgstr "Raggruppamento"
+
+msgid "Indentation"
+msgstr "Indentazione"
+
msgid "Uppercase"
msgstr "Maiuscolo"
@@ -5902,6 +8722,9 @@ msgstr "Vai a"
msgid "Delete Line"
msgstr "Elimina linea"
+msgid "Unindent"
+msgstr "De-indenta"
+
msgid "Toggle Comment"
msgstr "Commuta i commenti"
@@ -5968,6 +8791,34 @@ msgstr "Vai al punto di interruzione successivo"
msgid "Go to Previous Breakpoint"
msgstr "Vai al punto di interruzione precedente"
+msgid "Load Shader File"
+msgstr "Carica un file shader"
+
+msgid "Save File"
+msgstr "Salva il file"
+
+msgid "Save File As"
+msgstr "Salva il file come"
+
+msgid "Open File in Inspector"
+msgstr "Apri il file nell'ispettore"
+
+msgid "Close File"
+msgstr "Chiudi il file"
+
+msgid "Shader Editor"
+msgstr "Editor degli shader"
+
+msgid ""
+"File structure for '%s' contains unrecoverable errors:\n"
+"\n"
+msgstr ""
+"La struttura del file di \"%s\" contiene degli errori irrecuperabili:\n"
+"\n"
+
+msgid "ShaderFile"
+msgstr "ShaderFile"
+
msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr "Questo scheletro non ha ossa, crea dei nodi figlio Bone2D."
@@ -5986,12 +8837,68 @@ msgstr "Ripristina a Posizione di Riposo"
msgid "Overwrite Rest Pose"
msgstr "Sovrascrivi Posa a Riposo"
+msgid "Set Bone Transform"
+msgstr "Imposta la trasformazione di un osso"
+
+msgid "Set Bone Rest"
+msgstr "Imposta il riposo di un osso"
+
+msgid "Cannot create a physical skeleton for a Skeleton3D node with no bones."
+msgstr ""
+"Impossibile creare uno scheletro fisico per un nodo Skeleton3D senza ossa."
+
msgid "Create physical bones"
msgstr "Crea ossa fisiche"
+msgid "Cannot export a SkeletonProfile for a Skeleton3D node with no bones."
+msgstr ""
+"Impossibile esportare uno SkeletonProfile per un nodo Skeleton3D senza ossa."
+
+msgid "Export Skeleton Profile As..."
+msgstr "Esporta il profilo dello scheletro come..."
+
+msgid "Set Bone Parentage"
+msgstr "Imposta la parentela dell'osso"
+
+msgid "Skeleton3D"
+msgstr "Skeleton3D"
+
+msgid "Reset All Bone Poses"
+msgstr "Reimposta le pose di tutti gli ossi"
+
+msgid "Reset Selected Poses"
+msgstr "Reimposta le pose selezionate"
+
+msgid "Apply All Poses to Rests"
+msgstr "Applica tutte le pose come riposi"
+
+msgid "Apply Selected Poses to Rests"
+msgstr "Applica le pose selezionate come riposo"
+
+msgid "Create Physical Skeleton"
+msgstr "Crea uno scheletro fisico"
+
+msgid "Export Skeleton Profile"
+msgstr "Esporta il profilo dello scheletro"
+
+msgid "Insert key of all bone poses."
+msgstr "Inserisci una chiave della posa di tutti gli ossi."
+
+msgid "Insert Key (All Bones)"
+msgstr "Inserisci una chiave (tutte le ossa)"
+
+msgid "Bone Transform"
+msgstr "Trasformazione dell'osso"
+
msgid "Play IK"
msgstr "Riproduci IK"
+msgid "Create MeshInstance2D"
+msgstr "Crea un MeshInstance2D"
+
+msgid "MeshInstance2D Preview"
+msgstr "Anteprima del MeshInstance2D"
+
msgid "Create Polygon2D"
msgstr "Crea Polygon2D"
@@ -6010,6 +8917,12 @@ msgstr "Crea LightOccluder2D"
msgid "LightOccluder2D Preview"
msgstr "Anteprima LightOccluder2D"
+msgid "Can't convert a Sprite2D from a foreign scene."
+msgstr "Impossibile convertire uno Sprite2D da una scena esterna."
+
+msgid "Sprite2D is empty!"
+msgstr "Lo Sprite2D è vuoto!"
+
msgid "Can't convert a sprite using animation frames to mesh."
msgstr ""
"Impossibile convertire in una mesh uno sprite che utilizza frame di "
@@ -6039,6 +8952,9 @@ msgstr "Geometria non valida, impossibile creare un occlusore di luce."
msgid "Create LightOccluder2D Sibling"
msgstr "Crea fratello del LightOccluder2D"
+msgid "Sprite2D"
+msgstr "Sprite2D"
+
msgid "Simplification:"
msgstr "Semplificazione:"
@@ -6087,18 +9003,57 @@ msgstr "Eliminare Animazione?"
msgid "Change Animation FPS"
msgstr "Cambia FPS Animazione"
+msgid "Set Frame Duration"
+msgstr "Imposta la durata del fotogramma"
+
msgid "(empty)"
msgstr "(vuoto)"
msgid "Animations:"
msgstr "Animazioni:"
+msgid "Animation Speed"
+msgstr "Velocità di animazione"
+
+msgid "Filter Animations"
+msgstr "Filtra le animazioni"
+
+msgid "Delete Animation"
+msgstr "Cancella l'animazione"
+
msgid "Animation Frames:"
msgstr "Frame Animazione:"
+msgid "Frame Duration:"
+msgstr "Durata del fotogramma:"
+
msgid "Zoom Reset"
msgstr "Ripristina Zoom"
+msgid "Add frame from file"
+msgstr "Aggiungi un fotogramma da un file"
+
+msgid "Add frames from sprite sheet"
+msgstr "Aggiungi i fotogrammi da una scheda di sprite"
+
+msgid "Delete Frame"
+msgstr "Cancella un fotogramma"
+
+msgid "Copy Frame"
+msgstr "Copia un fotogramma"
+
+msgid "Insert Empty (Before Selected)"
+msgstr "Inserisci un fotogramma vuoto (prima della selezione)"
+
+msgid "Insert Empty (After Selected)"
+msgstr "Inserisci un fotogramma vuoto (dopo la selezione)"
+
+msgid "Move Frame Left"
+msgstr "Muovi un fotogramma a sinistra"
+
+msgid "Move Frame Right"
+msgstr "Muovi un fotogramma a destra"
+
msgid "Select Frames"
msgstr "Seleziona Frames"
@@ -6120,6 +9075,25 @@ msgstr "Crea Frames da uno Spritesheet"
msgid "SpriteFrames"
msgstr "Sprite Frames"
+msgid "Warnings should be fixed to prevent errors."
+msgstr "Gli avvisi andrebbero risolti per evitare errori."
+
+msgid ""
+"This shader has been modified on disk.\n"
+"What action should be taken?"
+msgstr ""
+"Questo shader è stato modificato sul disco.\n"
+"Cosa andrebbe fatto?"
+
+msgid "%s Mipmaps"
+msgstr "%s mipmap"
+
+msgid "Memory: %s"
+msgstr "Memoria: %s"
+
+msgid "No Mipmaps"
+msgstr "Nessun mipmap"
+
msgid "Set Region Rect"
msgstr "Imposta Region Rect"
@@ -6141,24 +9115,68 @@ msgstr "Auto Divisione"
msgid "Step:"
msgstr "Passo:"
+msgid "Region Editor"
+msgstr "Editor delle regioni"
+
+msgid "Edit Region"
+msgstr "Modifica la regione"
+
msgid "Styleboxes"
msgstr "Styleboxes"
+msgid "1 color"
+msgid_plural "{num} colors"
+msgstr[0] "1 colore"
+msgstr[1] "{num} colori"
+
msgid "No colors found."
msgstr "Nessun colore trovato."
+msgid "1 constant"
+msgid_plural "{num} constants"
+msgstr[0] "1 costante"
+msgstr[1] "{num} costanti"
+
msgid "No constants found."
msgstr "Nessuna costante trovata."
+msgid "1 font"
+msgid_plural "{num} fonts"
+msgstr[0] "1 font"
+msgstr[1] "{num} font"
+
msgid "No fonts found."
msgstr "Nessun font trovato."
+msgid "1 font size"
+msgid_plural "{num} font sizes"
+msgstr[0] "1 dimensione del font"
+msgstr[1] "{num} dimensioni del font"
+
+msgid "No font sizes found."
+msgstr "Nessuna dimensione del font trovata."
+
+msgid "1 icon"
+msgid_plural "{num} icons"
+msgstr[0] "1 icona"
+msgstr[1] "{num} icone"
+
msgid "No icons found."
msgstr "Nessuna icona trovata."
+msgid "1 stylebox"
+msgid_plural "{num} styleboxes"
+msgstr[0] "1 stylebox"
+msgstr[1] "{num} styleboxes"
+
msgid "No styleboxes found."
msgstr "Nessun stylebox trovato."
+msgid "{num} currently selected"
+msgid_plural "{num} currently selected"
+msgstr[0] "{num} selezionato"
+msgstr[1] "{num} selezionati"
+
msgid "Nothing was selected for the import."
msgstr "Non è stato selezionato nulla da importare."
@@ -6174,6 +9192,9 @@ msgstr "Aggiornamento dell'editor"
msgid "Finalizing"
msgstr "Completando"
+msgid "Filter Items"
+msgstr "Filtra gli elementi"
+
msgid "With Data"
msgstr "Con i Dati"
@@ -6207,6 +9228,19 @@ msgstr "Seleziona tutti gli elementi di carattere visibili e i loro dati."
msgid "Deselect all visible font items."
msgstr "Deseleziona tutti gli elementi di carattere visibili."
+msgid "Font sizes"
+msgstr "Dimensioni del font"
+
+msgid "Select all visible font size items."
+msgstr "Seleziona tutti gli elementi di dimensione del font visibili."
+
+msgid "Select all visible font size items and their data."
+msgstr ""
+"Seleziona tutti gli elementi di dimensione del font visibili e i loro dati."
+
+msgid "Deselect all visible font size items."
+msgstr "Deseleziona tutti gli elementi di dimensione del font visibili."
+
msgid "Select all visible icon items."
msgstr "Seleziona tutte le icone visibili."
@@ -6288,6 +9322,9 @@ msgstr "Rimuovi Tutti gli Elementi Costanti"
msgid "Remove All Font Items"
msgstr "Rimuovi Tutti gli Elementi Caratteri"
+msgid "Remove All Font Size Items"
+msgstr "Rimuovi tutti gli elementi di dimensione del font"
+
msgid "Remove All Icon Items"
msgstr "Rimuovi Tutti gli Elementi Icone"
@@ -6301,12 +9338,30 @@ msgstr ""
"Questo tipo di tema è vuoto.\n"
"Aggiungici più elementi manualmente o importando da un altro tema."
+msgid "Remove Theme Item"
+msgstr "Rimuovi un elemento del tema"
+
msgid "Add Theme Type"
msgstr "Aggiungi Tipo Di Tema"
+msgid "Create Theme Item"
+msgstr "Crea un elemento del tema"
+
msgid "Remove Theme Type"
msgstr "Rimuovi Tipo Di Tema"
+msgid "Remove Data Type Items From Theme"
+msgstr "Rimuovi degli elementi di un tipo di dati da un tema"
+
+msgid "Remove Class Items From Theme"
+msgstr "Rimuovi degli elementi di una classe da un tema"
+
+msgid "Remove Custom Items From Theme"
+msgstr "Rimuovi degli elementi personalizzati da un tema"
+
+msgid "Remove All Items From Theme"
+msgstr "Rimuovi tutti gli elementi da un tema"
+
msgid "Add Color Item"
msgstr "Aggiungi Elementi Colore"
@@ -6316,6 +9371,9 @@ msgstr "Aggiungi Elemento Costante"
msgid "Add Font Item"
msgstr "Aggiungi Elemento Carattere"
+msgid "Add Font Size Item"
+msgstr "Aggiungi un elemento di dimensione del font"
+
msgid "Add Icon Item"
msgstr "Aggiungi Elemento Icona"
@@ -6331,12 +9389,18 @@ msgstr "Rinomina Elemento Costante"
msgid "Rename Font Item"
msgstr "Rinomina Elemento Carattere"
+msgid "Rename Font Size Item"
+msgstr "Rinomina un elemento di dimensione del font"
+
msgid "Rename Icon Item"
msgstr "Rinomina Elemento Icona"
msgid "Rename Stylebox Item"
msgstr "Rinomina Elemento Stylebox"
+msgid "Rename Theme Item"
+msgstr "Rinomina un elemento del tema"
+
msgid "Invalid file, not a Theme resource."
msgstr "File non valido, non una risorsa Tema."
@@ -6434,6 +9498,27 @@ msgstr "Aggiungi Tipo Elemento"
msgid "Add Type"
msgstr "Aggiungi Tipo"
+msgid "Override All Default Theme Items"
+msgstr "Sovrascrivi tutti gli elementi predefiniti di un tema"
+
+msgid "Override Theme Item"
+msgstr "Sovrascrivi un elemento di un tema"
+
+msgid "Set Color Item in Theme"
+msgstr "Imposta un elemento di colore in un tema"
+
+msgid "Set Constant Item in Theme"
+msgstr "Imposta un elemento costante in un tema"
+
+msgid "Set Font Size Item in Theme"
+msgstr "Imposta un elemento di dimensione del carattere in un tema"
+
+msgid "Set Font Item in Theme"
+msgstr "Imposta un elemento di carattere in un tema"
+
+msgid "Set Icon Item in Theme"
+msgstr "Imposta un elemento icona in un tema"
+
msgid "Set Variation Base Type"
msgstr "Imposta Tipo di Variazione Base"
@@ -6504,12 +9589,6 @@ msgstr "Elemento"
msgid "Disabled Item"
msgstr "Oggetto disabilitato"
-msgid "Check Item"
-msgstr "Check Item"
-
-msgid "Checked Item"
-msgstr "Checked Item"
-
msgid "Radio Item"
msgstr "Radio Elemento"
@@ -6570,6 +9649,30 @@ msgstr "File non valido, non è una risorsa PackedScene."
msgid "Reload the scene to reflect its most actual state."
msgstr "Ricarica la scena per riflettere i suo stato più reale."
+msgid "%s (ID: %d)"
+msgstr "%s (ID: %d)"
+
+msgid "Reset Polygons"
+msgstr "Reimposta dei poligoni"
+
+msgid "Clear Polygons"
+msgstr "Pulisci dei poligoni"
+
+msgid "Rotate Polygons Right"
+msgstr "Ruota dei poligoni a destra"
+
+msgid "Rotate Polygons Left"
+msgstr "Ruota dei poligoni a sinistra"
+
+msgid "Flip Polygons Horizontally"
+msgstr "Ribalta dei poligoni orizzontalmente"
+
+msgid "Flip Polygons Vertically"
+msgstr "Ribalta dei poligoni verticalmente"
+
+msgid "Edit Polygons"
+msgstr "Modifica dei poligoni"
+
msgid "Rotate Right"
msgstr "Ruota a destra"
@@ -6582,15 +9685,244 @@ msgstr "Ribalta orizzontalmente"
msgid "Flip Vertically"
msgstr "Ribalta verticalmente"
+msgid "No terrains"
+msgstr "Nessun terreno"
+
+msgid "No terrain"
+msgstr "Nessun terreno"
+
+msgid "Move tiles"
+msgstr "Muovi i tasselli"
+
+msgid "Paint tiles"
+msgstr "Disegna i tasselli"
+
+msgid "Paste tiles"
+msgstr "Incolla i tasselli"
+
+msgid "Paint"
+msgstr "Disegna"
+
+msgid "Shift: Draw line."
+msgstr "Maiusc: Disegna una linea."
+
+msgid "Shift+Ctrl: Draw rectangle."
+msgstr "Shift+Ctrl: Disegna un rettangolo."
+
+msgid "Alternatively hold Ctrl with other tools to pick tile."
+msgstr ""
+"In alternativa, tenere premuto Ctrl con altri strumenti per prelevare un "
+"tassello."
+
+msgid "Alternatively use RMB to erase tiles."
+msgstr "In alternativa, utilizzare RMB per cancellare dei tasselli."
+
+msgid "Place Random Tile"
+msgstr "Piazza un tassello casuale"
+
+msgid "Scattering:"
+msgstr "Dispersione:"
+
+msgid "Tiles"
+msgstr "Tasselli"
+
+msgid "Sort sources"
+msgstr "Ordina le sorgenti"
+
+msgid "Sort by ID (Ascending)"
+msgstr "Ordina per ID (crescente)"
+
+msgid "Sort by ID (Descending)"
+msgstr "Ordina per ID (decrescente)"
+
+msgid "Invalid source selected."
+msgstr "Sorgente non valida selezionata."
+
+msgid "Paint terrain"
+msgstr "Disegna il terreno"
+
+msgid "Matches Corners Only"
+msgstr "Abbina solo agli angoli"
+
+msgid "Matches Sides Only"
+msgstr "Abbina solo ai lati"
+
+msgid ""
+"Connect mode: paints a terrain, then connects it with the surrounding tiles "
+"with the same terrain."
+msgstr ""
+"Modalità di connessione: disegna un terreno, poi lo connette coi tasselli "
+"circostanti con lo stesso terreno."
+
+msgid ""
+"Path mode: paints a terrain, thens connects it to the previous tile painted "
+"within the same stroke."
+msgstr ""
+"Modalità percorso: disegna un terreno, poi lo connette al tassello "
+"precedente disegnato con lo stesso tratto."
+
+msgid "No Layers"
+msgstr "Nessun livello"
+
+msgid "Select Next Tile Map Layer"
+msgstr "Seleziona il prossimo livello della mappa dei tasselli"
+
+msgid "Select Previous Tile Map Layer"
+msgstr "Seleziona il livello precedente della mappa dei tasselli"
+
+msgid "TileMap Layers"
+msgstr "Livelli della mappa dei tasselli"
+
+msgid "Highlight Selected TileMap Layer"
+msgstr "Seleziona il livello della mappa dei tasselli selezionata"
+
+msgid "Toggle grid visibility."
+msgstr "Commuta la visibilità della griglia."
+
+msgid "The edited TileMap node has no TileSet resource."
+msgstr "Il nodo TileMap modificato non ha alcuna risorsa TileSet."
+
msgid "Atlas"
msgstr "Atlas"
+msgid ""
+"Selected tile:\n"
+"Source: %d\n"
+"Atlas coordinates: %s\n"
+"Alternative: %d"
+msgstr ""
+"Tassello selezionato:\n"
+"Sorgente: %d\n"
+"Coordinate dell'atlas: %s\n"
+"Alternativa: %d"
+
+msgid "Select a property editor"
+msgstr "Seleziona un editor delle proprietà"
+
+msgid "Create tiles"
+msgstr "Crea dei tasselli"
+
+msgid "Create a tile"
+msgstr "Crea un tassello"
+
+msgid "Remove tiles"
+msgstr "Rimuovi dei tasselli"
+
+msgid "Move a tile"
+msgstr "Muovi un tassello"
+
+msgid "Select tiles"
+msgstr "Seleziona dei tasselli"
+
+msgid "Resize a tile"
+msgstr "Ridimensiona un tassello"
+
+msgid "Remove tile"
+msgstr "Rimuovi un tassello"
+
+msgid "Create tile alternatives"
+msgstr "Crea delle alternative a un tassello"
+
+msgid "Create tiles in non-transparent texture regions"
+msgstr "Crea dei tasselli nelle regioni opache della texture"
+
+msgid "Remove tiles in fully transparent texture regions"
+msgstr ""
+"Rimuovi i tasselli nelle regioni completemante trasparenti della texture"
+
+msgid "Setup"
+msgstr "Configura"
+
+msgid ""
+"Atlas setup. Add/Remove tiles tool (use the shift key to create big tiles, "
+"control for rectangle editing)."
+msgstr ""
+"Configurazione dell'atlas. Strumento aggiungi/rimuovi tasselli (utilizzare "
+"il tasto Maiusc per creare dei tasselli grandi, Ctrl per la modifica dei "
+"rettangoli)."
+
+msgid "Select tiles."
+msgstr "Seleziona dei tasselli."
+
+msgid "Paint properties."
+msgstr "Proprietà di disegno."
+
+msgid "No tiles selected."
+msgstr "Nessun tassello selezionato."
+
+msgid "Paint Properties:"
+msgstr "Proprietà di disegno:"
+
+msgid "Create Tiles in Non-Transparent Texture Regions"
+msgstr "Crea dei tasselli nelle regioni opache della texture"
+
+msgid "Remove Tiles in Fully Transparent Texture Regions"
+msgstr ""
+"Rimuovi i tasselli nelle regioni completamente trasparenti della texture"
+
+msgid "Create an Alternative Tile"
+msgstr "Crea un tassello alternativo"
+
+msgid "Create a Tile"
+msgstr "Crea un tassello"
+
+msgid "Auto Create Tiles in Non-Transparent Texture Regions?"
+msgstr "Auto creare dei tasselli nelle regioni opache nella texture?"
+
+msgid ""
+"The atlas's texture was modified.\n"
+"Would you like to automatically create tiles in the atlas?"
+msgstr ""
+"La texture dell'atlas è stata modificata.\n"
+"Creare automaticamente i tasselli nell'atlas?"
+
msgid "Yes"
msgstr "Sì"
+msgid "No"
+msgstr "No"
+
+msgid "Add a new atlas source"
+msgstr "Aggiungi una nuova sorgente dell'atlas"
+
+msgid "Remove source"
+msgstr "Rimuovi una sorgente"
+
+msgid "Add atlas source"
+msgstr "Aggiungi una sorgente dell'atlas"
+
+msgid "Sort Sources"
+msgstr "Ordina i sorgenti"
+
+msgid "Open Atlas Merging Tool"
+msgstr "Apri lo strumento di fusione degli atlas"
+
+msgid "No TileSet source selected. Select or create a TileSet source."
+msgstr ""
+"Nessuna sorgente TileSet selezionata. Selezionare o creare una fonte TileSet."
+
+msgid "Add a Scene Tile"
+msgstr "Aggiungi un tassello scena"
+
+msgid "Remove a Scene Tile"
+msgstr "Rimuovi un tassello scena"
+
+msgid "Tile properties:"
+msgstr "Proprietà del tassello:"
+
msgid "TileSet"
msgstr "TileSet"
+msgid "TileMap"
+msgstr "TileMap"
+
+msgid ""
+"No VCS plugins are available in the project. Install a VCS plugin to use VCS "
+"integration features."
+msgstr ""
+"Non è disponibile alcuna estensione VCS nel progetto. Installare "
+"un'estensione VCS o utilizzare le funzionalità di integrazione coi VCS."
+
msgid "Error"
msgstr "Errore"
@@ -6603,6 +9935,12 @@ msgstr ""
msgid "Commit"
msgstr "Commit"
+msgid "Open in editor"
+msgstr "Apri nell'editor"
+
+msgid "Discard changes"
+msgstr "Annulla tutte le modifiche"
+
msgid "Staged Changes"
msgstr "Cambiamenti Graduali"
@@ -6624,9 +9962,24 @@ msgstr "Vuo rimuovere il ramo %s?"
msgid "Do you want to remove the %s remote?"
msgstr "Vuoi rimuovere il %s remoto?"
+msgid "Create VCS metadata files for:"
+msgstr "Crea dei file di metadati VCS per:"
+
+msgid "Existing VCS metadata files will be overwritten."
+msgstr "I file di metadati VCS esistenti verranno sovrascritti."
+
+msgid "Local Settings"
+msgstr "Impostazioni del locale"
+
msgid "Apply"
msgstr "Applica"
+msgid "VCS Provider"
+msgstr "Fornitore VCS"
+
+msgid "Connect to VCS"
+msgstr "Connetti al VCS"
+
msgid "Remote Login"
msgstr "Login da Remoto"
@@ -6657,6 +10010,14 @@ msgstr "Rileva nuove modifiche"
msgid "Discard all changes"
msgstr "Annulla tutte le modifiche"
+msgid "This operation is IRREVERSIBLE. Your changes will be deleted FOREVER."
+msgstr ""
+"Questa operazione è IRREVERSIBILE. Qualsiasi cambiamento verrà eliminato PER "
+"SEMPRE."
+
+msgid "Permanentally delete my changes"
+msgstr "Cancella permanentemente le modifiche"
+
msgid "Stage all changes"
msgstr "Applica tutte le modifiche"
@@ -6708,6 +10069,9 @@ msgstr "Fetch"
msgid "Pull"
msgstr "Pull"
+msgid "Push"
+msgstr "Carica"
+
msgid "Force Push"
msgstr "Forza Push"
@@ -6726,6 +10090,10 @@ msgstr "Cambio di tipo"
msgid "Unmerged"
msgstr "Non combinato"
+msgid "View file diffs before committing them to the latest version"
+msgstr ""
+"Visualizza le differenze dei file prima di commissionarle all'ultima versione"
+
msgid "View:"
msgstr "Vista:"
@@ -6765,36 +10133,160 @@ msgstr "Aggiungi Input"
msgid "Add Output"
msgstr "Aggiungi Ouput"
+msgid "Float"
+msgstr "Float"
+
+msgid "Int"
+msgstr "Int"
+
+msgid "UInt"
+msgstr "UInt"
+
+msgid "Vector2"
+msgstr "Vector2"
+
+msgid "Vector3"
+msgstr "Vector3"
+
+msgid "Vector4"
+msgstr "Vector4"
+
msgid "Boolean"
msgstr "Booleano"
msgid "Sampler"
msgstr "Sampler"
+msgid "[default]"
+msgstr "[predefinito]"
+
+msgid ""
+"The 2D preview cannot correctly show the result retrieved from instance "
+"parameter."
+msgstr ""
+"L'anteprima 2D non può mostrare correttamente il risultato prelevato dal "
+"parametro dell'istanza."
+
msgid "Add Input Port"
msgstr "Aggiungi Porta Input"
msgid "Add Output Port"
msgstr "Aggiungi Porta Output"
+msgid "Change Input Port Type"
+msgstr "Cambia il tipo di una porta d'ingresso"
+
+msgid "Change Output Port Type"
+msgstr "Cambia il tipo di una porta di uscita"
+
+msgid "Change Input Port Name"
+msgstr "Cambia il nome di una porta d'ingresso"
+
+msgid "Change Output Port Name"
+msgstr "Cambia il nome di una porta di uscita"
+
+msgid "Expand Output Port"
+msgstr "Espandi una porta di uscita"
+
+msgid "Shrink Output Port"
+msgstr "Restringi una porta di uscita"
+
msgid "Remove Input Port"
msgstr "Rimuovi Porta Input"
msgid "Remove Output Port"
msgstr "Rimuovi Porta Output"
+msgid "Set VisualShader Expression"
+msgstr "Imposta un'espressione di un VisualShader"
+
+msgid "Resize VisualShader Node"
+msgstr "Ridimensiona un nodo VisualShader"
+
+msgid "Hide Port Preview"
+msgstr "Nascondi l'anteprima della porta"
+
+msgid "Show Port Preview"
+msgstr "Mostra l'anteprima della porta"
+
+msgid "Set Comment Node Title"
+msgstr "Imposta il titolo di un nodo commento"
+
+msgid "Set Comment Node Description"
+msgstr "Imposta la descrizione di un nodo commento"
+
+msgid "Set Parameter Name"
+msgstr "Imposta il nome di un parametro"
+
msgid "Set Input Default Port"
msgstr "Imposta Porta Input Predefinita"
msgid "Add Node to Visual Shader"
msgstr "Aggiungi Nodo a Visual Shader"
+msgid "Add Varying to Visual Shader: %s"
+msgstr "Aggiungi un variante allo shader visuale: %s"
+
+msgid "Remove Varying from Visual Shader: %s"
+msgstr "Rimouvi un variante dallo shader visuale: %s"
+
msgid "Node(s) Moved"
msgstr "Nodo(i) Spostato(i)"
+msgid "Convert Constant Node(s) To Parameter(s)"
+msgstr "Converti dei nodi costanti a dei parametri"
+
+msgid "Convert Parameter Node(s) To Constant(s)"
+msgstr "Converti nei nodi parametri a delle costanti"
+
+msgid "Delete VisualShader Node"
+msgstr "Cancella un nodo VisualShader"
+
+msgid "Delete VisualShader Node(s)"
+msgstr "Cancella dei nodi VisualShader"
+
+msgid "Float Constants"
+msgstr "Costanti float"
+
+msgid "Convert Constant(s) to Parameter(s)"
+msgstr "Converti delle costanti in parametri"
+
+msgid "Convert Parameter(s) to Constant(s)"
+msgstr "Converti dei parametri in costanti"
+
+msgid "Set Comment Title"
+msgstr "Imposta il titolo di un commento"
+
+msgid "Set Comment Description"
+msgstr "Imposta la descrizione di un commento"
+
+msgid "Duplicate VisualShader Node(s)"
+msgstr "Duplica dei nodi VisualShader"
+
+msgid "Paste VisualShader Node(s)"
+msgstr "Incolla dei nodi VisualShader"
+
+msgid "Cut VisualShader Node(s)"
+msgstr "Taglia dei nodi VisualShader"
+
msgid "Visual Shader Input Type Changed"
msgstr "Tipo di Input Visual Shader Cambiato"
+msgid "Varying Name Changed"
+msgstr "Nome di una variante modificato"
+
+msgid "Set Constant: %s"
+msgstr "Imposta una costante: %s"
+
+msgid "Invalid name for varying."
+msgstr "Nome non valido per una variante."
+
+msgid "Varying with that name is already exist."
+msgstr "Una variante con quel nome esiste già."
+
+msgid "Add Node(s) to Visual Shader"
+msgstr "Aggiungi dei nodi a uno shader visivo"
+
msgid "Vertex"
msgstr "Vertice"
@@ -6813,6 +10305,12 @@ msgstr "Cielo"
msgid "Fog"
msgstr "Nebbia"
+msgid "Manage Varyings"
+msgstr "Gestisci i varianti"
+
+msgid "Add Varying"
+msgstr "Aggiungi un variante"
+
msgid "Add Node"
msgstr "Aggiungi Nodo"
@@ -6938,12 +10436,53 @@ msgstr "Parametro di input \"%s\" per le modalità shader frammento e luce."
msgid "'%s' input parameter for fragment shader mode."
msgstr "Parametro di input \"%s\" per la modalità shader frammento."
+msgid "'%s' input parameter for sky shader mode."
+msgstr "Parametro d'ingresso \"%s\" per la modalità cielo dello shader."
+
+msgid "'%s' input parameter for fog shader mode."
+msgstr "Parametro d'ingresso \"%s\" per la modalità nebbia dello shader."
+
msgid "'%s' input parameter for light shader mode."
msgstr "Parametro di input \"%s\" per la modalità shader luce."
msgid "'%s' input parameter for vertex shader mode."
msgstr "Parametro di input \"%s\" per la modalità shader vertice."
+msgid "'%s' input parameter for start shader mode."
+msgstr "Parametro d'ingresso \"%s\" per la modalità inizio dello shader."
+
+msgid "'%s' input parameter for process shader mode."
+msgstr ""
+"Parametro d'ingresso \"%s\" per la modalità di elaborazione dello shader."
+
+msgid "'%s' input parameter for start and process shader modes."
+msgstr ""
+"Parametro d'ingresso \"%s\" per la modalità inizio e di elaborazione dello "
+"shader."
+
+msgid "'%s' input parameter for process and collide shader modes."
+msgstr ""
+"Parametro d'ingresso \"%s\" per la modalità di elaborazione e collisione "
+"dello shader."
+
+msgid "Float function."
+msgstr "Funzione float."
+
+msgid "Float operator."
+msgstr "Operatore float."
+
+msgid "Integer function."
+msgstr "Funzione intera."
+
+msgid "Integer operator."
+msgstr "Operatore intero."
+
+msgid "Unsigned integer function."
+msgstr "Funzione intera senza segno."
+
+msgid "Unsigned integer operator."
+msgstr "Operatore intero senza segno."
+
msgid "Returns the absolute value of the parameter."
msgstr "Restituisce il valore assoluto del parametro."
@@ -6968,6 +10507,15 @@ msgstr "Restituisce l'arco-tangente dei parametri."
msgid "Returns the inverse hyperbolic tangent of the parameter."
msgstr "Restituisce l'inversa della tangente iperbolica del parametro."
+msgid "Returns the result of bitwise NOT (~a) operation on the integer."
+msgstr "Restituisce il risultato dell'operazione bit NOT (~a) sull'intero."
+
+msgid ""
+"Returns the result of bitwise NOT (~a) operation on the unsigned integer."
+msgstr ""
+"Restituisce il risultato dell'operazione bit NOT (~a) sull'intero senza "
+"segno."
+
msgid ""
"Finds the nearest integer that is greater than or equal to the parameter."
msgstr ""
@@ -7106,12 +10654,139 @@ msgstr "Restituisce la tangente iperbolica del parametro."
msgid "Finds the truncated value of the parameter."
msgstr "Trova il valore troncato del parametro."
+msgid "Sums two floating-point scalars."
+msgstr "Somma due scalari a virgola mobile."
+
+msgid "Sums two integer scalars."
+msgstr "Somma due scalari interi."
+
+msgid "Sums two unsigned integer scalars."
+msgstr "Somma due scalari interi senza segno."
+
+msgid "Returns the result of bitwise AND (a & b) operation for two integers."
+msgstr ""
+"Restituisce il risultato dell'operazione bit a bit AND (a & b) tra due "
+"interi."
+
+msgid ""
+"Returns the result of bitwise AND (a & b) operation for two unsigned "
+"integers."
+msgstr ""
+"Restituisce il risultato dell'operazione bit a bit AND (a & b) tra due "
+"interi senza segno."
+
+msgid ""
+"Returns the result of bitwise left shift (a << b) operation on the integer."
+msgstr ""
+"Restituisce il risultato dell'operazione bit a bit di scostamento a sinistra "
+"(a << b) sull'intero."
+
+msgid ""
+"Returns the result of bitwise left shift (a << b) operation on the unsigned "
+"integer."
+msgstr ""
+"Restituisce il risultato dell'operazione bit a bit di scostamento a sinistra "
+"(a << b) sull'intero senza segno."
+
+msgid "Returns the result of bitwise OR (a | b) operation for two integers."
+msgstr ""
+"Restituisce il risultato dell'operazione bit a bit OR (a | b) tra due interi."
+
+msgid ""
+"Returns the result of bitwise OR (a | b) operation for two unsigned integers."
+msgstr ""
+"Restituisce il risultato dell'operazione bit a bit OR (a | b) tra due interi "
+"senza segno."
+
+msgid ""
+"Returns the result of bitwise right shift (a >> b) operation on the integer."
+msgstr ""
+"Restituisce il risultato dell'operazione bit a bit di scostamento a destra "
+"(a >> b) sull'intero."
+
+msgid ""
+"Returns the result of bitwise right shift (a >> b) operation on the unsigned "
+"integer."
+msgstr ""
+"Restituisce il risultato dell'operazione bit a bit di scostamento a destra "
+"(a >> b) sull'intero senza segno."
+
+msgid "Returns the result of bitwise XOR (a ^ b) operation on the integer."
+msgstr ""
+"Restituisce il risultato dell'operazione bit a bit XOR (a ^ b) sull'intero."
+
+msgid ""
+"Returns the result of bitwise XOR (a ^ b) operation on the unsigned integer."
+msgstr ""
+"Restituisce il risultato dell'operazione bit a bit XOR (a ^ b) sull'intero "
+"senza segno."
+
+msgid "Divides two floating-point scalars."
+msgstr "Divide due scalari a virgola mobile."
+
+msgid "Divides two integer scalars."
+msgstr "Divide due scalari interi."
+
+msgid "Divides two unsigned integer scalars."
+msgstr "Divide due scalari interi senza segno."
+
+msgid "Multiplies two floating-point scalars."
+msgstr "Moltiplica due scalari a virgola mobile."
+
+msgid "Multiplies two integer scalars."
+msgstr "Moltiplica due scalari interi."
+
+msgid "Multiplies two unsigned integer scalars."
+msgstr "Moltiplica due scalari interi senza segno."
+
+msgid "Returns the remainder of the two floating-point scalars."
+msgstr "Restituisce il resto dei due scalari a virgola mobile."
+
+msgid "Returns the remainder of the two integer scalars."
+msgstr "Restituisce il resto dei due scalari interi."
+
+msgid "Returns the remainder of the two unsigned integer scalars."
+msgstr "Restituisce il resto dei due scalari interi senza segno."
+
+msgid "Subtracts two floating-point scalars."
+msgstr "Sottrae due scalari a virgola mobile."
+
+msgid "Subtracts two integer scalars."
+msgstr "Sottrae due scalari interi."
+
+msgid "Subtracts two unsigned integer scalars."
+msgstr "Sottrae due scalari interi senza segno."
+
+msgid "Scalar floating-point constant."
+msgstr "Costante scalare a virgola mobile."
+
+msgid "Scalar integer constant."
+msgstr "Costante scalare intera."
+
+msgid "Scalar unsigned integer constant."
+msgstr "Costante scalare intera senza segno."
+
+msgid "Scalar floating-point parameter."
+msgstr "Parametro scalare a virgola mobile."
+
+msgid "Scalar integer parameter."
+msgstr "Parametro scalare intero."
+
+msgid "Scalar unsigned integer parameter."
+msgstr "Parametro scalare intero senza segno."
+
msgid "Perform the cubic texture lookup."
msgstr "Esegue la ricerca di texture cubiche."
+msgid "Perform the 3D texture lookup."
+msgstr "Esegue la ricerca di texture 3D."
+
msgid "Transform function."
msgstr "Funzione di trasformazione."
+msgid "Transform operator."
+msgstr "Operatore di trasformazione."
+
msgid ""
"Calculate the outer product of a pair of vectors.\n"
"\n"
@@ -7145,18 +10820,68 @@ msgstr "Calcola l'inverso di una trasformazione."
msgid "Calculates the transpose of a transform."
msgstr "Calcola la trasposizione di una trasformazione."
+msgid "Sums two transforms."
+msgstr "Somma due trasformazioni."
+
+msgid "Divides two transforms."
+msgstr "Divide due trasformazioni."
+
+msgid "Multiplies two transforms."
+msgstr "Moltiplica due trasformazioni."
+
+msgid "Performs per-component multiplication of two transforms."
+msgstr "Esegue la moltiplicazione per componente di due trasformazioni."
+
+msgid "Subtracts two transforms."
+msgstr "Sottrae due trasformazioni."
+
msgid "Multiplies vector by transform."
msgstr "Moltiplica il vettore per la trasformazione."
msgid "Transform constant."
msgstr "Costante transform."
+msgid "Transform parameter."
+msgstr "Parametro di trasformazione."
+
+msgid "Returns a random value between the minimum and maximum input values."
+msgstr ""
+"Restituisce un valore casuale incluso tra i valori minimi e massimi "
+"d'ingresso."
+
+msgid "Remaps a given input from the input range to the output range."
+msgstr "Rimappa un valore dato dall'intervallo d'ingresso a quello di uscita."
+
msgid "Vector function."
msgstr "Funzione vettore."
msgid "Vector operator."
msgstr "Operatore vettore."
+msgid "Composes vector from scalars."
+msgstr "Compone un valore da degli scalari."
+
+msgid "Decomposes vector to scalars."
+msgstr "Decompone un vettore in degli scalari."
+
+msgid "Composes 2D vector from two scalars."
+msgstr "Compone un vettore 2D da due scalari."
+
+msgid "Decomposes 2D vector to two scalars."
+msgstr "Scompone un vettore 2D in due scalari."
+
+msgid "Composes 3D vector from three scalars."
+msgstr "Compone un vettore 3D da tre scalari."
+
+msgid "Decomposes 3D vector to three scalars."
+msgstr "Scompone un vettore 3D in tre scalari."
+
+msgid "Composes 4D vector from four scalars."
+msgstr "Compone un vettore 4D da quattro scalari."
+
+msgid "Decomposes 4D vector to four scalars."
+msgstr "Scompone un vettore 4D in quattro scalari."
+
msgid "Calculates the cross product of two vectors."
msgstr "Calcola il prodotto vettoriale di due vettori."
@@ -7278,6 +11003,75 @@ msgstr ""
"(Solo in modalità Fragment/Light) (Vettore) Somma delle derivate assolute in "
"\"x\" e \"y\"."
+msgid "Adds 2D vector to 2D vector."
+msgstr "Aggiunge un vettore 2D a un vettore 2D."
+
+msgid "Adds 3D vector to 3D vector."
+msgstr "Aggiunge un vettore 3D a un vettore 3D."
+
+msgid "Adds 4D vector to 4D vector."
+msgstr "Aggiunge un vettore 4D a un vettore 4D."
+
+msgid "Divides 2D vector by 2D vector."
+msgstr "Divide un vettore 2D per un vettore 2D."
+
+msgid "Divides 3D vector by 3D vector."
+msgstr "Divide un vettore 3D per un vettore 3D."
+
+msgid "Divides 4D vector by 4D vector."
+msgstr "Divide un vettore 4D per un vettore 4D."
+
+msgid "Multiplies 2D vector by 2D vector."
+msgstr "Moltiplica un vettore 2D per un vettore 2D."
+
+msgid "Multiplies 3D vector by 3D vector."
+msgstr "Moltiplica un vettore 3D per un vettore 3D."
+
+msgid "Multiplies 4D vector by 4D vector."
+msgstr "Moltiplica un vettore 4D per un vettore 4D."
+
+msgid "Returns the remainder of the two 2D vectors."
+msgstr "Restituisce il resto di due vettori 2D."
+
+msgid "Returns the remainder of the two 3D vectors."
+msgstr "Restituisce il resto di due vettori 3D."
+
+msgid "Returns the remainder of the two 4D vectors."
+msgstr "Restituisce il resto di due vettori 4D."
+
+msgid "Subtracts 2D vector from 2D vector."
+msgstr "Sottrae un vettore 2D da un vettore 2D."
+
+msgid "Subtracts 3D vector from 3D vector."
+msgstr "Sottrae un vettore 3D da un vettore 3D."
+
+msgid "Subtracts 4D vector from 4D vector."
+msgstr "Sottrae un vettore 4D da un vettore 4D."
+
+msgid "2D vector constant."
+msgstr "Costante vettore 2D."
+
+msgid "2D vector parameter."
+msgstr "Parametro vettore 2D."
+
+msgid "3D vector constant."
+msgstr "Costante vettore 3D."
+
+msgid "3D vector parameter."
+msgstr "Parametro vettore 3D."
+
+msgid "4D vector constant."
+msgstr "Costante vettore 4D."
+
+msgid "4D vector parameter."
+msgstr "Parametro vettore 4D."
+
+msgid ""
+"A rectangular area with a description string for better graph organization."
+msgstr ""
+"Un'area rettangolare con una stringa di descrizione per un'organizzazione "
+"migliore del grafo."
+
msgid ""
"Custom Godot Shader Language expression, with custom amount of input and "
"output ports. This is a direct injection of code into the vertex/fragment/"
@@ -7288,12 +11082,41 @@ msgstr ""
"nella funzione vertex/fragment/light, non usarla per scrivere dichiarazioni "
"di funzioni al suo interno."
+msgid ""
+"Custom Godot Shader Language expression, which is placed on top of the "
+"resulted shader. You can place various function definitions inside and call "
+"it later in the Expressions. You can also declare varyings, parameters and "
+"constants."
+msgstr ""
+"Espressione personalizzata per il Godot Shader Language, la quale sarà posta "
+"in cima allo shader risultante. È possibile piazzare varie definizioni di "
+"funzioni all'interno e chiamarla in seguito nelle espressioni. È possibile "
+"anche dichiarare varianti, uniformi e costanti."
+
+msgid "A reference to an existing parameter."
+msgstr "Un riferimento a parametro esistente."
+
msgid "Edit Visual Property:"
msgstr "Modifica Proprietà Visive:"
msgid "Visual Shader Mode Changed"
msgstr "Modalità Visual Shader Cambiata"
+msgid "Voxel GI data is not local to the scene."
+msgstr "I dati GI Voxel non sono locali alla scena."
+
+msgid "Voxel GI data is part of an imported resource."
+msgstr "I dati GI Voxel fanno parte di una risorsa importata."
+
+msgid "Voxel GI data is an imported resource."
+msgstr "I dati GI Voxel sono una risorsa importata."
+
+msgid "Bake VoxelGI"
+msgstr "Cuoci VoxelGI"
+
+msgid "Select path for VoxelGI Data File"
+msgstr "Selezionare un percorso per il file di dati VoxelGI"
+
msgid "The path specified doesn't exist."
msgstr "Il percorso specificato non esiste."
@@ -7315,8 +11138,15 @@ msgstr "Si prega di scegliere un file \"project.godot\" o \".zip\"."
msgid "This directory already contains a Godot project."
msgstr "Questa cartella contiene già un progetto Godot."
+msgid ""
+"The selected path is not empty. Choosing an empty folder is highly "
+"recommended."
+msgstr ""
+"Il percorso selezionato non è vuoto. Selezionare una cartella vuota è "
+"altamente consigliato."
+
msgid "New Game Project"
-msgstr "Nuovo Progetto di Gioco"
+msgstr "Nuovo progetto di gioco"
msgid "Imported Project"
msgstr "Progetto Importato"
@@ -7333,12 +11163,81 @@ msgstr "Esiste già una cartella in questo percorso con il nome specificato."
msgid "It would be a good idea to name your project."
msgstr "Sarebbe una buona idea dare un nome al tuo progetto."
+msgid "Supports desktop platforms only."
+msgstr "Supporta solo le piattaforme desktop."
+
+msgid "Advanced 3D graphics available."
+msgstr "Grafica 3D avanzata disponibile."
+
+msgid "Can scale to large complex scenes."
+msgstr "Può adattarsi a grandi scene complesse."
+
+msgid "Uses RenderingDevice backend."
+msgstr "Utilizza un backend RenderingDevice."
+
+msgid "Slower rendering of simple scenes."
+msgstr "Elaborazione più lenta di scene semplici."
+
+msgid "Supports desktop + mobile platforms."
+msgstr "Supporta le piattaforme desktop e mobili."
+
+msgid "Less advanced 3D graphics."
+msgstr "Grafica 3D meno avanzata."
+
+msgid "Less scalable for complex scenes."
+msgstr "Meno adattabile per scene complesse."
+
+msgid "Fast rendering of simple scenes."
+msgstr "Elaborazione rapida di scene semplici."
+
+msgid "Supports desktop, mobile + web platforms."
+msgstr "Supporta le piattaforme desktop, mobili e web."
+
+msgid "Least advanced 3D graphics (currently work-in-progress)."
+msgstr "Grafica 3D minimamente avanzata (attualmente in lavorazione)."
+
+msgid "Intended for low-end/older devices."
+msgstr "Progettato per dispositivi di fascia bassa o più vecchi."
+
+msgid "Uses OpenGL 3 backend (OpenGL 3.3/ES 3.0/WebGL2)."
+msgstr "Utilizza un backend OpenGL3 (OpenGL 3.3/ES 3.0/WebGL2)."
+
+msgid "Fastest rendering of simple scenes."
+msgstr "Elaborazione velocissima di scene semplici."
+
msgid "Invalid project path (changed anything?)."
msgstr "Percorso del progetto invalido (cambiato qualcosa?)."
+msgid ""
+"Couldn't load project at '%s' (error %d). It may be missing or corrupted."
+msgstr ""
+"Impossibile caricare il progetto in \"%s\" (errore %d). Potrebbe essere "
+"mancante o corrotto."
+
+msgid "Couldn't save project at '%s' (error %d)."
+msgstr "Impossibile salvare il progetto in \"%s\" (errore %d)."
+
+msgid "Warning: This folder is not empty"
+msgstr "Attenzione: questa cartella non è vuota"
+
+msgid ""
+"You are about to create a Godot project in a non-empty folder.\n"
+"The entire contents of this folder will be imported as project resources!\n"
+"\n"
+"Are you sure you wish to continue?"
+msgstr ""
+"Sta per essere creato un progetto di Godot in una cartella non vuota.\n"
+"Tutto il contenuto di questa cartella verrà importata come una risorsa del "
+"progetto!\n"
+"\n"
+"Sicuri di continuare?"
+
msgid "Couldn't create project.godot in project path."
msgstr "Impossibile creare project.godot nel percorso del progetto."
+msgid "Couldn't create icon.svg in project path."
+msgstr "Impossibile creare icon.svg nel percorso del progetto."
+
msgid "Error opening package file, not in ZIP format."
msgstr "Errore nell'apertura del file del pacchetto, non è in formato ZIP."
@@ -7358,7 +11257,7 @@ msgid "Import & Edit"
msgstr "Importa e Modifica"
msgid "Create New Project"
-msgstr "Crea Nuovo Progetto"
+msgstr "Crea un nuovo progetto"
msgid "Create & Edit"
msgstr "Crea e Modifica"
@@ -7381,6 +11280,17 @@ msgstr "Percorso Installazione del Progetto:"
msgid "Renderer:"
msgstr "Renderer:"
+msgid "The renderer can be changed later, but scenes may need to be adjusted."
+msgstr ""
+"Il renderer può essere cambiato in seguito, ma potrebbe essere necessario "
+"rivedere le scene."
+
+msgid "Version Control Metadata:"
+msgstr "Metadati di controllo della versione:"
+
+msgid "Git"
+msgstr "Git"
+
msgid "Missing Project"
msgstr "Progetto Mancante"
@@ -7400,6 +11310,159 @@ msgid "Can't open project at '%s'."
msgstr "Impossibile aprire il progetto a \"%s\"."
msgid ""
+"You requested to open %d projects in parallel. Do you confirm?\n"
+"Note that usual checks for engine version compatibility will be bypassed."
+msgstr ""
+"È stato richiesto di aprire %d progetti in parallelo. Confermare?\n"
+"Nota che i soliti controlli per la compatibilità della versione del motore "
+"verranno saltati."
+
+msgid ""
+"The selected project \"%s\" does not specify its supported Godot version in "
+"its configuration file (\"project.godot\").\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"If you proceed with opening it, it will be converted to Godot's current "
+"configuration file format.\n"
+"\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+"Il progetto \"%s\" selezionato non specifica la sua versione di Godot "
+"compatibile nel suo file di configurazione (\"project.godot\").\n"
+"\n"
+"Percorso del progetto: %s\n"
+"\n"
+"Se si procede con l'apertura, esso verrà convertito al formato attuale di "
+"configurazione di Godot.\n"
+"\n"
+"Attenzione: Non sarà più possibile aprire il progetto con una versione "
+"precedente del motore."
+
+msgid ""
+"The selected project \"%s\" was generated by Godot 3.x, and needs to be "
+"converted for Godot 4.x.\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"You have three options:\n"
+"- Convert only the configuration file (\"project.godot\"). Use this to open "
+"the project without attempting to convert its scenes, resources and "
+"scripts.\n"
+"- Convert the entire project including its scenes, resources and scripts "
+"(recommended if you are upgrading).\n"
+"- Do nothing and go back.\n"
+"\n"
+"Warning: If you select a conversion option, you won't be able to open the "
+"project with previous versions of the engine anymore."
+msgstr ""
+"Il progetto \"%s\" selezionato non è stato generato da Godot 4.x e a bisogno "
+"di essere convertito per Godot 4.x.\n"
+"\n"
+"Percorso del progetto: %s\n"
+"\n"
+"Sono disponibili tre opzioni:\n"
+"- Convertire solo il file di confgurazione (\"project.godot\"). Utilizzare "
+"quest'opzione per aprire il progetto senza tentare di convertire le sue "
+"scene, risorse e script.\n"
+"- Convertire l'intero progetto incluse le sue scene, risorse e script "
+"(raccomandato durante un'aggiornamento).\n"
+"- Non fare nulla e tornare indietro.\n"
+"\n"
+"Attenzione: Se viene selezionata un'opzione di conversione, non sarà più "
+"possibile aprire il progetto con una versione precedente del motore."
+
+msgid "Convert project.godot Only"
+msgstr "Convertire solo project.godot"
+
+msgid ""
+"The selected project \"%s\" was generated by an older engine version, and "
+"needs to be converted for this version.\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"Do you want to convert it?\n"
+"\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+"Il progetto \"%s\" selezionato è stato generato da una versione del motore "
+"più vecchia e ha bisogno di essere convertita a questa versione.\n"
+"\n"
+"Percorso del progetto: %s\n"
+"\n"
+"Convertirlo?\n"
+"\n"
+"Attenzione: Non sarà più possibile aprire il progetto con una versione "
+"precedente del motore."
+
+msgid "Convert project.godot"
+msgstr "Convertire project.godot"
+
+msgid ""
+"Can't open project \"%s\" at the following path:\n"
+"\n"
+"%s\n"
+"\n"
+"The project settings were created by a newer engine version, whose settings "
+"are not compatible with this version."
+msgstr ""
+"Impossibile aprire il progetto \"%s\" nel percorso seguente:\n"
+"\n"
+"%s\n"
+"\n"
+"Le impostazioni del progetto sono state create da una versione del motore "
+"più nuova, le impostazioni della quale non sono più compatibili con questa."
+
+msgid ""
+"Warning: This project uses double precision floats, but this version of\n"
+"Godot uses single precision floats. Opening this project may cause data "
+"loss.\n"
+"\n"
+msgstr ""
+"Attenzione: questo progetto utilizza numeri a virgola mobile a doppia "
+"precisione, ma questa versione di\n"
+"Godot utilizza numeri a virgola mobile a precisione singola. Aprire questo "
+"progetto potrebbe causare una perdita di dati.\n"
+"\n"
+
+msgid ""
+"Warning: This project uses C#, but this build of Godot does not have\n"
+"the Mono module. If you proceed you will not be able to use any C# scripts.\n"
+"\n"
+msgstr ""
+"Attenzione: questo progetto utilizza C#, ma questa versione di godot non ha\n"
+"il modulo Mono. Se si procede, non sarà possibile utilizzare alcun script "
+"C#.\n"
+"\n"
+
+msgid ""
+"Warning: This project was built in Godot %s.\n"
+"Opening will upgrade or downgrade the project to Godot %s.\n"
+"\n"
+msgstr ""
+"Attenzione: Questo progetto è stato costruito con Godot %s.\n"
+"Aprilo l'aggiornerà o porterà indietro a Godot %s.\n"
+"\n"
+
+msgid ""
+"Warning: This project uses the following features not supported by this "
+"build of Godot:\n"
+"\n"
+"%s\n"
+"\n"
+msgstr ""
+"Attenzione: Questo progetto utilizza le seguenti funzionalità non supportate "
+"da questa versione di Godot:\n"
+"\n"
+"%s\n"
+"\n"
+
+msgid "Open anyway? Project will be modified."
+msgstr "Aprire comunque? Il progetto verrà modificato."
+
+msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
@@ -7436,8 +11499,8 @@ msgid ""
"The interface will update after restarting the editor or project manager."
msgstr ""
"Lingua cambiata.\n"
-"L'interfaccia utente sarà aggiornata la prossima volta che l'editor o il "
-"gestore dei progetti sarà avviato."
+"L'interfaccia si aggiornerà dopo un riavvio dell'editor o del gestore dei "
+"progetti."
msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
@@ -7451,6 +11514,9 @@ msgctxt "Application"
msgid "Project Manager"
msgstr "Gestore Progetto"
+msgid "Filter Projects"
+msgstr "Filtra i progetti"
+
msgid ""
"This field filters projects by name and last path component.\n"
"To filter projects by name and full path, the query must contain at least "
@@ -7463,8 +11529,11 @@ msgstr ""
msgid "Loading, please wait..."
msgstr "Caricamento, per favore attendere..."
+msgid "Last Edited"
+msgstr "Ultima modifica"
+
msgid "New Project"
-msgstr "Nuovo Progetto"
+msgstr "Nuovo progetto"
msgid "Import Project"
msgstr "Importa Progetto"
@@ -7499,6 +11568,28 @@ msgstr "Rimuovi Tutto"
msgid "Also delete project contents (no undo!)"
msgstr "Elimina anche i contenuti del progetto (non reversibile!)"
+msgid ""
+"This option will perform full project conversion, updating scenes, resources "
+"and scripts from Godot 3.x to work in Godot 4.0.\n"
+"\n"
+"Note that this is a best-effort conversion, i.e. it makes upgrading the "
+"project easier, but it will not open out-of-the-box and will still require "
+"manual adjustments.\n"
+"\n"
+"IMPORTANT: Make sure to backup your project before converting, as this "
+"operation makes it impossible to open it in older versions of Godot."
+msgstr ""
+"Quest'opzione eseguirà una conversione completa del progetto, incluse le "
+"scene, risorse e script da Godot 3.x per farle funzionare con Godot 4.0\n"
+"\n"
+"Nota che questa è una conversione alla meglio, cioè renderà più facile un "
+"aggiornamento del progetto, ma non si aprirà di suo e richiederà delle "
+"correzioni manuali.\n"
+"\n"
+"IMPORTANTE: assicurarsi di eseguire una copia del progetto prima di "
+"convertirlo, visto che quest'operazione renderà impossibile l'apertura in "
+"versioni più vecchie di Godot."
+
msgid "Can't run project"
msgstr "Impossibile eseguire il progetto"
@@ -7509,9 +11600,15 @@ msgstr ""
"Al momento non esiste alcun progetto.\n"
"Esplorare i progetti di esempio ufficiali nella libreria dei contenuti?"
+msgid "Add Project Setting"
+msgstr "Aggiungi un'impostazione del progetto"
+
msgid "Delete Item"
msgstr "Elimina Elemento"
+msgid "(All)"
+msgstr "(Tutto)"
+
msgid "Add Input Action"
msgstr "Aggiungi Azione di Input"
@@ -7521,18 +11618,21 @@ msgstr "Cambia la zona morta d'azione"
msgid "Erase Input Action"
msgstr "Cancella Azione di Input"
-msgid "Rename Input Action Event"
-msgstr "Rinomina Evento di Azione Input"
-
msgid "Project Settings (project.godot)"
msgstr "Impostazioni Progetto (project.godot)"
+msgid "Advanced Settings"
+msgstr "Opzioni avanzate"
+
msgid "Input Map"
msgstr "Mappa Input"
msgid "Localization"
msgstr "Localizzazione"
+msgid "Autoload"
+msgstr "Autoload"
+
msgid "Plugins"
msgstr "Estensioni"
@@ -7563,6 +11663,21 @@ msgstr "Opzioni Avanzate"
msgid "Substitute"
msgstr "Sostituto"
+msgid "Node name."
+msgstr "Nome del nodo."
+
+msgid "Node's parent name, if available."
+msgstr "Nome del genitore del nodo, se disponibile"
+
+msgid "Node type."
+msgstr "Tipo del nodo."
+
+msgid "Current scene name."
+msgstr "Nome della scena corrente."
+
+msgid "Root node name."
+msgstr "Nome del nodo radice."
+
msgid ""
"Sequential integer counter.\n"
"Compare counter options."
@@ -7577,9 +11692,15 @@ msgid "If set, the counter restarts for each group of child nodes."
msgstr ""
"Se impostato, il contatore si riavvierà per ciascun gruppo di nodi figlio."
+msgid "Initial value for the counter."
+msgstr "Valore iniziale per il contatore."
+
msgid "Step"
msgstr "Passo"
+msgid "Amount by which counter is incremented for each node."
+msgstr "Quantità per la quale verrà incrementato il contatore per ogni nodo."
+
msgid "Padding"
msgstr "Padding"
@@ -7621,7 +11742,10 @@ msgid "At character %s"
msgstr "Al carattere %s"
msgid "Reparent Node"
-msgstr "Reparent Nodo"
+msgstr "Riparenta un nodo"
+
+msgid "Select new parent:"
+msgstr "Selezionare il nuovo genitore:"
msgid "Keep Global Transform"
msgstr "Mantieni Transform Globale"
@@ -7629,6 +11753,30 @@ msgstr "Mantieni Transform Globale"
msgid "Reparent"
msgstr "Riaccoppiare"
+msgid "Pick Root Node Type"
+msgstr "Seleziona il tipo del nodo radice"
+
+msgid "Pick"
+msgstr "Preleva"
+
+msgid "Scene name is valid."
+msgstr "Il nome della scena è valido."
+
+msgid "Scene name is empty."
+msgstr "Il nome della scena è vuoto."
+
+msgid "File name invalid."
+msgstr "Il nome del file è invalido."
+
+msgid "File already exists."
+msgstr "Il file esiste già."
+
+msgid "Invalid root node name."
+msgstr "Nome del nodo radice non valido."
+
+msgid "Root Type:"
+msgstr "Tipo della radice:"
+
msgid "2D Scene"
msgstr "Scena 2D"
@@ -7636,14 +11784,45 @@ msgid "3D Scene"
msgstr "Scena 3D"
msgid "User Interface"
-msgstr "Interfaccia Utente"
+msgstr "Interfaccia utente"
+
+msgid "Scene Name:"
+msgstr "Nome della scena:"
+
+msgid "Root Name:"
+msgstr "Nome della radice:"
+
+msgid "Leave empty to use scene name"
+msgstr "Lasciare vuoto per utilizzare il nome della scena"
+
+msgid "Create New Scene"
+msgstr "Crea una nuova scena"
+
+msgid "No parent to instantiate a child at."
+msgstr "Nessun genitore in cui istanziare un figlio."
+
+msgid "No parent to instantiate the scenes at."
+msgstr "Nessun genitore in cui istanziare le scene."
msgid "Error loading scene from %s"
msgstr "Errore caricamento scena da %s"
+msgid ""
+"Cannot instantiate the scene '%s' because the current scene exists within "
+"one of its nodes."
+msgstr ""
+"Impossibile istanziare la scena \"%s\" perché la scena corrente esiste in "
+"uno dei suoi nodi."
+
+msgid "Instantiate Scene(s)"
+msgstr "Istanzia delle scene"
+
msgid "Replace with Branch Scene"
msgstr "Sostituisci con Scena Ramo"
+msgid "Instantiate Child Scene"
+msgstr "Istanzia una scena figlia"
+
msgid "Detach Script"
msgstr "Rimuovi Script"
@@ -7702,6 +11881,28 @@ msgstr ""
"sono stati selezionati %s."
msgid ""
+"Can't save the root node branch as an instantiated scene.\n"
+"To create an editable copy of the current scene, duplicate it using the "
+"FileSystem dock context menu\n"
+"or create an inherited scene using Scene > New Inherited Scene... instead."
+msgstr ""
+"Impossibile salvare il ramo del nodo radice come una scena istanziata.\n"
+"Per creare una copia modificabile della scena corrente, duplicarla tramite "
+"il menu contestuale del pannello FileSystem\n"
+"o creare invece una scena ereditata attraverso Scena > Nuova Scena "
+"Ereditata... ."
+
+msgid ""
+"Can't save the branch of an already instantiated scene.\n"
+"To create a variation of a scene, you can make an inherited scene based on "
+"the instantiated scene using Scene > New Inherited Scene... instead."
+msgstr ""
+"Impossibile salvare il ramo di una scena già istanziata.\n"
+"Per creare una variante di una scena, si potrebbe invece creare una scena "
+"ereditata basata sulla scena istanziata attraverso Scena > Nuova Scena "
+"Ereditata... ."
+
+msgid ""
"Can't save a branch which is a child of an already instantiated scene.\n"
"To save this branch into its own scene, open the original scene, right click "
"on this branch, and select \"Save Branch as Scene\"."
@@ -7741,24 +11942,45 @@ msgstr ""
msgid "Make Local"
msgstr "Rendi Locale"
+msgid "Enable Scene Unique Name(s)"
+msgstr "Abilita dei nomi unici della scena"
+
+msgid "Unique names already used by another node in the scene:"
+msgstr "Nomi unici già usati da un altro nodo nella scena:"
+
+msgid "Disable Scene Unique Name(s)"
+msgstr "Disabilita dei nomi unici della scena"
+
msgid "New Scene Root"
msgstr "Nuova Scena Radice"
msgid "Create Root Node:"
-msgstr "Crea Nodo Radice:"
+msgstr "Crea un nodo radice:"
+
+msgid "Switch to Favorite Nodes"
+msgstr "Passa ai nodi preferiti"
msgid "Other Node"
msgstr "Altro nodo"
+msgid "Paste From Clipboard"
+msgstr "Incolla dagli appunti"
+
msgid "Can't operate on nodes from a foreign scene!"
msgstr "Impossibile operare su nodi di una scena esterna!"
msgid "Can't operate on nodes the current scene inherits from!"
msgstr "Impossibile operare su nodi da cui la scena corrente eredita!"
+msgid "This operation can't be done on instantiated scenes."
+msgstr "Questa operazione non può essere eseguita su delle scene istanziate."
+
msgid "Attach Script"
msgstr "Allega Script"
+msgid "Set Shader"
+msgstr "Imposta lo shader"
+
msgid "Cut Node(s)"
msgstr "Taglia Nodo(i)"
@@ -7784,9 +12006,18 @@ msgstr "Errore durante il salvataggio della scena."
msgid "Error duplicating scene to save it."
msgstr "Errore nel duplicare la scena per salvarla."
+msgid "Instantiate Script"
+msgstr "Istanzia uno script"
+
msgid "Sub-Resources"
msgstr "Sotto-Risorse"
+msgid "Revoke Unique Name"
+msgstr "Revoca un nome unico"
+
+msgid "Access as Unique Name"
+msgstr "Accedi come nome unico"
+
msgid "Clear Inheritance"
msgstr "Libera Ereditarietà"
@@ -7799,6 +12030,19 @@ msgstr "Carica come Placeholder"
msgid "Filters"
msgstr "Filtri"
+msgid "Filter by Type"
+msgstr "Filtra per tipo"
+
+msgid "Filter by Group"
+msgstr "Filtra per gruppo"
+
+msgid ""
+"Selects all Nodes belonging to the given group.\n"
+"If empty, selects any Node belonging to any group."
+msgstr ""
+"Seleziona tutti i nodi che appartengono a un gruppo dato.\n"
+"Se vuoto, seleziona qualsiasi nodo appartenente a qualsiasi gruppo."
+
msgid ""
"Cannot attach a script: there are no languages registered.\n"
"This is probably because this editor was built with all language modules "
@@ -7817,6 +12061,9 @@ msgstr "Incolla Nodo(i)"
msgid "Add Child Node"
msgstr "Aggiungi un nodo figlio"
+msgid "Expand/Collapse Branch"
+msgstr "Espandi/Comprimi un ramo"
+
msgid "Change Type"
msgstr "Cambia Tipo"
@@ -7824,7 +12071,10 @@ msgid "Reparent to New Node"
msgstr "Riparenta a Nuovo Nodo"
msgid "Make Scene Root"
-msgstr "Rendi Scena Radice"
+msgstr "Rendi la radice della scena"
+
+msgid "Toggle Access as Unique Name"
+msgstr "Commuta l'accesso come nome unico"
msgid "Delete (No Confirm)"
msgstr "Elimina (Senza Conferma)"
@@ -7832,12 +12082,22 @@ msgstr "Elimina (Senza Conferma)"
msgid "Add/Create a New Node."
msgstr "Aggiungi/Crea un Nuovo Nodo."
+msgid ""
+"Instantiate a scene file as a Node. Creates an inherited scene if no root "
+"node exists."
+msgstr ""
+"Istanzia un file scena come Node. Crea una scena ereditata se nessun nodo "
+"radice esiste."
+
msgid "Attach a new or existing script to the selected node."
msgstr "Allega un nuovo script o uno già esistente al nodo selezionato."
msgid "Detach the script from the selected node."
msgstr "Rimuovi lo script dal nodo selezionato."
+msgid "Extra scene options."
+msgstr "Opzioni extra della scena."
+
msgid "Remote"
msgstr "Remoto"
@@ -7880,6 +12140,25 @@ msgstr ""
"precedere dal prefisso '%s' in un percorso di nodo.\n"
"Clicca per disabilitarlo."
+msgid "Node has one connection."
+msgid_plural "Node has {num} connections."
+msgstr[0] "Il nodo ha una connessione."
+msgstr[1] "Il nodo ha {num} connessioni."
+
+msgid "Node is in this group:"
+msgid_plural "Node is in the following groups:"
+msgstr[0] "Il nodo è in questo gruppo:"
+msgstr[1] "I nodi sono nei gruppi seguenti:"
+
+msgid "Click to show signals dock."
+msgstr "Cliccare per mostrare il pannello dei segnali."
+
+msgid "This script is currently running in the editor."
+msgstr "Questo script è attualmente in esecuzione nell'editor."
+
+msgid "This script is a custom type."
+msgstr "Questo script è un tipo personalizzato."
+
msgid "Open Script:"
msgstr "Apri Script:"
@@ -7891,12 +12170,22 @@ msgstr ""
"Fai clic per sbloccarlo."
msgid ""
+"Children are not selectable.\n"
+"Click to make them selectable."
+msgstr ""
+"I figli non sono selezionabili.\n"
+"Cliccare per renderli selezionabili."
+
+msgid ""
"AnimationPlayer is pinned.\n"
"Click to unpin."
msgstr ""
"AnimationPlayer è bloccato.\n"
"Fai clic per sbloccare."
+msgid "\"%s\" is not a known filter."
+msgstr "\"%s\" non è un filtro conosciuto."
+
msgid "Invalid node name, the following characters are not allowed:"
msgstr "Nome nodo invalido, i caratteri seguenti non sono consentiti:"
@@ -7921,9 +12210,15 @@ msgstr "Il percorso è vuoto."
msgid "Filename is empty."
msgstr "Il nome del file è vuoto."
+msgid "Filename is invalid."
+msgstr "Il nome del file non è valido."
+
msgid "Path is not local."
msgstr "Percorso non locale."
+msgid "Base path is invalid."
+msgstr "Il percorso di base non è valido."
+
msgid "A directory with the same name exists."
msgstr "Esiste già una directory con lo stesso nome."
@@ -7933,6 +12228,9 @@ msgstr "File inesistente."
msgid "Invalid extension."
msgstr "Estensione non valida."
+msgid "Extension doesn't match chosen language."
+msgstr "L'esensione non corrisponde ad alcuna lingua scelta."
+
msgid "Template:"
msgstr "Template:"
@@ -7948,6 +12246,12 @@ msgstr "Apri Script / Scegli Posizione"
msgid "Open Script"
msgstr "Apri Script"
+msgid "Inherit %s"
+msgstr "Eredita %s"
+
+msgid "Inherit"
+msgstr "Eredita"
+
msgid "File exists, it will be reused."
msgstr "Il file è già esistente, quindi, verrà riutilizzato."
@@ -7975,12 +12279,21 @@ msgstr "Script integrato (nel file della scena)."
msgid "Will create a new script file."
msgstr "Verrà creato un nuovo file di script."
+msgid "Using existing script file."
+msgstr "Utilizzando un file di uno script esistente."
+
msgid "Will load an existing script file."
msgstr "Caricherà un file di script esistente."
msgid "Script file already exists."
msgstr "Il file di script esiste già."
+msgid "No suitable template."
+msgstr "Nessun modello adatto."
+
+msgid "Empty"
+msgstr "Vuoto"
+
msgid ""
"Note: Built-in scripts have some limitations and can't be edited using an "
"external editor."
@@ -8004,12 +12317,69 @@ msgstr "Script Integrato:"
msgid "Attach Node Script"
msgstr "Allega Script Nodo"
+msgid "Error - Could not create shader include in filesystem."
+msgstr "Errore - impossibile creare un'inclusione degli shader nel filesystem."
+
+msgid "Error - Could not create shader in filesystem."
+msgstr "Errore - Impossibile creare uno shader nel filesystem."
+
+msgid "Error loading shader from %s"
+msgstr "Errore durante il caricamento dello shader da %s"
+
+msgid "Open Shader / Choose Location"
+msgstr "Apri uno shader / Segli la posizione"
+
msgid "Invalid base path."
msgstr "Percorso di base non valido."
msgid "Wrong extension chosen."
msgstr "Selezionata estensione errata."
+msgid "Shader path/name is valid."
+msgstr "Il nome/percorso dello shader è valido."
+
+msgid "Built-in shader (into scene file)."
+msgstr "Shader integrato (nella scena)."
+
+msgid "Will create a new shader file."
+msgstr "Creerà un nuovo file di shader."
+
+msgid "Will load an existing shader file."
+msgstr "Caricherà un file di shader esistente."
+
+msgid "Shader file already exists."
+msgstr "Il file di shader esiste già."
+
+msgid "Note: Built-in shaders can't be edited using an external editor."
+msgstr ""
+"Nota: gli script integrati non possono essere modificati tramite un'editor "
+"esterno."
+
+msgid "Mode:"
+msgstr "Modalità:"
+
+msgid "Built-in Shader:"
+msgstr "Shader integrato:"
+
+msgid "Create Shader"
+msgstr "Crea uno shader"
+
+msgid "Set Shader Global Variable"
+msgstr "Imposta una variabile globale di uno shader"
+
+msgid "Please specify a valid shader uniform identifier name."
+msgstr "Per favore specificare un nome d'indentificatore dello shader valido."
+
+msgid "Global shader parameter '%s' already exists'"
+msgstr "Il parametro globale \"%s\" dello shader esiste già"
+
+msgid "Name '%s' is a reserved shader language keyword."
+msgstr ""
+"Il nome \"%s\" è una parola chiave riservata del linguaggio dello shader."
+
+msgid "Add Shader Global Parameter"
+msgstr "Aggiungi un parametro globale dello shader"
+
msgid "Change Cylinder Radius"
msgstr "Modifica Raggio del Cilindro"
@@ -8052,6 +12422,68 @@ msgstr ""
msgid "Invalid instance dictionary (invalid subclasses)"
msgstr "Formato del dizionario dell'istanza non valido (sottoclassi invalide)"
+msgid "Value of type '%s' can't provide a length."
+msgstr "Il valore di tipo \"%s\" non può dare una lunghezza."
+
+msgid "Export Scene to glTF 2.0 File"
+msgstr "Esporta la scena in un file glTF 2.0"
+
+msgid "glTF 2.0 Scene..."
+msgstr "Scena glTF 2.0..."
+
+msgid "Path does not contain a Blender installation."
+msgstr "Il percorso non contiene un'istallazione di Blender."
+
+msgid "Can't execute Blender binary."
+msgstr "Impossibile eseguire il binario di Blender."
+
+msgid "Unexpected --version output from Blender binary at: %s"
+msgstr "Risultato inaspettato di --version dal binario di Blender in: %s"
+
+msgid "Path supplied lacks a Blender binary."
+msgstr "Il percorso specificato è privo di un binario di blender."
+
+msgid "This Blender installation is too old for this importer (not 3.0+)."
+msgstr ""
+"Questa istallazione di Blender è troppo vecchia per questo importatore (non "
+"3.0+)."
+
+msgid "This Blender installation is too new for this importer (not 3.x)."
+msgstr ""
+"Questa istallazione di Blender è troppo nuova per questo importatore (non 3."
+"x)."
+
+msgid "Path to Blender installation is valid (Autodetected)."
+msgstr "Il percorso all'istallazione di Blender è valida (autorilevato)."
+
+msgid "Path to Blender installation is valid."
+msgstr "Il percorso all'istallazione di Blender è valido."
+
+msgid "Configure Blender Importer"
+msgstr "Configura l'importatore di Blender"
+
+msgid ""
+"Blender 3.0+ is required to import '.blend' files.\n"
+"Please provide a valid path to a Blender installation:"
+msgstr ""
+"È richiesto Blender 3.0+ per importare i file \".blend\".\n"
+"Per favore fornire un percorso valido per un'istallazione di Blender:"
+
+msgid "Disable '.blend' Import"
+msgstr "Disabilita l'importazione dei \".blend\""
+
+msgid ""
+"Disables Blender '.blend' files import for this project. Can be re-enabled "
+"in Project Settings."
+msgstr ""
+"Disabilita l'importazione dei file \".blend\" per questo progetto. Può "
+"essere riattivato nelle impostazioni del progetto."
+
+msgid "Disabling '.blend' file import requires restarting the editor."
+msgstr ""
+"È necessario riavviare l'editor per disabilitare l'importazione dei file \"."
+"blend\"."
+
msgid "Next Plane"
msgstr "Piano Successivo"
@@ -8136,13 +12568,37 @@ msgstr "Impostazioni GridMap"
msgid "Pick Distance:"
msgstr "Scegli la Distanza:"
+msgid "Filter Meshes"
+msgstr "Filtra le mesh"
+
msgid "Give a MeshLibrary resource to this GridMap to use its meshes."
msgstr ""
"Assegna una risorsa MeshLibrary a questa GridMap per usare le sue mesh."
+msgid "Determining optimal atlas size"
+msgstr "Determinanto la dimensione ottimale dell'atlas"
+
+msgid "Optimizing acceleration structure"
+msgstr "Ottimizzando la struttura di accelerazione"
+
msgid "Begin Bake"
msgstr "Inizia il Baking"
+msgid "Preparing shaders"
+msgstr "Preparando gli shader"
+
+msgid "Un-occluding geometry"
+msgstr "De-occludendo la geometria"
+
+msgid "Integrate indirect lighting"
+msgstr "Integra l'illuminazione indiretta"
+
+msgid "Denoising"
+msgstr "Derumorizzazione"
+
+msgid "Retrieving textures"
+msgstr "Prelevando le texture"
+
msgid "Class name can't be a reserved keyword"
msgstr "Il nome della classe non può essere una parola chiave riservata"
@@ -8152,15 +12608,25 @@ msgstr "Crea Soluzione"
msgid "Not enough bytes for decoding bytes, or invalid format."
msgstr "Byte insufficienti per decodificarli o formato non valido."
+msgid "%d (%s)"
+msgstr "%d (%s)"
+
msgid "%s/s"
msgstr "%s/s"
+msgctxt "Network"
+msgid "Up"
+msgstr "In uscita"
+
msgid "Incoming RPC"
msgstr "RPC in arrivo"
msgid "Outgoing RPC"
msgstr "RPC in uscita"
+msgid "Synchronizer"
+msgstr "Sincronizzatore"
+
msgid "Config"
msgstr "Configurazione"
@@ -8173,13 +12639,97 @@ msgstr "Dimensione"
msgid "Network Profiler"
msgstr "Profiler di Rete"
+msgid "Replication"
+msgstr "Replicazione"
+
+msgid "Select a replicator node in order to pick a property to add to it."
+msgstr ""
+"Selezionare un nodo replicatore per selezionare una proprietà da aggiungerci."
+
+msgid "Not possible to add a new property to synchronize without a root."
+msgstr ""
+"Non è possibile aggiungere una nuova proprietà da sincronizzare senza una "
+"radice."
+
+msgid "Property is already being synchronized."
+msgstr "La proprietà sta già venendo sincronizzata."
+
+msgid "Add property to synchronizer"
+msgstr "Aggiungi una proprietà al sincronizzatore"
+
+msgid "Pick a node to synchronize:"
+msgstr "Selezionare un nodo da sincronizzare:"
+
+msgid "Add property to sync..."
+msgstr "Aggiungi una proprietà da sincronizzare..."
+
+msgid "Add from path"
+msgstr "Aggiungi da un percorso"
+
+msgid "Spawn"
+msgstr "Genera"
+
+msgid ""
+"Add properties using the buttons above or\n"
+"drag them them from the inspector and drop them here."
+msgstr ""
+"Aggiungere delle proprietà tramite i pulsanti sopra o\n"
+"trascinarli dall'ispettore e rilasciarli qui."
+
+msgid "Please select a MultiplayerSynchronizer first."
+msgstr "Per favore selezionare prima un MultiplayerSynchronizer."
+
+msgid "The MultiplayerSynchronizer needs a root path."
+msgstr "Il MultiplayerSynchronizer ha bisogno di un percorso radice."
+
+msgid "Delete Property?"
+msgstr "Cancellare la proprietà?"
+
+msgid "Remove Property"
+msgstr "Rimuovi una proprietà"
+
+msgid ""
+"A valid NodePath must be set in the \"Spawn Path\" property in order for "
+"MultiplayerSpawner to be able to spawn Nodes."
+msgstr ""
+"Una risorsa NodePath valida deve essere impostata nella proprietà \"Spawn "
+"Path\" affinché un MultiplayerSpawner possa generare dei nodi."
+
+msgid ""
+"A valid NodePath must be set in the \"Root Path\" property in order for "
+"MultiplayerSynchronizer to be able to synchronize properties."
+msgstr ""
+"Un NodePath valido deve essere impostato nella proprietà \"Root Path\" "
+"affinché un MultiplayerSynchronizer possa sincronizzare delle proprietà."
+
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr ""
"È necessario creare o impostare una risorsa NavigationMesh affinché questo "
"nodo funzioni."
+msgid ""
+"Cannot generate navigation mesh because it does not belong to the edited "
+"scene. Make it unique first."
+msgstr ""
+"Impossibile generare una mesh di navigzione perché non appartiene alla scena "
+"modificata. Renderla prima unica."
+
+msgid ""
+"Cannot generate navigation mesh because it belongs to a resource which was "
+"imported."
+msgstr ""
+"Impossibile generare la mesh di navigazione perché appartiene a una risorsa "
+"che è stata importata."
+
+msgid ""
+"Cannot generate navigation mesh because the resource was imported from "
+"another type."
+msgstr ""
+"Impossibile generare la mesh di navigazione perché la risorsa è stata "
+"importata da un altro tipo."
+
msgid "Bake NavMesh"
-msgstr "Prepara NavMesh"
+msgstr "Preprocessa NavMesh"
msgid "Clear the navigation mesh."
msgstr "Cancella mesh di navigazione."
@@ -8223,6 +12773,96 @@ msgstr "Elaborazione Geometria..."
msgid "Done!"
msgstr "Fatto!"
+msgid "Rename Action"
+msgstr "Rinomina un'azione"
+
+msgid "Rename Actions Localized name"
+msgstr "Rinomina il nome localizzato di un'azione"
+
+msgid "Change Action Type"
+msgstr "Cambia il tipo di azione"
+
+msgid "Remove action"
+msgstr "Rimuovi un'azione"
+
+msgid "Add action set"
+msgstr "Aggiungi un insieme di azioni"
+
+msgid "Remove action set"
+msgstr "Rimuovi un insieme di azioni"
+
+msgid "Add interaction profile"
+msgstr "Aggiungi un profilo d'interazoine"
+
+msgid "Error saving file %s: %s"
+msgstr "Errore nel salvataggio del file %s: %s"
+
+msgid "Error loading %s: %s."
+msgstr "Errore caricando %s: %s."
+
+msgid "OpenXR Action map:"
+msgstr "Mappa delle azioni OpenXR:"
+
+msgid "Remove interaction profile"
+msgstr "Rimuovi un profilo d'interazione"
+
+msgid "Action Map"
+msgstr "Mappa delle azioni"
+
+msgid "Add an action set."
+msgstr "Aggiungi un insieme di azioni."
+
+msgid "Add profile"
+msgstr "Aggiungi un profilo"
+
+msgid "Add an interaction profile."
+msgstr "Aggiungi un profilo d'interazione."
+
+msgid "Save this OpenXR action map."
+msgstr "Salva questa mappa delle azioni OpenXR."
+
+msgid "Reset to default OpenXR action map."
+msgstr "Reimposta alla mappa delle azioni OpenXR predefinita."
+
+msgid "Action Sets"
+msgstr "Insiemi di azioni"
+
+msgid "Rename Action Set"
+msgstr "Rinomina un insieme di azioni"
+
+msgid "Rename Action Sets Localized name"
+msgstr "Cambia il nome localizzato di degli insiemi di azioni"
+
+msgid "Change Action Sets priority"
+msgstr "Cambia la priorità di degli insiemi di azioni"
+
+msgid "Add action"
+msgstr "Aggiungi un azione"
+
+msgid "Delete action"
+msgstr "Elimina un'azione"
+
+msgid "OpenXR Action Map"
+msgstr "Mappa delle azioni OpenXR"
+
+msgid "Remove action from interaction profile"
+msgstr "Rimouvi un azione dal profilo d'interazione"
+
+msgid "Add binding"
+msgstr "Aggiungi un associazione"
+
+msgid "Remove binding"
+msgstr "Rimuovi un'associazione"
+
+msgid "Pose"
+msgstr "Posa"
+
+msgid "Unknown"
+msgstr "Sconosciuto"
+
+msgid "Select an action"
+msgstr "Selezionare un azione"
+
msgid "Package name is missing."
msgstr "Il nome del pacchetto è mancante."
@@ -8246,6 +12886,13 @@ msgstr ""
msgid "The package must have at least one '.' separator."
msgstr "Il pacchetto deve avere almeno un \".\" separatore."
+msgid ""
+"The project name does not meet the requirement for the package name format. "
+"Please explicitly specify the package name."
+msgstr ""
+"Il nome del progetto non rispetta i requisiti per il formato del nome del "
+"pacchetto. Per favore specificare esplicitamente il nome del pacchetto."
+
msgid "Select device from the list"
msgstr "Seleziona il dispositivo dall'elenco"
@@ -8274,8 +12921,8 @@ msgid ""
"Android build template not installed in the project. Install it from the "
"Project menu."
msgstr ""
-"Il template build di Android non è installato in questo progetto. Installalo "
-"dal menu Progetto."
+"Il modello di costruzione di Android non è installato in questo progetto. "
+"Installarlo dal menu Progetto."
msgid ""
"Either Debug Keystore, Debug User AND Debug Password settings must be "
@@ -8333,11 +12980,30 @@ msgstr "Chiave pubblica non valida per l'espansione dell'APK."
msgid "Invalid package name:"
msgstr "Nome del pacchetto non valido:"
+msgid "\"Use Gradle Build\" must be enabled to use the plugins."
+msgstr "Per utilizzare i plugin \"Use Gradle Build\" deve essere abilitato."
+
+msgid "OpenXR requires \"Use Gradle Build\" to be enabled"
+msgstr "OpenXR richiede che \"Use Gradle Build\" sia attivo"
+
+msgid "\"Hand Tracking\" is only valid when \"XR Mode\" is \"OpenXR\"."
+msgstr ""
+"\"Hand Tracking\" è valido solo quando \"XR Mode\" è impostato su \"OpenXR\"."
+
msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr ""
"\"Oltrepassaggio\" è valido solo quando \"Modalità XR\" è impostato su "
"\"OpenXR\"."
+msgid "\"Export AAB\" is only valid when \"Use Gradle Build\" is enabled."
+msgstr ""
+"\"Export AAB\" è valido soltanto quanto \"Use Gradle Build\" è abilitato."
+
+msgid ""
+"\"Min SDK\" can only be overridden when \"Use Gradle Build\" is enabled."
+msgstr ""
+"\"Min SDK\" può essere sovrascritto solo se \"Use Gradle Build\" è abilitato."
+
msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
"\"Min SDK\" dovrebbe essere un intero valido, ma si è ottenuto \"%s\" che è "
@@ -8351,6 +13017,12 @@ msgstr ""
"dalla libreria Godot."
msgid ""
+"\"Target SDK\" can only be overridden when \"Use Gradle Build\" is enabled."
+msgstr ""
+"\"Target SDK\" può essere sovrascritto solo se \"Use Gradle BUild\" è "
+"abilitato."
+
+msgid ""
"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr ""
"\"Target SDK\" dovrebbe essere un intero valido, ma si è ottenuto \"%s\" che "
@@ -8368,10 +13040,31 @@ msgstr ""
"La versione di \"Target SDK\" dovrebbe essere maggiore o uguale della "
"versione di \"Min SDK\"."
+msgid ""
+"The \"%s\" renderer is designed for Desktop devices, and is not suitable for "
+"Android devices."
+msgstr ""
+"Il renderer \"%s\" è stato sviluppato per dispositivi desktop, e non è "
+"adatto ai dispositivi Android."
+
+msgid "\"Min SDK\" should be greater or equal to %d for the \"%s\" renderer."
+msgstr ""
+"\"Min SDK\" dovrebbe essere maggiore o uguale a %d per il renderer \"%s\"."
+
msgid "Code Signing"
msgstr "Firmatura Codice"
msgid ""
+"All 'apksigner' tools located in Android SDK 'build-tools' directory failed "
+"to execute. Please check that you have the correct version installed for "
+"your target sdk version. The resulting %s is unsigned."
+msgstr ""
+"Tutti gli strumenti \"apksigner\" nella cartella \"build-tools\" dell'SDK di "
+"Android hanno fallito l'esecuzione. Per favore controllare di avere la "
+"versione corretta installata per la propria versione dell'SDK di "
+"destinazione. Il %s risultante è senza firma."
+
+msgid ""
"'apksigner' could not be found. Please check that the command is available "
"in the Android SDK build-tools directory. The resulting %s is unsigned."
msgstr ""
@@ -8393,6 +13086,13 @@ msgstr "Non è stato possibile avviare l'eseguibile apksigner."
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' ha restituito con errore #%d"
+msgid ""
+"output: \n"
+"%s"
+msgstr ""
+"uscita:\n"
+"%s"
+
msgid "Verifying %s..."
msgstr "Verificando %s..."
@@ -8416,12 +13116,20 @@ msgid "Unsupported export format!"
msgstr "Formato d'esportazione non supportato!"
msgid ""
+"Trying to build from a gradle built template, but no version info for it "
+"exists. Please reinstall from the 'Project' menu."
+msgstr ""
+"Tentato di costruire da un modello di costruzione gradle, ma nessuna "
+"informazione sulla sua versione esiste. Per favore, reinstallarlo dal menu "
+"\"Progetto\"."
+
+msgid ""
"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
-"La Versione build di Android non corrisponde: Template installato: %s, "
-"Versione Godot: %s. Per favore, reinstalla il build template di Android dal "
-"menu \"Progetto\"."
+"Versione della costruzione Android non corrispondente: modello installato: "
+"%d, versione di Godot: %s. Per favore, reinstallare il modello di "
+"costruzione Android dal menu \"Progetto\"."
msgid ""
"Unable to overwrite res://android/build/res/*.xml files with project name."
@@ -8490,9 +13198,37 @@ msgstr "Impossibile decomprimere l'APK temporaneamente non allineato."
msgid "Export Icons"
msgstr "Icone Esportazione"
+msgid "Prepare Templates"
+msgstr "Preparazione dei modelli"
+
msgid "Export template not found."
msgstr "Modello di esportazione non trovato."
+msgid "Code signing failed, see editor log for details."
+msgstr ""
+"Firma del codice fallita, controllare il registro dell'editor per più "
+"dettagli."
+
+msgid "Xcode Build"
+msgstr "Costruzione Xcode"
+
+msgid "Xcode project build failed, see editor log for details."
+msgstr ""
+"Costruzione Xcode del progetto, controllare il registro dell'editor per più "
+"dettagli."
+
+msgid ".ipa export failed, see editor log for details."
+msgstr ""
+"Esportazione .ipa fallita, controllare il registro dell'editor per più "
+"dettagli."
+
+msgid ""
+".ipa can only be built on macOS. Leaving Xcode project without building the "
+"package."
+msgstr ""
+"I .ipa possono essere solo costruiti su macOS. Mantenendo il progetto Xcode "
+"senza costruire il pacchetto."
+
msgid "App Store Team ID not specified - cannot configure the project."
msgstr ""
"App Store Team ID non specificato - non è possibile configurare il progetto."
@@ -8506,6 +13242,60 @@ msgstr "Identificatore mancante."
msgid "The character '%s' is not allowed in Identifier."
msgstr "Il carattere \"%s\" non è consentito nell'Identificatore."
+msgid "Debug Script Export"
+msgstr "Esportazione di debug degli script"
+
+msgid "Could not open file \"%s\"."
+msgstr "Impossibile aprire il file \"%s\"."
+
+msgid "Could not create console script."
+msgstr "Impossibile creare lo script dei console."
+
+msgid "Failed to open executable file \"%s\"."
+msgstr "Impossibile aprire l'eseguibile \"%s\"."
+
+msgid "Executable file header corrupted."
+msgstr "Intestazione del file eseguibile corrotta."
+
+msgid "32-bit executables cannot have embedded data >= 4 GiB."
+msgstr "Gli eseguibili a 32 bit non possono avere dati incorporati >= 4GiB."
+
+msgid "Executable \"pck\" section not found."
+msgstr "Sezione \"pck\" dell'eseguibile non trovata."
+
+msgid "Stop and uninstall"
+msgstr "Ferma e disinstalla"
+
+msgid "Run on remote Linux/BSD system"
+msgstr "Esegui su un sistema Linux/BSD remoto"
+
+msgid "Stop and uninstall running project from the remote system"
+msgstr "Ferma e disinstalla il progetto in esecuzione dal sistema remoto"
+
+msgid "Run exported project on remote Linux/BSD system"
+msgstr "Esegui il progetto esportato su un sistema Linux/BSD remoto"
+
+msgid "Running..."
+msgstr "Eseguendo..."
+
+msgid "Could not create temp directory:"
+msgstr "Impossibile creare una cartella temporanea:"
+
+msgid "Exporting project..."
+msgstr "Esportando il progetto..."
+
+msgid "Creating temporary directory..."
+msgstr "Creando una cartella temporanea..."
+
+msgid "Uploading archive..."
+msgstr "Caricando l'archivio..."
+
+msgid "Uploading scripts..."
+msgstr "Caricando gli script..."
+
+msgid "Starting project..."
+msgstr "Avviando il progetto..."
+
msgid "Can't get filesystem access."
msgstr "Non si può avere accesso al filesystem."
@@ -8539,6 +13329,9 @@ msgstr "Elaborazione risorse nidificate fallito."
msgid "Failed to create _CodeSignature subfolder."
msgstr "Creazione sottocartella _CodeSignature fallita."
+msgid "Failed to get CodeResources hash."
+msgstr "Impossibile ottenere l'hash di CodeResources."
+
msgid "Invalid entitlements file."
msgstr "File di permessi non valido."
@@ -8560,10 +13353,23 @@ msgstr "Tipo di oggetto sconosciuto."
msgid "Icon Creation"
msgstr "Creazione Icona"
+msgid "Could not open icon file \"%s\"."
+msgstr "Impossibile aprire il file icona \"%s\"."
+
msgid "Notarization"
msgstr "Autenticazione"
msgid ""
+"rcodesign path is not set. Configure rcodesign path in the Editor Settings "
+"(Export > macOS > rcodesign)."
+msgstr ""
+"Il percorso di rcodesign non è impostato. Conigurare ill percorso di "
+"rcodesign nelle impostazioni dell'editor (Export > macOS > rcodesign)."
+
+msgid "Could not start rcodesign executable."
+msgstr "Impossibile eseguire l'eseguibile di rcodesign."
+
+msgid ""
"You can check progress manually by opening a Terminal and running the "
"following command:"
msgstr ""
@@ -8577,6 +13383,12 @@ msgstr ""
"Lancia il seguente comando per agganciare il ticket di notarizzazione "
"all'applicazione esportata (opzionale):"
+msgid "Apple ID password not specified."
+msgstr "Password dell Apple ID non specificata."
+
+msgid "Could not start xcrun executable."
+msgstr "Impossibile avviare l'eseguibile di xcrun."
+
msgid ""
"The notarization process generally takes less than an hour. When the process "
"is completed, you'll receive an email."
@@ -8591,12 +13403,22 @@ msgid "Built-in CodeSign require regex module."
msgstr "La firma del codice incorporata richiede il modulo regex."
msgid ""
+"Xrcodesign path is not set. Configure rcodesign path in the Editor Settings "
+"(Export > macOS > rcodesign)."
+msgstr ""
+"Il percorso di Xrcodesign non è impostato. Configurare il percorso di "
+"rcodesign nelle impostazioni dell'editor (Export > macOS > rcodesign)."
+
+msgid ""
"Could not start codesign executable, make sure Xcode command line tools are "
"installed."
msgstr ""
"Non è stato possibile lanciare l'eseguibile di firma del codice, controllare "
"che gli strumenti da linea di comando di Xcode siano installati."
+msgid "Cannot sign file %s."
+msgstr "Impossibile firmare il file %s"
+
msgid "Relative symlinks are not supported, exported \"%s\" might be broken!"
msgstr ""
"I link simbolici relativi non sono supportati, \"%s\" esportato potrebbe "
@@ -8605,6 +13427,9 @@ msgstr ""
msgid "DMG Creation"
msgstr "Creazione del DMG"
+msgid "Could not start hdiutil executable."
+msgstr "Impossibile avviare l'eseguibile di hdiutil."
+
msgid "`hdiutil create` failed - file exists."
msgstr "`hdutil create` fallito - Il file già esiste."
@@ -8620,6 +13445,12 @@ msgstr "Impossibile trovare il template dell'app per l'esportazione:\"%s\"."
msgid "Invalid export format."
msgstr "Formato di esportazione invalido."
+msgid "Could not create directory: \"%s\"."
+msgstr "Impossibile creare la cartella: \"%s\"."
+
+msgid "Could not create directory \"%s\"."
+msgstr "Impossibile creare la cartella \"%s\"."
+
msgid ""
"Relative symlinks are not supported on this OS, the exported project might "
"be broken!"
@@ -8627,6 +13458,12 @@ msgstr ""
"I link simbolici relativi non sono supportati in questo Sistema Operativo, "
"il progetto esportato potrebbe essere danneggiato!"
+msgid "Could not created symlink \"%s\" -> \"%s\"."
+msgstr "Impossibile creare il collegamento simbolico \"%s\" -> \"%s\"."
+
+msgid "Could not open \"%s\"."
+msgstr "Impossibile aprire \"%s\"."
+
msgid ""
"Requested template binary \"%s\" not found. It might be missing from your "
"template archive."
@@ -8703,12 +13540,21 @@ msgstr ""
"Privacy: L'accesso alla Camera è abilitato, ma la descrizione d'uso non è "
"specificata."
+msgid "Run on remote macOS system"
+msgstr "Esegui su un sistema macOS remoto"
+
+msgid "Run exported project on remote macOS system"
+msgstr "Esegui il progetto esportato su un sistema macOS remoto"
+
msgid "Invalid package short name."
msgstr "Nome breve del pacchetto non valido."
msgid "Invalid package unique name."
msgstr "Nome univoco del pacchetto non valido."
+msgid "Invalid package publisher display name."
+msgstr "Nome visualizzato dell'editore del pacchetto invalido."
+
msgid "Invalid product GUID."
msgstr "GUID prodotto invalido."
@@ -8766,6 +13612,9 @@ msgstr "PWA"
msgid "Could not read HTML shell: \"%s\"."
msgstr "Non è stato possibile leggere lo shell HTML: \"%s\"."
+msgid "Could not create HTTP server directory: %s."
+msgstr "Impossibile creare la cartella per il server HTTP: %s."
+
msgid "Error starting HTTP server: %d."
msgstr "Errore all'avvio del server HTTP: %d."
@@ -8778,6 +13627,46 @@ msgstr "Esegui nel Browser"
msgid "Run exported HTML in the system's default browser."
msgstr "Esegui il codice HTML esportato nel browser di sistema predefinito."
+msgid "Icon size \"%d\" is missing."
+msgstr "La dimensione dell'icona \"%s\" è mancante."
+
+msgid "Failed to rename temporary file \"%s\"."
+msgstr "Impossibile rinominare il file temporaneo \"%s\"."
+
+msgid "Could not find rcedit executable at \"%s\"."
+msgstr "Impossibile trovare l'eseguibile di rcedit in \"%s\"."
+
+msgid "Could not find wine executable at \"%s\"."
+msgstr "Impossibile trovare l'eseguibile di wine in \"%s\"."
+
+msgid "Invalid icon file \"%s\"."
+msgstr "Nome del file dell'icona \"%s\" non valido."
+
+msgid ""
+"Could not start rcedit executable. Configure rcedit path in the Editor "
+"Settings (Export > Windows > rcedit), or disable \"Application > Modify "
+"Resources\" in the export preset."
+msgstr ""
+"Impossibile avviare l'eseguibile di rcedit. Configurare il percorso di "
+"rcedit nelle impostazioni dell'editor (Export > Windows > rcedit), o "
+"disabilitare \"Application > Modify Resources\" nella preimpostazione di "
+"esportazione."
+
+msgid "rcedit failed to modify executable: %s."
+msgstr "rcedit non è riuscito a modificare l'eseguibile: %s."
+
+msgid "Could not find signtool executable at \"%s\"."
+msgstr "Impossibile trovare l'esegubile di signtool in \"%s\"."
+
+msgid "Could not find osslsigncode executable at \"%s\"."
+msgstr "Impossibile trovare l'eseguible di osslsigncode in \"%s\"."
+
+msgid "No identity found."
+msgstr "Nessuna identità trovata."
+
+msgid "Invalid identity type."
+msgstr "Tipo d'identità non trovato."
+
msgid "Invalid icon path:"
msgstr "Percorso icona non valido:"
@@ -8787,6 +13676,19 @@ msgstr "Versione file non valida:"
msgid "Invalid product version:"
msgstr "Versione prodotto non valida:"
+msgid "Run on remote Windows system"
+msgstr "Esegui su un sistema Windows remoto"
+
+msgid "Run exported project on remote Windows system"
+msgstr "Esegui il progetto esportato su un sistema Windows remoto"
+
+msgid ""
+"A SpriteFrames resource must be created or set in the \"Frames\" property in "
+"order for AnimatedSprite2D to display frames."
+msgstr ""
+"Una risorsa SpriteFrames deve essere creata o impostata nella proprietà "
+"\"Frames\" per permettere a AnimatedSprite2D di visualizzare i fotogrammi."
+
msgid ""
"This node has no shape, so it can't collide or interact with other objects.\n"
"Consider adding a CollisionShape2D or CollisionPolygon2D as a child to "
@@ -8879,6 +13781,20 @@ msgstr ""
"Il poligono per questo occluder è vuoto. Si prega di disegnare un poligono."
msgid ""
+"NavigationLink2D start position should be different than the end position to "
+"be useful."
+msgstr ""
+"La posizione iniziale di NavigationLink2D deve essere diversa da quella "
+"finale per essere utile."
+
+msgid ""
+"The NavigationObstacle2D only serves to provide collision avoidance to a "
+"Node2D object."
+msgstr ""
+"Il NavigationObstalcle2D serve solo a fornire l'evitamento delle collisioni "
+"a un oggetto Node2D."
+
+msgid ""
"ParallaxLayer node only works when set as child of a ParallaxBackground node."
msgstr ""
"Il nodo ParallaxLayer funziona solamente se impostato come figlio di un nodo "
@@ -8909,9 +13825,119 @@ msgid "Nothing is visible because no mesh has been assigned."
msgstr "Niente è visibile perché non è stata assegnata alcuna mesh."
msgid ""
+"The decal has a Normal and/or ORM texture, but no Albedo texture is set.\n"
+"An Albedo texture with an alpha channel is required to blend the normal/ORM "
+"maps onto the underlying surface.\n"
+"If you don't want the Albedo texture to be visible, set Albedo Mix to 0."
+msgstr ""
+"La decalcomania ha una texture dei normali e/o ORM, ma non ha alcuna texture "
+"albedo impostata.\n"
+"È richiesta una texture albedo con un canale alfa per fondere le mappe dei "
+"normali/ORM sulla superficie sottostante.\n"
+"Se non è voluto che la texture albedo sia visibile, impostare Albedo Mix su "
+"0."
+
+msgid ""
"Nothing is visible because meshes have not been assigned to draw passes."
msgstr "Nulla é visibile perché le mesh non sono state assegnate ai draw pass."
+msgid ""
+"Particles animation requires the usage of a BaseMaterial3D whose Billboard "
+"Mode is set to \"Particle Billboard\"."
+msgstr ""
+"L'animazinoe delle particelle richiede l'utilizzo di un BaseMaterial3D che "
+"abbia Billboard Mode imposttat su \"Particle Billboard\"."
+
+msgid "Node A and Node B must be PhysicsBody3Ds"
+msgstr "Il nodo A e il nodo B devono essere PhysicsBody3D"
+
+msgid "Node A must be a PhysicsBody3D"
+msgstr "Il nodo A deve essere un PhysicsBody3D"
+
+msgid "Node B must be a PhysicsBody3D"
+msgstr "Il nodo B deve essere un PhysicsBody3D"
+
+msgid "Joint is not connected to any PhysicsBody3Ds"
+msgstr "Il giunto non è collegato ad alcun PhysicsBody3D"
+
+msgid "Node A and Node B must be different PhysicsBody3Ds"
+msgstr "Il nodo A e il nodo B devono essere due PhysicsBody3D diversi"
+
+msgid "A light's scale does not affect the visual size of the light."
+msgstr "La scala di una luce non altera la sua dimensione visiva."
+
+msgid "Projector texture only works with shadows active."
+msgstr "Le texture proiettate funzionano solo con le ombre attive."
+
+msgid "A SpotLight3D with an angle wider than 90 degrees cannot cast shadows."
+msgstr ""
+"Un SpotLight3D con un angolo più ampio di 90 gradi non può proiettare delle "
+"ombre."
+
+msgid "Finding meshes, lights and probes"
+msgstr "Cercando mesh, luci e sonde"
+
+msgid "Preparing geometry %d/%d"
+msgstr "Preparando la geometria %d/%d"
+
+msgid "Creating probes"
+msgstr "Creando le sonde"
+
+msgid "Creating probes from mesh %d/%d"
+msgstr "Creando delle sonde dalla mesh %d/%d"
+
+msgid "Preparing Lightmapper"
+msgstr "Preparando il mappatore delle luci"
+
+msgid "Preparing Environment"
+msgstr "Preparando l'ambiente"
+
+msgid "Generating Probe Volumes"
+msgstr "Generando i volumi sonda"
+
+msgid "Generating Probe Acceleration Structures"
+msgstr "Generando le strutture di accelerazione delle sonde"
+
+msgid ""
+"The NavigationAgent3D can be used only under a Node3D inheriting parent node."
+msgstr ""
+"Il NavigationAgent3D può essere usato solo sotto un genitore che eredita da "
+"Node3D."
+
+msgid ""
+"NavigationLink3D start position should be different than the end position to "
+"be useful."
+msgstr ""
+"La posizione iniziale di NavigationLink3D deve essere diversa da quella "
+"finale per essere utile."
+
+msgid ""
+"The NavigationObstacle3D only serves to provide collision avoidance to a "
+"Node3D inheriting parent object."
+msgstr ""
+"Il NavigationObstacle3D serve solo a fornire l'evitamento delle collisioni a "
+"un oggetto genitore che eredita da Node3D."
+
+msgid ""
+"The \"Remote Path\" property must point to a valid Node3D or Node3D-derived "
+"node to work."
+msgstr ""
+"La proprietà \"Remote Path\" deve puntare a un Node3D o a un nodo derivato "
+"da Node3D per funzionare."
+
+msgid ""
+"This node cannot interact with other objects unless a Shape3D is assigned."
+msgstr ""
+"Questo nodo non può interagire con altri oggetti a meno che non gli venga "
+"assegnato uno Shape3D."
+
+msgid ""
+"ShapeCast3D does not support ConcavePolygonShape3Ds. Collisions will not be "
+"reported."
+msgstr ""
+"ShapeCast3D non supporta i ConcavePolygonShape3D. Le collisioni non verranno "
+"segnalate."
+
msgid "This body will be ignored until you set a mesh."
msgstr "Questo corpo verrà ignorato finché non imposterai una mesh."
@@ -8922,11 +13948,22 @@ msgstr ""
"Una risorsa SpriteFrames deve essere creata o impostata nella proprietà "
"\"Frames\" per permettere a AnimatedSprite3D di visualizzare i frame."
+msgid ""
+"VehicleWheel3D serves to provide a wheel system to a VehicleBody3D. Please "
+"use it as a child of a VehicleBody3D."
+msgstr ""
+"VehicleWheel3D serve a fornire un sistema di ruote a un VehicleBody3D. Per "
+"favore, usarlo come figlio di un VehicleBody3D."
+
msgid "Plotting Meshes"
msgstr "Tracciando Meshes"
-msgid "Finishing Plot"
-msgstr "Trama di Finitura"
+msgid ""
+"XR is not enabled in rendering project settings. Stereoscopic output is not "
+"supported unless this is enabled."
+msgstr ""
+"L'XR non è abilitato nelle impostazioni di rendering del progetto. L'uscita "
+"stereoscopica non è supportata a meno che esso non sia attivo."
msgid "On BlendTree node '%s', animation not found: '%s'"
msgstr "Sul nodo BlendTree \"%s\", animazione non trovata: \"%s\""
@@ -8944,7 +13981,7 @@ msgid "Nothing connected to input '%s' of node '%s'."
msgstr "Niente collegato all'input \"%s\" del nodo \"%s\"."
msgid "No root AnimationNode for the graph is set."
-msgstr "Non è stato impostato alcun AnimationNode root per il grafico."
+msgstr "Non è stata impostata alcuna radice AnimationNode per il grafico."
msgid "Path to an AnimationPlayer node containing animations is not set."
msgstr ""
@@ -8956,10 +13993,23 @@ msgstr ""
"AnimationPlayer."
msgid "The AnimationPlayer root node is not a valid node."
-msgstr "Il nodo radice dell'AnimationPlayer non è valido."
+msgstr "Il nodo radice dell'AnimationPlayer non è un nodo valido."
-msgid "Pick a color from the editor window."
-msgstr "Scegli un colore dalla finestra dell'editor."
+msgid ""
+"Color: #%s\n"
+"LMB: Apply color\n"
+"RMB: Remove preset"
+msgstr ""
+"Colore: #%s\n"
+"LMB: Imposta il colore\n"
+"RMB: Rimuovi la preimpostazione"
+
+msgid ""
+"Color: #%s\n"
+"LMB: Apply color"
+msgstr ""
+"Colore: #%s\n"
+"LMB: Imposta il colore"
msgid "Switch between hexadecimal and code values."
msgstr "Cambia tra valori esadecimali e valori di codice."
@@ -8983,12 +14033,33 @@ msgstr "Attenzione!"
msgid "Please Confirm..."
msgstr "Per Favore Conferma..."
-msgid "Must use a valid extension."
-msgstr "È necessaria un'estensione valida."
+msgid "All Files"
+msgstr "Tutti i file"
msgid "Enable grid minimap."
msgstr "Abilita mini-mappa griglia."
+msgid "Arrange nodes."
+msgstr "Disponi i nodi."
+
+msgid "Auto-Detect Direction"
+msgstr "Auto-rileva la direzione"
+
+msgid "Left-to-Right"
+msgstr "Sinistra a destra"
+
+msgid "Right-to-Left"
+msgstr "Destra a sinistra"
+
+msgid "Text Writing Direction"
+msgstr "Direzione di scrittura del testo"
+
+msgid "Display Control Characters"
+msgstr "Mostra i caratteri di controllo"
+
+msgid "Insert Control Character"
+msgstr "Inserisci un carattere di controllo"
+
msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater than 0."
msgstr "Se \"Exp Edit\" è abilitato, \"Min Value\" deve essere maggiore di 0."
@@ -9006,6 +14077,37 @@ msgid "(Other)"
msgstr "(Altro)"
msgid ""
+"This node was saved as class type '%s', which was no longer available when "
+"this scene was loaded."
+msgstr ""
+"Questo nodo è stato salvato come una classe di tipo \"%s\", la quale non era "
+"più disponibile quando questa scena è stata caricata."
+
+msgid ""
+"Data from the original node is kept as a placeholder until this type of node "
+"is available again. It can hence be safely re-saved without risk of data "
+"loss."
+msgstr ""
+"I dati del nodo originale sono stati preservati come segnaposto finché il "
+"tipo di questo nodo non è di nuovo dispoinibile. Esso può essere perciò "
+"risalvato senza rischiare perdite di dati."
+
+msgid ""
+"This node is marked as deprecated and will be removed in future versions.\n"
+"Please check the Godot documentation for information about migration."
+msgstr ""
+"Questo nodo è segnato come deprecato e verrà rimosso in versioni future.\n"
+"Per favore controllare la documentazione di Godot per informazioni sulla "
+"migrazione."
+
+msgid ""
+"This node is marked as experimental and may be subject to removal or major "
+"changes in future versions."
+msgstr ""
+"Questo nodo è segnato come sperimentale e potrebbe essere soggetto a "
+"rimozioni o cambiamenti maggiori in versioni future."
+
+msgid ""
"Default Environment as specified in Project Settings (Rendering -> "
"Environment -> Default Environment) could not be loaded."
msgstr ""
@@ -9030,6 +14132,12 @@ msgstr ""
"La dimensione del Viewport deve essere maggiore o uguale a 2 pixel su "
"entrambi i lati per visualizzare qualcosa."
+msgid "Cannot open font from file: %s."
+msgstr "Impossibile aprie il font dal file: %s."
+
+msgid "Can't load font texture: %s."
+msgstr "Impossibile caricare la texture del font: %s."
+
msgid ""
"The sampler port is connected but not used. Consider changing the source to "
"'SamplerPort'."
@@ -9043,6 +14151,9 @@ msgstr "Sorgente non valida per l'anteprima."
msgid "Invalid source for shader."
msgstr "Sorgente non valida per la shader."
+msgid "Default Color"
+msgstr "Colore predefinito"
+
msgid "Filter"
msgstr "Filtro"
@@ -9052,6 +14163,27 @@ msgstr "Ripeti"
msgid "Invalid comparison function for that type."
msgstr "Funzione di confronto non valida per quel tipo."
+msgid "2D Mode"
+msgstr "Modalità 2D"
+
+msgid "Use All Surfaces"
+msgstr "Usa tutte le superfici"
+
+msgid "Surface Index"
+msgstr "Indice di superficie"
+
+msgid "A constant value cannot be passed for the '%s' parameter."
+msgstr "Un valore costante non può essere passato per il parametro \"%s\"."
+
+msgid "Recursion is not allowed."
+msgstr "La ricorsione è vietata."
+
+msgid "Expected constant expression."
+msgstr "Prevista un'espressione costante."
+
+msgid "Expected ',' or ')' after argument."
+msgstr "Prevista una \",\" o una \")\" dopo un argomento."
+
msgid "Varying may not be assigned in the '%s' function."
msgstr "Le variabili non possono essere assegnate nella funzione \"%s\"."
@@ -9063,3 +14195,111 @@ msgstr "Assegnazione all'uniforme."
msgid "Constants cannot be modified."
msgstr "Le constanti non possono essere modificate."
+
+msgid "No matching constructor found for: '%s'."
+msgstr "Nessun costruttore corrispondente trovato per: \"%s\"."
+
+msgid "Expected a function name."
+msgstr "Previsto il nome di una funzione."
+
+msgid "No matching function found for: '%s'."
+msgstr "Nessuna funzione corrispondente trovata per: \"%s\"."
+
+msgid "A constant value cannot be passed for '%s' parameter."
+msgstr "Un valore costante non può essere passato per il parametro \"%s\"."
+
+msgid "Unknown identifier in expression: '%s'."
+msgstr "Identificatore sconosciuto nell'espressione \"%s\"."
+
+msgid "Can't use function as identifier: '%s'."
+msgstr "Impossibile usare una funzione come identificatore: \"%s\"."
+
+msgid "Only integer expressions are allowed for indexing."
+msgstr "Sono ammesse solo espressioni intere per l'indicizzazione."
+
+msgid "Index [%d] out of range [%d..%d]."
+msgstr "Indice [%d] fuori intervallo [%d..%d]."
+
+msgid "Expected expression, found: '%s'."
+msgstr "Prevista un'espressione, trovato: \"%s\"."
+
+msgid "An object of type '%s' can't be indexed."
+msgstr "Un oggetto di tipo \"%s\" non può essere indicizzato."
+
+msgid "Invalid base type for increment/decrement operator."
+msgstr "Tipo base invalido per l'operatore d'incremento/decremento."
+
+msgid "Invalid use of increment/decrement operator in a constant expression."
+msgstr ""
+"Uso non valido dell'operatore d'incremento/decremento in un'espressione "
+"costante."
+
+msgid "Invalid token for the operator: '%s'."
+msgstr "Gettone non valido per l'operatore: \"%d\"."
+
+msgid "Unexpected end of expression."
+msgstr "Fine dell'espressione inaspettata."
+
+msgid "Invalid arguments to unary operator '%s': %s."
+msgstr "Argomenti non validi per l'operatore unario \"%s\": %s."
+
+msgid "Expected an identifier or '[' after type."
+msgstr "Previsto un identificatore o una \"[\" dopo un tipo."
+
+msgid "Expected an identifier."
+msgstr "Previsto un identificatore."
+
+msgid "Expected array initializer."
+msgstr "Previsto un inizializzatore di un vettore."
+
+msgid "Expected a constant expression."
+msgstr "Prevista un'espressione costante."
+
+msgid "Expected initialization of constant."
+msgstr "Prevista l'inizializzazione di una costante."
+
+msgid "Expected a boolean expression."
+msgstr "Prevista un'espressione booleana."
+
+msgid "Expected an integer expression."
+msgstr "Prevista un'espressione intera."
+
+msgid "'%s' must be placed within a '%s' block."
+msgstr "\"%s\" deve essere piazzato in un blocco \"%s\"."
+
+msgid "Expected an integer constant."
+msgstr "Prevista una costante intera."
+
+msgid "Expected an identifier for render mode."
+msgstr "Previsto un identificatore per la modalità di rendering."
+
+msgid "Duplicated render mode: '%s'."
+msgstr "Modalità di rendering duplicata: \"%s\"."
+
+msgid ""
+"Redefinition of render mode: '%s'. The '%s' mode has already been set to "
+"'%s'."
+msgstr ""
+"Ridefinizione della modalità di rendering: \"%s\". La modalità \"%s\" è "
+"stata già impostata come \"%s\"."
+
+msgid "Invalid render mode: '%s'."
+msgstr "Modalità di rendering non valida: \"%s\"."
+
+msgid "Unexpected token: '%s'."
+msgstr "Gettone inaspettato: \"%s\"."
+
+msgid "Expected a struct identifier."
+msgstr "Previsto un identificatore struct."
+
+msgid "Expected data type."
+msgstr "Previsto un tipo di dati."
+
+msgid "A '%s' data type is not allowed here."
+msgstr "Qui non è ammesso un tipo di dati \"%s\"."
+
+msgid "Expected an identifier or '['."
+msgstr "Previsto un identificatore o una \"[\"."
+
+msgid "Empty structs are not allowed."
+msgstr "Gli struct vuoti sono vietati."
diff --git a/editor/translations/editor/ja.po b/editor/translations/editor/ja.po
index f24c55d10f..556781ffbf 100644
--- a/editor/translations/editor/ja.po
+++ b/editor/translations/editor/ja.po
@@ -49,13 +49,15 @@
# T K <kidaaam@gmail.com>, 2022, 2023.
# MizunagiKB <mizukb@live.jp>, 2023.
# Saitos <purifyzombie@gmail.com>, 2023.
+# UENO Masahiro <ueno.mshr@gmail.com>, 2023.
+# ueshita <nalto32@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 00:54+0000\n"
-"Last-Translator: Saitos <purifyzombie@gmail.com>\n"
+"PO-Revision-Date: 2023-02-18 07:45+0000\n"
+"Last-Translator: ueshita <nalto32@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot/ja/>\n"
"Language: ja\n"
@@ -141,40 +143,40 @@ msgid "Unknown Joypad Axis"
msgstr "不明なジョイパッド軸"
msgid "Joypad Motion on Axis %d (%s) with Value %.2f"
-msgstr "値 %.2f の軸 %d (%s) のジョイパッド モーション"
+msgstr "ジョイパッドモーション 軸:%d (%s) 値:%.2f"
msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B"
-msgstr "下アクション、ソニー✕、Xbox A、Nintendo B"
+msgstr "下アクション。Sony ✕、Xbox A、Nintendo B"
msgid "Right Action, Sony Circle, Xbox B, Nintendo A"
-msgstr "右アクション、ソニー○、Xbox B,Nintendo A"
+msgstr "右アクション。Sony ○、Xbox B,Nintendo A"
msgid "Left Action, Sony Square, Xbox X, Nintendo Y"
-msgstr "左アクション、ソニー□、Xbox X、Nintendo Y"
+msgstr "左アクション。Sony □、Xbox X、Nintendo Y"
msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X"
-msgstr "上アクション, ソニー△, Xbox Y, Nintendo X"
+msgstr "上アクション。Sony △、Xbox Y、Nintendo X"
msgid "Back, Sony Select, Xbox Back, Nintendo -"
-msgstr "Back, ソニー Select, Xbox Back, Nintendo -"
+msgstr "Back。Sony Select、Xbox Back、Nintendo -"
msgid "Guide, Sony PS, Xbox Home"
-msgstr "ガイド, Sony PS, Xbox Home"
+msgstr "Guide。Sony PS、Xbox Home"
msgid "Start, Nintendo +"
-msgstr "スタート, Nintendo +"
+msgstr "Start。Nintendo +"
msgid "Left Stick, Sony L3, Xbox L/LS"
-msgstr "左スティック, ソニー L3, Xbox L/LS"
+msgstr "左スティック。Sony L3、Xbox L/LS"
msgid "Right Stick, Sony R3, Xbox R/RS"
-msgstr "右スティック, ソニー R3, Xbox R/RS"
+msgstr "右スティック。Sony R3、Xbox R/RS"
msgid "Left Shoulder, Sony L1, Xbox LB"
-msgstr "左ショルダー, ソニー L1, Xbox LB"
+msgstr "左ショルダー。Sony L1、Xbox LB"
msgid "Right Shoulder, Sony R1, Xbox RB"
-msgstr "右ショルダー, ソニー R1, Xbox RB"
+msgstr "右ショルダー。Sony R1。Xbox RB"
msgid "D-pad Up"
msgstr "D-pad 上"
@@ -206,6 +208,12 @@ msgstr "Xbox パドル 4"
msgid "PS4/5 Touchpad"
msgstr "PS4/5 タッチパッド"
+msgid "Joypad Button %d"
+msgstr "ジョイパッドのボタン %d"
+
+msgid "Pressure:"
+msgstr "圧力:"
+
msgid "touched"
msgstr "タッチ"
@@ -217,7 +225,7 @@ msgstr "画面 %s (%s) で %s 個のタッチポイント"
msgid ""
"Screen dragged with %s touch points at position (%s) with velocity of (%s)"
-msgstr "位置 (%s) で速度 (%s) の %s 個のタッチポイントで画面をドラッグしました"
+msgstr "%s個のタッチポイントで画面をドラッグしました。位置:(%s), 速度:(%s)"
msgid "Magnify Gesture at (%s) with factor %s"
msgstr "拡大ジェスチャー(%s)で倍率 %sにします"
@@ -253,10 +261,10 @@ msgid "Right"
msgstr "右"
msgid "Up"
-msgstr "上り"
+msgstr "上"
msgid "Down"
-msgstr "下り"
+msgstr "下"
msgid "Page Up"
msgstr "Page Up"
@@ -268,7 +276,7 @@ msgid "Home"
msgstr "Home"
msgid "End"
-msgstr "終り"
+msgstr "End"
msgid "Cut"
msgstr "切り取り"
@@ -283,7 +291,7 @@ msgid "Undo"
msgstr "元に戻す"
msgid "Redo"
-msgstr "やり直す"
+msgstr "やり直し"
msgid "Completion Query"
msgstr "自動補完"
@@ -384,9 +392,6 @@ msgstr "キャレットと選択をクリア"
msgid "Toggle Insert Mode"
msgstr "インサートモードを切り替える"
-msgid "Text Submitted"
-msgstr "送信されたテキスト"
-
msgid "Duplicate Nodes"
msgstr "ノードを複製"
@@ -470,6 +475,12 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "'%s' という名前のアクションがすでに存在します。"
+msgid "Cannot Revert - Action is same as initial"
+msgstr "元に戻すことはできません - アクションは初期と同じです"
+
+msgid "Revert Action"
+msgstr "アクションを元に戻す"
+
msgid "Add Event"
msgstr "イベントを追加"
@@ -655,6 +666,9 @@ msgstr "トラックパスを変更"
msgid "Toggle this track on/off."
msgstr "このトラックの オン/オフ を切り替え。"
+msgid "Use Blend"
+msgstr "ブレンドを使用"
+
msgid "Update Mode (How this property is set)"
msgstr "Update モード (このプロパティの設定方法)"
@@ -724,6 +738,9 @@ msgstr "アニメーションクリップ:"
msgid "Toggle Track Enabled"
msgstr "トラックを有効 / 無効"
+msgid "Don't Use Blend"
+msgstr "ブレンドを使用しない"
+
msgid "Continuous"
msgstr "継続的"
@@ -775,6 +792,9 @@ msgstr "アニメーション補間モードの変更"
msgid "Change Animation Loop Mode"
msgstr "アニメーションのループモードを変更"
+msgid "Change Animation Use Blend"
+msgstr "アニメーションのブレンドの使用を変更"
+
msgid ""
"Compressed tracks can't be edited or removed. Re-import the animation with "
"compression disabled in order to edit."
@@ -1026,18 +1046,6 @@ msgstr "ベジェ曲線を使用"
msgid "Create RESET Track(s)"
msgstr "RESETトラックを作成"
-msgid "Anim. Optimizer"
-msgstr "アニメーションのオプティマイザー"
-
-msgid "Max. Velocity Error:"
-msgstr "最大ベロシティエラー:"
-
-msgid "Max. Angular Error:"
-msgstr "最大。角度エラー:"
-
-msgid "Max. Precision Error:"
-msgstr "最大精度エラー:"
-
msgid "Optimize"
msgstr "最適化"
@@ -1062,9 +1070,6 @@ msgstr "スケール比:"
msgid "Select Transition and Easing"
msgstr "トランジションとイージングを選択"
-msgid "Anim. Baker"
-msgstr "アニメーションベイカー"
-
msgid "Select Tracks to Copy"
msgstr "コピーするトラックを選択"
@@ -1149,6 +1154,9 @@ msgstr ""
"対象のメソッドが見つかりません。有効なメソッドを指定するか、ターゲットノード"
"にスクリプトをアタッチしてください。"
+msgid "Attached Script"
+msgstr "スクリプトを添付"
+
msgid "Connect to Node:"
msgstr "ノードへの接続:"
@@ -1161,12 +1169,27 @@ msgstr "シグナルから:"
msgid "Filter Nodes"
msgstr "ノードをフィルタ"
+msgid "Go to Source"
+msgstr "ソースに移動"
+
msgid "Scene does not contain any script."
msgstr "シーンにはスクリプトが含まれていません。"
msgid "Select Method"
msgstr "メソッドの選択"
+msgid "Filter Methods"
+msgstr "メソッドを絞り込む"
+
+msgid "No method found matching given filters."
+msgstr "指定されたフィルターに一致するメソッドが見つかりませんでした。"
+
+msgid "Script Methods Only"
+msgstr "スクリプト メソッドのみ"
+
+msgid "Compatible Methods Only"
+msgstr "互換性のあるメソッドのみ"
+
msgid "Remove"
msgstr "除去"
@@ -1234,6 +1257,9 @@ msgstr "切断"
msgid "Connect a Signal to a Method"
msgstr "メソッドにシグナルを接続"
+msgid "Edit Connection: '%s'"
+msgstr "接続を編集: '%s'"
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "シグナル %s からすべての接続を除去してもよろしいですか?"
@@ -1426,6 +1452,15 @@ msgstr "エラー:"
msgid "%s Error"
msgstr "%s エラー"
+msgid "%s Error:"
+msgstr "%s エラー:"
+
+msgid "%s Source"
+msgstr "%s ソース"
+
+msgid "%s Source:"
+msgstr "%s ソース:"
+
msgid "Stack Trace"
msgstr "スタックトレース"
@@ -1950,6 +1985,9 @@ msgstr "自動読み込みを追加"
msgid "Path:"
msgstr "パス:"
+msgid "Set path or press \"%s\" to create a script."
+msgstr "パスを設定するか、\"%s \"を押してスクリプトを作成してください。"
+
msgid "Node Name:"
msgstr "ノード名:"
@@ -2323,9 +2361,6 @@ msgstr "開く"
msgid "Select Current Folder"
msgstr "現在のフォルダーを選択"
-msgid "File exists, overwrite?"
-msgstr "ファイルがすでに存在します。上書きしますか?"
-
msgid "Select This Folder"
msgstr "このフォルダーを選択"
@@ -2819,6 +2854,9 @@ msgstr "ロケール国フィルターを変更"
msgid "Changed Locale Filter Mode"
msgstr "ロケールフィルターモードを変更"
+msgid "[Default]"
+msgstr "[デフォルト]"
+
msgid "Select a Locale"
msgstr "ロケールを選択"
@@ -2834,12 +2872,20 @@ msgstr "フィルターの編集"
msgid "Language:"
msgstr "言語:"
+msgctxt "Locale"
+msgid "Script:"
+msgstr "スクリプト:"
+
msgid "Country:"
msgstr "国:"
msgid "Language"
msgstr "言語:"
+msgctxt "Locale"
+msgid "Script"
+msgstr "スクリプト"
+
msgid "Country"
msgstr "国"
@@ -3621,6 +3667,23 @@ msgid "Select Android sources file"
msgstr "Androidのソースファイルを選択"
msgid ""
+"This will set up your project for gradle Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make gradle builds instead of using pre-built APKs, "
+"the \"Use Gradle Build\" option should be enabled in the Android export "
+"preset."
+msgstr ""
+"この操作は \"res://android/build\" にソーステンプレートをインストールし、"
+"gradle Android ビルドのためにプロジェクトをセットアップします。\n"
+"後から設定に変更を加えたり、エクスポート時にカスタムAPKをビルドできます (モ"
+"ジュールを追加する、AndroidManifest.xmlを変更するなど)。\n"
+"なお、ビルド済みのAPKを使用する代わりにgradleビルドを作成するには、Androidエ"
+"クスポートプリセットで \"Use Gradle Build\" オプションが有効になっている必要"
+"があります。"
+
+msgid ""
"The Android build template is already installed in this project and it won't "
"be overwritten.\n"
"Remove the \"res://android/build\" directory manually before attempting this "
@@ -4014,6 +4077,9 @@ msgstr "ジョイスティック 4 上"
msgid "Joystick 4 Down"
msgstr "ジョイスティック 4 下"
+msgid "Joypad Axis %d %s (%s)"
+msgstr "ジョイパッドの軸 %d %s (%s)"
+
msgid "All Devices"
msgstr "すべてのデバイス"
@@ -4026,6 +4092,20 @@ msgstr "入力を確認しています..."
msgid "Filter by event..."
msgstr "イベントでフィルタ..."
+msgid ""
+"Target platform requires 'ETC2/ASTC' texture compression. Enable 'Import "
+"ETC2 ASTC' in Project Settings."
+msgstr ""
+"ターゲットプラットフォームは、'ETC2/ASTC'テクスチャ圧縮を必要とします。プロ"
+"ジェクト設定で 'Import ETC2 ASTC'を有効にします。"
+
+msgid ""
+"Target platform requires 'S3TC/BPTC' texture compression. Enable 'Import "
+"S3TC BPTC' in Project Settings."
+msgstr ""
+"ターゲットプラットフォームは、'S3TC/BPTC' テクスチャ圧縮を必要とします。プロ"
+"ジェクト設定で'Import S3TC BPTC' を有効にします。"
+
msgid "Project export for platform:"
msgstr "次のプラットフォーム向けにプロジェクトをエクスポート:"
@@ -4062,18 +4142,15 @@ msgstr "ファイル \"%s\" を作成できませんでした。"
msgid "Failed to export project files."
msgstr "プロジェクトファイルをエクスポートできませんでした。"
-msgid "Can't open file to read from path \"%s\"."
-msgstr "読み込むファイルをパス \"%s\" から開けません。"
-
-msgid "Can't open executable file from path \"%s\"."
-msgstr "パス \"%s\" から実行可能ファイルを開けません。"
-
msgid "Can't create encrypted file."
msgstr "暗号化されたファイルを作成できません。"
msgid "Can't open encrypted file to write."
msgstr "暗号化されたファイルを開いて書き込むことができません。"
+msgid "Can't open file to read from path \"%s\"."
+msgstr "読み込むファイルをパス \"%s\" から開けません。"
+
msgid "Save ZIP"
msgstr "ZIPを保存"
@@ -4861,6 +4938,9 @@ msgstr "新しい構成"
msgid "Remove Variation"
msgstr "バリエーションを削除"
+msgid "Preloaded glyphs: %d"
+msgstr "プリロードされたグリフ: %d"
+
msgid ""
"Warning: There are no configurations specified, no glyphs will be pre-"
"rendered."
@@ -4941,6 +5021,35 @@ msgstr "テキストのシェイプとグリフを追加"
msgid "Glyphs from the Character Map"
msgstr "文字コード表のグリフ"
+msgid ""
+"Add or remove glyphs from the character map to pre-render list:\n"
+"Note: Some stylistic alternatives and glyph variants do not have one-to-one "
+"correspondence to character, and not shown in this map, use \"Glyphs from "
+"the text\" tab to add these."
+msgstr ""
+"プリレンダーリストに文字マップからグリフを追加または削除します。\n"
+"注意: 文体代替やグリフバリエーションの中には、文字と一対一に対応しておらず、"
+"このマップに表示されていないものがあります。これらを追加するには \"テキストか"
+"らグリフ\" タブを使用します。"
+
+msgid "Dynamically rendered TrueType/OpenType font"
+msgstr "動的にレンダリングされるTrueType/OpenTypeフォント"
+
+msgid "Prerendered multichannel(+true) signed distance field"
+msgstr "プリレンダリングされたマルチチャンネル(+true) 符号付き距離フィールド"
+
+msgid "Can't load font texture:"
+msgstr "フォントテクスチャを読み込むことができません。"
+
+msgid "Image margin too big."
+msgstr "画像の余白が大きすぎます。"
+
+msgid "Character margin too bit."
+msgstr "文字余白が多すぎます。"
+
+msgid "Pre-Import Scene"
+msgstr "シーンを事前インポート"
+
msgid "Importing Scene..."
msgstr "シーンをインポート中..."
@@ -4959,10 +5068,21 @@ msgstr "無効または壊れたインポート済スクリプト(コンソー
msgid "Error running post-import script:"
msgstr "インポート済スクリプトの実行中にエラー:"
+msgid "Did you return a Node-derived object in the `_post_import()` method?"
+msgstr ""
+"`_post_import()` メソッド内で、Nodeを継承したオブジェクトを返しましたか?"
+
msgid "Saving..."
msgstr "保存中..."
msgid ""
+"Error importing GLSL shader file: '%s'. Open the file in the filesystem dock "
+"in order to see the reason."
+msgstr ""
+"GLSLシェーダーファイルのインポート中にエラーが発生しました: '%s', ファイルシ"
+"ステムでファイルを開いて原因を確認してください。"
+
+msgid ""
"%s: Texture detected as used as a normal map in 3D. Enabling red-green "
"texture compression to reduce memory usage (blue channel is discarded)."
msgstr ""
@@ -4970,12 +5090,22 @@ msgstr ""
"クスチャ圧縮を有効にしてメモリ使用量を削減します(青チャンネルは破棄されま"
"す)。"
+msgid "2D/3D (Auto-Detect)"
+msgstr "2D/3D (自動切換え)"
+
msgid "2D"
msgstr "2D"
msgid "3D"
msgstr "3D"
+msgid ""
+"Type: %s\n"
+"Import ID: %s"
+msgstr ""
+"型: %s\n"
+"インポートID: %s"
+
msgid "Error opening scene"
msgstr "シーンを開く際にエラーが発生しました"
@@ -5052,6 +5182,9 @@ msgstr ""
"ファイルシステムやインスペクターにあるリソースファイルを選択してインポート設"
"定を調整します。"
+msgid "Joypad Buttons"
+msgstr "ジョイパッドのボタン"
+
msgid "Device:"
msgstr "デバイス:"
@@ -5852,6 +5985,12 @@ msgstr "グループ化済み"
msgid "Add Node Here"
msgstr "ここにノードを追加"
+msgid "Paste Node(s) Here"
+msgstr "ここにノードを貼り付け"
+
+msgid "Move Node(s) Here"
+msgstr "ここにノードを移動"
+
msgid "Moving:"
msgstr "移動:"
@@ -6353,6 +6492,23 @@ msgstr ""
"リモートのデバイス上で使用する場合、ネットワークファイルシステムのオプション"
"も有効であればより効率的になります。"
+msgid ""
+"When this option is enabled, the editor debug server will stay open and "
+"listen for new sessions started outside of the editor itself."
+msgstr ""
+"このオプションを有効にすると、デバッガーは起動したままとなり、エディター以外"
+"で開始された新しい実行を監視するようになります。"
+
+msgid "Run Multiple Instances"
+msgstr "実行インスタンス数"
+
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "インスタンス %d個"
+
+msgid "Overrides (%d)"
+msgstr "上書き (%d)"
+
msgid " - Variation"
msgstr " - バリエーション"
@@ -9326,9 +9482,6 @@ msgstr "アクション デッドゾーンを変更"
msgid "Erase Input Action"
msgstr "入力アクションを消去"
-msgid "Rename Input Action Event"
-msgstr "入力アクションイベントの名前を変更する"
-
msgid "Project Settings (project.godot)"
msgstr "プロジェクト設定 (project.godot)"
@@ -10091,6 +10244,12 @@ msgstr "ジオメトリを解析しています..."
msgid "Done!"
msgstr "完了!"
+msgid "Rename Action"
+msgstr "アクション名を変更"
+
+msgid "Rename Actions Localized name"
+msgstr "ローカライズされるアクション名を変更"
+
msgid "Error loading %s: %s."
msgstr "%s のロード中にエラーが発生しました: %s"
@@ -10838,9 +10997,6 @@ msgstr ""
"色: #%s\n"
"左クリック: 色をセット"
-msgid "Pick a color from the editor window."
-msgstr "エディターウィンドウから色を選択。"
-
msgid "Select a picker shape."
msgstr "ピッカーシェイプを選択"
@@ -10877,9 +11033,6 @@ msgstr "警告!"
msgid "Please Confirm..."
msgstr "確認"
-msgid "Must use a valid extension."
-msgstr "有効な拡張子を使用する必要があります。"
-
msgid "Enable grid minimap."
msgstr "グリッドミニマップを有効にする。"
diff --git a/editor/translations/editor/ko.po b/editor/translations/editor/ko.po
index 3400b8d86e..af042d8503 100644
--- a/editor/translations/editor/ko.po
+++ b/editor/translations/editor/ko.po
@@ -498,12 +498,6 @@ msgstr "베지어 곡선 사용"
msgid "Create RESET Track(s)"
msgstr "재설정 트랙 만들기"
-msgid "Anim. Optimizer"
-msgstr "애니메이션 최적화"
-
-msgid "Max. Angular Error:"
-msgstr "최대 각도 오류:"
-
msgid "Optimize"
msgstr "최적화"
@@ -1502,9 +1496,6 @@ msgstr "열기"
msgid "Select Current Folder"
msgstr "현재 폴더 선택"
-msgid "File exists, overwrite?"
-msgstr "파일이 존재합니다. 덮어쓰시겠습니까?"
-
msgid "Select This Folder"
msgstr "이 폴더 선택"
@@ -7296,9 +7287,6 @@ msgstr "액션 데드존 바꾸기"
msgid "Erase Input Action"
msgstr "입력 액션 지우기"
-msgid "Rename Input Action Event"
-msgstr "입력 액션 이벤트 이름 바꾸기"
-
msgid "Project Settings (project.godot)"
msgstr "프로젝트 설정 (project.godot)"
@@ -8471,9 +8459,6 @@ msgstr ""
msgid "The AnimationPlayer root node is not a valid node."
msgstr "AnimationPlayer 루트 노드가 올바른 노드가 아닙니다."
-msgid "Pick a color from the editor window."
-msgstr "에디터 창에서 색상을 고르세요."
-
msgid "Switch between hexadecimal and code values."
msgstr "16진수나 코드 값으로 전환합니다."
@@ -8505,9 +8490,6 @@ msgstr "경고!"
msgid "Please Confirm..."
msgstr "확인해주세요..."
-msgid "Must use a valid extension."
-msgstr "올바른 확장자를 사용해야 합니다."
-
msgid "Enable grid minimap."
msgstr "그리드 미니맵을 활성화합니다."
diff --git a/editor/translations/editor/lv.po b/editor/translations/editor/lv.po
index 79048ab1e7..13041ba95c 100644
--- a/editor/translations/editor/lv.po
+++ b/editor/translations/editor/lv.po
@@ -386,12 +386,6 @@ msgstr "Izmanto Bezjē Līknes"
msgid "Create RESET Track(s)"
msgstr "Izveidot atiestatīšanas celiņu(s)"
-msgid "Anim. Optimizer"
-msgstr "Anim. Optimizētājs"
-
-msgid "Max. Angular Error:"
-msgstr "Maks. Rotācijas Kļūda:"
-
msgid "Optimize"
msgstr "Optimizēt"
@@ -1267,9 +1261,6 @@ msgstr "Atvērt"
msgid "Select Current Folder"
msgstr "Izvēlēties pašreizējo mapi"
-msgid "File exists, overwrite?"
-msgstr "Fails eksistē. Pārrakstīt ?"
-
msgid "Select This Folder"
msgstr "Izvēlēties Šo Mapi"
@@ -3515,9 +3506,6 @@ msgstr "Nederīga animācija: '%s'."
msgid "Nothing connected to input '%s' of node '%s'."
msgstr "Nekas nav savienots ar ieeju '%s' mezglam '%s'."
-msgid "Pick a color from the editor window."
-msgstr "Izvēlēties krāsu no redaktora loga."
-
msgid "Add current color as a preset."
msgstr "Pievienot pašreizējo krāsu kā iepriekšnoteiktu krāsu."
@@ -3527,9 +3515,6 @@ msgstr "Brīdinājums!"
msgid "Please Confirm..."
msgstr "Lūdzu apstipriniet..."
-msgid "Must use a valid extension."
-msgstr "Jābūt derīgai galotnei."
-
msgid "Enable grid minimap."
msgstr "Iespējot režģa minikarti."
diff --git a/editor/translations/editor/ms.po b/editor/translations/editor/ms.po
index 83a970ad95..170ef33d4b 100644
--- a/editor/translations/editor/ms.po
+++ b/editor/translations/editor/ms.po
@@ -428,12 +428,6 @@ msgstr "Guna Lengkung Bezier"
msgid "Create RESET Track(s)"
msgstr "Cipta Trek RESET"
-msgid "Anim. Optimizer"
-msgstr "Pengoptimum Anim."
-
-msgid "Max. Angular Error:"
-msgstr "Max. Ralat Sudut:"
-
msgid "Optimize"
msgstr "Mengoptimumkan"
@@ -1309,9 +1303,6 @@ msgstr "Buka"
msgid "Select Current Folder"
msgstr "Pilih Folder Semasa"
-msgid "File exists, overwrite?"
-msgstr "Fail wujud, tulis ganti?"
-
msgid "Select This Folder"
msgstr "Pilih Folder Ini"
@@ -4216,8 +4207,5 @@ msgstr "Nod A mestilah PhysicsBody2D"
msgid "Node B must be a PhysicsBody2D"
msgstr "Nod B mestilah PhysicsBody2D"
-msgid "Must use a valid extension."
-msgstr "Mesti menggunakan sambungan yang sah."
-
msgid "Constants cannot be modified."
msgstr "Pemalar tidak dapat diubah suai."
diff --git a/editor/translations/editor/nb.po b/editor/translations/editor/nb.po
index e2001fa866..983d36f982 100644
--- a/editor/translations/editor/nb.po
+++ b/editor/translations/editor/nb.po
@@ -370,12 +370,6 @@ msgstr "Gå til forrige steg"
msgid "Use Bezier Curves"
msgstr "Bruk Bezier-kurver"
-msgid "Anim. Optimizer"
-msgstr "Anim. Optimaliserer"
-
-msgid "Max. Angular Error:"
-msgstr "Max. Vinklet Feilmelding:"
-
msgid "Optimize"
msgstr "Optimaliser"
@@ -3185,9 +3179,6 @@ msgstr "Avinstallerer …"
msgid "Invalid animation: '%s'."
msgstr "Ugyldig animasjon: '%s'."
-msgid "Must use a valid extension."
-msgstr "Må ha en gyldig filutvidelse."
-
msgid "(Other)"
msgstr "(Annet)"
diff --git a/editor/translations/editor/nl.po b/editor/translations/editor/nl.po
index 668568460d..d8b1c4d2a6 100644
--- a/editor/translations/editor/nl.po
+++ b/editor/translations/editor/nl.po
@@ -60,13 +60,14 @@
# voylin <0voylin0@gmail.com>, 2022.
# Gert-dev <qnyasgjhapqyuhoibr@kiabws.com>, 2022.
# Nnn <irri2020@outlook.com>, 2022.
+# Jasper <jasper@dj-dj.be>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-08 12:14+0000\n"
-"Last-Translator: Uxilo <jmolendijk93@gmail.com>\n"
+"PO-Revision-Date: 2023-02-13 03:50+0000\n"
+"Last-Translator: Jasper <jasper@dj-dj.be>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/godot-engine/godot/"
"nl/>\n"
"Language: nl\n"
@@ -76,6 +77,9 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.16-dev\n"
+msgid "Unset"
+msgstr "Niet ingesteld"
+
msgid "Physical"
msgstr "Fysiek"
@@ -103,6 +107,48 @@ msgstr "Dubbel Klik"
msgid "Mouse motion at position (%s) with velocity (%s)"
msgstr "Muis beweging op positie (%s) met snelheid (%s)"
+msgid "Left Stick X-Axis, Joystick 0 X-Axis"
+msgstr "Linker Pook X-As, Joystick 0 X-As"
+
+msgid "Left Stick Y-Axis, Joystick 0 Y-Axis"
+msgstr "Linker Pook Y-As, Joystick 0 Y-As"
+
+msgid "Right Stick X-Axis, Joystick 1 X-Axis"
+msgstr "Rechter Pook X-As, Joystick 1 X-As"
+
+msgid "Right Stick Y-Axis, Joystick 1 Y-Axis"
+msgstr "Rechter Pook Y-As, Joystick 1 Y-As"
+
+msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT"
+msgstr "Joystick 2 X-As, Linker Trekker, Sony L2, Xbox LT"
+
+msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT"
+msgstr "Joystick 2 Y-As, Rechter Trekker, Sony R2, Xbox RT"
+
+msgid "Unknown Joypad Axis"
+msgstr "Onbekende Joypad As"
+
+msgid "Joypad Motion on Axis %d (%s) with Value %.2f"
+msgstr "Joypad Beweging op As %d (%s) met Waarde %.2f"
+
+msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B"
+msgstr "Onderste Actie, Sony Kruisje, Xbox A, Nintendo B"
+
+msgid "Right Action, Sony Circle, Xbox B, Nintendo A"
+msgstr "Rechter Actie, Sony Cirkel, Xbox B, Nintendo A"
+
+msgid "Left Action, Sony Square, Xbox X, Nintendo Y"
+msgstr "Linker Actie, Sony Vierkantje, Xbox X, Nintendo Y"
+
+msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X"
+msgstr "Bovenste Actie, Sony Driehoekje, Xbox Y, Nintendo X"
+
+msgid "Back, Sony Select, Xbox Back, Nintendo -"
+msgstr "Terug, Sony Selecteer, Xbox Terug, Nintendo -"
+
+msgid "Guide, Sony PS, Xbox Home"
+msgstr "Gids, Sony PS, Xbox Thuis"
+
msgid "Select"
msgstr "Selecteer"
@@ -115,6 +161,9 @@ msgstr "Omhoog"
msgid "Down"
msgstr "Omlaag"
+msgid "Page Up"
+msgstr "Pagina Omhoog"
+
msgid "End"
msgstr "Einde"
@@ -136,6 +185,9 @@ msgstr "Opnieuw"
msgid "Delete"
msgstr "Verwijder"
+msgid "Caret Page Up"
+msgstr "Caret Pagina Omhoog"
+
msgid "Select All"
msgstr "Alles selecteren"
@@ -208,6 +260,9 @@ msgstr "Verwijder Actie"
msgid "Cannot Remove Action"
msgstr "Kan Actie Niet Verwijderen"
+msgid "Remove Event"
+msgstr "Remote Event"
+
msgid "Filter by name..."
msgstr "Filter op naam..."
@@ -553,12 +608,6 @@ msgstr "Gebruik Bezier Curves"
msgid "Create RESET Track(s)"
msgstr "Creëer RESET Track(s)"
-msgid "Anim. Optimizer"
-msgstr "Anim. Optimalisator"
-
-msgid "Max. Angular Error:"
-msgstr "Max. Fout in hoek:"
-
msgid "Optimize"
msgstr "Optimaliseren"
@@ -803,6 +852,9 @@ msgstr "Overeenkomsten:"
msgid "Description:"
msgstr "Omschrijving:"
+msgid "Remote %s:"
+msgstr "Remote %s:"
+
msgid "Debugger"
msgstr "Debugger"
@@ -1604,9 +1656,6 @@ msgstr "Openen"
msgid "Select Current Folder"
msgstr "Huidige Map Selecteren"
-msgid "File exists, overwrite?"
-msgstr "Bestand bestaat, overschrijven?"
-
msgid "Select This Folder"
msgstr "Deze map selecteren"
@@ -1749,6 +1798,9 @@ msgstr "overschrijft %s:"
msgid "default:"
msgstr "standaard:"
+msgid "Operators"
+msgstr "Operatoren"
+
msgid "Theme Properties"
msgstr "Thema-eigenschappen"
@@ -1864,6 +1916,9 @@ msgstr "Plaats Omlaag"
msgid "Resize Array"
msgstr "Array Grootte Wijzigen"
+msgid "New Size:"
+msgstr "Nieuwe Grootte:"
+
msgid "Set %s"
msgstr "Zet %s"
@@ -2073,9 +2128,15 @@ msgstr "Kan niet ongedaan maken terwijl de muis knoppen ingedrukt zijn."
msgid "Nothing to undo."
msgstr "Niks om ongedaan te maken."
+msgid "Remote Undo: %s"
+msgstr "Op afstand ongedaan maken: %s"
+
msgid "Can't redo while mouse buttons are pressed."
msgstr "Kan niet opnieuw doen terwijl de muis knoppen ingedrukt zijn."
+msgid "Remote Redo: %s"
+msgstr "Op afstand opnieuw doen: %s"
+
msgid "Can't reload a scene that was never saved."
msgstr "Een scène die nooit opgeslagen is kan niet opnieuw laden worden."
@@ -2556,6 +2617,9 @@ msgstr "Beeldvenster kiezen"
msgid "Selected node is not a Viewport!"
msgstr "Geselecteerde knoop is geen Viewport!"
+msgid "Size:"
+msgstr "Grootte:"
+
msgid "Remove Item"
msgstr "Verwijder Item"
@@ -2593,6 +2657,9 @@ msgstr "Nieuw Script"
msgid "Extend Script"
msgstr "Script uitbreiden"
+msgid "Remote Debug"
+msgstr "Remote Debug"
+
msgid ""
"No runnable export preset found for this platform.\n"
"Please add a runnable preset in the Export menu or define an existing preset "
@@ -2622,6 +2689,13 @@ msgstr "Sneltoetsen"
msgid "Binding"
msgstr "Binding"
+msgid ""
+"Hold %s to round to integers.\n"
+"Hold Shift for more precise changes."
+msgstr ""
+"Houdt %s ingedrukt om op gehele getallen af te ronden.\n"
+"Houdt Shift ingedrukt voor preciezere veranderingen."
+
msgid "All Devices"
msgstr "Alle Apparaten"
@@ -3233,6 +3307,9 @@ msgstr "Omleidingen per lokalisatie:"
msgid "Locale"
msgstr "Localisatie"
+msgid "Set %s on %d nodes"
+msgstr "Verwijder %d knopen"
+
msgid "Select a single node to edit its signals and groups."
msgstr "Selecteer één knoop om zijn signalen groepen aan te passen."
@@ -3626,6 +3703,9 @@ msgstr "Knopen verbinden."
msgid "Remove selected node or transition."
msgstr "De uitgekozen knoop of overgang verwijderen."
+msgid "Transition:"
+msgstr "Overgang:"
+
msgid "Play Mode:"
msgstr "Afspeelmodus:"
@@ -3860,6 +3940,9 @@ msgstr "Verplaats %d CanvasItems"
msgid "Move CanvasItem \"%s\" to (%d, %d)"
msgstr "CanvasItem \"%s\" naar (%d, %d) verplaatsen"
+msgid "Scaling:"
+msgstr "Schaal:"
+
msgid "Lock Selected"
msgstr "Slot Geselecteerd"
@@ -3893,6 +3976,11 @@ msgstr "Alt + Slepen : Schalen."
msgid "V: Set selected node's pivot position."
msgstr "V: Stel het draaipunt in van de geselecteerde Node."
+msgid "Alt+RMB: Show list of all nodes at position clicked, including locked."
+msgstr ""
+"Alt+RMB: Toont een lijst van alle nodes op de aangeklikte positie, inclusief "
+"vergrendeld."
+
msgid "Move Mode"
msgstr "Verplaatsingsmodus"
@@ -3905,6 +3993,9 @@ msgstr "Schaalmodus"
msgid "Shift: Scale proportionally."
msgstr "Shift: Proportioneel schalen."
+msgid "Show list of selectable nodes at position clicked."
+msgstr "Toont een lijst van selecteerbare nodes op de aangeklikte positie."
+
msgid "Click to change object's rotation pivot."
msgstr "Klik om het draaipunt van het object aan te passen."
@@ -4273,6 +4364,14 @@ msgstr ""
"Wanneer dit op afstand wordt gebruikt op een andere machine, is dit "
"efficiënter met de netwerk bestandssysteem optie aan."
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "Run %d Instantie"
+msgstr[1] "Run %d Instanties"
+
+msgid " - Variation"
+msgstr " - Variatie"
+
msgid "Convert to CPUParticles2D"
msgstr "Omzetten naar CPUParticles2D"
@@ -4312,6 +4411,9 @@ msgstr "Oppervlakte Punten+Normaal (Gericht)"
msgid "Volume"
msgstr "Volume"
+msgid "Emission Source:"
+msgstr "Emissiebron:"
+
msgid "Generate Visibility AABB"
msgstr "Genereer Zichtbaarheid AABB"
@@ -4624,6 +4726,9 @@ msgstr "Arrangeer Rotatie naar Aanzicht"
msgid "None"
msgstr "Geen"
+msgid "Translating:"
+msgstr "Translatie:"
+
msgid "Rotating %s degrees."
msgstr "Roteren %s graden."
@@ -4645,6 +4750,9 @@ msgstr "Weergave Overdraw"
msgid "Display Unshaded"
msgstr "Weergave Zonder Shading"
+msgid "Normal Buffer"
+msgstr "Normale Buffer"
+
msgid "View Environment"
msgstr "Bekijk Omgeving"
@@ -5467,6 +5575,15 @@ msgstr "Ongeldige geometrie, kan geen light occluder creëren."
msgid "Create LightOccluder2D Sibling"
msgstr "Creëer LightOccluder2D Sibling"
+msgid "Simplification:"
+msgstr "Simplificatie:"
+
+msgid "Shrink (Pixels):"
+msgstr "Krimpen (Pixels):"
+
+msgid "Grow (Pixels):"
+msgstr "Vergroot (Pixels):"
+
msgid "Update Preview"
msgstr "Voorbeeld bijwerken"
@@ -5512,6 +5629,9 @@ msgstr "(leeg)"
msgid "Animations:"
msgstr "Animaties:"
+msgid "Delete Animation"
+msgstr "Animatie wissen"
+
msgid "Animation Frames:"
msgstr "Animatiebeelden:"
@@ -5560,6 +5680,29 @@ msgstr "Automatisch Snijden"
msgid "Step:"
msgstr "Stap:"
+msgid "1 color"
+msgid_plural "{num} colors"
+msgstr[0] "1 kleur"
+msgstr[1] "{num} kleuren"
+
+msgid "1 constant"
+msgid_plural "{num} constants"
+msgstr[0] "1 constante"
+msgstr[1] "{num} constantes"
+
+msgid "1 font size"
+msgid_plural "{num} font sizes"
+msgstr[0] "1 lettertype grootte"
+msgstr[1] "{num} lettertype groottes"
+
+msgid "1 stylebox"
+msgid_plural "{num} styleboxes"
+msgstr[0] "1 stijlbox"
+msgstr[1] "{num} stijlboxen"
+
+msgid "Updating the editor"
+msgstr "Editor aan het updaten"
+
msgid "Remove Class Items"
msgstr "Class Items Verwijderen"
@@ -5644,6 +5787,9 @@ msgstr "Horizontaal omdraaien"
msgid "Flip Vertically"
msgstr "Verticaal omdraaien"
+msgid "Scattering:"
+msgstr "Verspreiding:"
+
msgid "Yes"
msgstr "Ja"
@@ -5656,6 +5802,9 @@ msgstr "Fout"
msgid "Commit"
msgstr "Commit"
+msgid "Discard changes"
+msgstr "Wijzigingen ongedaan maken"
+
msgid "Staged Changes"
msgstr "Gefaseerde Wijzigingen"
@@ -5689,9 +5838,18 @@ msgstr "SSH Wachtwoord"
msgid "Detect new changes"
msgstr "Detecteer nieuwe veranderingen"
+msgid "Discard all changes"
+msgstr "Alle wijzigingen ongedaan maken"
+
msgid "Commit Changes"
msgstr "Commit veranderingen"
+msgid "Remote Name"
+msgstr "Remote Naam"
+
+msgid "Remote URL"
+msgstr "Remote URL"
+
msgid "Modified"
msgstr "Bewerkt"
@@ -6150,10 +6308,10 @@ msgid ""
"incident vector, and Nref, the reference vector. If the dot product of I and "
"Nref is smaller than zero the return value is N. Otherwise -N is returned."
msgstr ""
-"Geeft de vector met dezelfde richting als de referentievector. De functie "
-"bevat drie vectorparameters: N, de oriëntatievector, I, de incidentvector en "
-"Nref, de referentievector. Als het inproduct van I en Nref kleiner dan nul "
-"is, is de terugkeerwaarde N, anders -N."
+"Geeft de vector dat naar dezelfde richting als de referentievector kijkt. De "
+"functie bevat drie vector parameters: N, de oriëntatievector, I, de "
+"incidenten vector en Nref, de referentievector. Als het punt product van I "
+"en Nref kleiner dan nul is, is de terugkeer waarde N, anders -N."
msgid ""
"Returns falloff based on the dot product of surface normal and view "
@@ -6369,6 +6527,12 @@ msgstr ""
msgid "Are you sure to run %d projects at once?"
msgstr "Weet je zeker dat je %d projecten wilt uitvoeren?"
+msgid "Remove %d projects from the list?"
+msgstr "%d projecten uit de lijst verwijderen?"
+
+msgid "Remove this project from the list?"
+msgstr "Dit project van de lijst verwijderen?"
+
msgid ""
"Remove all missing projects from the list?\n"
"The project folders' contents won't be modified."
@@ -6436,9 +6600,6 @@ msgstr "Wijzig Action Deadzone"
msgid "Erase Input Action"
msgstr "Verwijder Input Actie"
-msgid "Rename Input Action Event"
-msgstr "Hernoem Input Action Event"
-
msgid "Project Settings (project.godot)"
msgstr "Projectinstellingen (project.godot)"
@@ -6554,6 +6715,9 @@ msgstr "3D Scène"
msgid "User Interface"
msgstr "Gebruikersomgeving"
+msgid "Root Name:"
+msgstr "Root Naam:"
+
msgid "Error loading scene from %s"
msgstr "Fout bij het laden van scène uit %s"
@@ -6739,6 +6903,16 @@ msgstr "(Verbonden vanaf)"
msgid "Node configuration warning:"
msgstr "Waarschuwing over knoopconfiguratie:"
+msgid "Node has one connection."
+msgid_plural "Node has {num} connections."
+msgstr[0] "Node heeft een connectie."
+msgstr[1] "Node heeft {num} connecties."
+
+msgid "Node is in this group:"
+msgid_plural "Node is in the following groups:"
+msgstr[0] "Node is in deze groep:"
+msgstr[1] "Node is in de volgende groepen:"
+
msgid "Open Script:"
msgstr "Open Script:"
@@ -7010,6 +7184,9 @@ msgstr "Grootte"
msgid "Network Profiler"
msgstr "Netwerk Profiler"
+msgid "Delete Property?"
+msgstr "Property verwijderen?"
+
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr "Een NavigationMesh-bron is nodig om deze knoop te laten werken."
@@ -7126,6 +7303,14 @@ msgstr "APK Expansion werkt niet samen met Android App Bundle."
msgid "Invalid filename! Android APK requires the *.apk extension."
msgstr "Bestandsnaam niet toegestaan! Android APK vereist een *.apk extensie."
+msgid ""
+"Android build version mismatch: Template installed: %s, Godot version: %s. "
+"Please reinstall Android build template from 'Project' menu."
+msgstr ""
+"Android build versie mismatch: Template geïnstalleerd: %s, Godot versie: %s. "
+"Gelieve het Android build template vanuit het 'Project' menu te "
+"Herinstalleren."
+
msgid "Building Android Project (gradle)"
msgstr "Bouwen van Android Project (gradle)"
@@ -7319,6 +7504,9 @@ msgstr ""
"Niets is zichtbaar want meshes zijn niet toegewezen aan de tekendoorlopen "
"(draw passes)."
+msgid "Generating Probe Volumes"
+msgstr "Sonde volumes aan het genereren"
+
msgid "This body will be ignored until you set a mesh."
msgstr "Dit lichaam zal worden genegeerd totdat je een mesh instelt."
@@ -7363,9 +7551,6 @@ msgstr ""
msgid "The AnimationPlayer root node is not a valid node."
msgstr "De AnimationPlayer wortel is een ongeldig knoop."
-msgid "Pick a color from the editor window."
-msgstr "Kies een kleur uit het editorvenster."
-
msgid "Switch between hexadecimal and code values."
msgstr "Wissel tussen hexadecimaal en codewaarden."
@@ -7396,9 +7581,6 @@ msgstr "Alarm!"
msgid "Please Confirm..."
msgstr "Bevestig alstublieft..."
-msgid "Must use a valid extension."
-msgstr "Een geldige extensie moet gebruikt worden."
-
msgid "Enable grid minimap."
msgstr "Rasteroverzicht inschakelen."
@@ -7441,3 +7623,15 @@ msgstr "Toewijzing aan uniform."
msgid "Constants cannot be modified."
msgstr "Constanten kunnen niet worden aangepast."
+
+msgid "Invalid argument name."
+msgstr "Ongeldige argument naam."
+
+msgid "Invalid macro argument list."
+msgstr "Ongeldige macro argumenten lijst."
+
+msgid "Invalid macro argument."
+msgstr "Ongeldig macro argument."
+
+msgid "Invalid macro argument count."
+msgstr "Ongeldige hoeveelheid macro argumenten."
diff --git a/editor/translations/editor/pl.po b/editor/translations/editor/pl.po
index 68805f2e2d..d32906f9e1 100644
--- a/editor/translations/editor/pl.po
+++ b/editor/translations/editor/pl.po
@@ -71,12 +71,14 @@
# Jan Kurzak <Iqaz0oki@outlook.com>, 2022, 2023.
# Wojciech Pluta <wojciech.pluta@oracle.com>, 2022.
# mars9t <mars9t.dev@gmail.com>, 2023.
+# Michał Walczak <mjf.walczak@gmail.com>, 2023.
+# Lukas <ox86udoo@duck.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 00:54+0000\n"
+"PO-Revision-Date: 2023-02-20 10:58+0000\n"
"Last-Translator: Tomek <kobewi4e@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
"godot/pl/>\n"
@@ -229,6 +231,12 @@ msgstr "Xbox paletka 4"
msgid "PS4/5 Touchpad"
msgstr "PS4/5 panel dotykowy"
+msgid "Joypad Button %d"
+msgstr "Przycisk joysticka %d"
+
+msgid "Pressure:"
+msgstr "Nacisk:"
+
msgid "touched"
msgstr "dotknięty"
@@ -408,9 +416,6 @@ msgstr "Wyczyść kursory i zaznaczenie"
msgid "Toggle Insert Mode"
msgstr "Przełącz tryb wstawiania"
-msgid "Text Submitted"
-msgstr "Tekst przedłożony"
-
msgid "Duplicate Nodes"
msgstr "Duplikuj węzły"
@@ -491,6 +496,12 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "Akcja o nazwie \"%s\" już istnieje."
+msgid "Cannot Revert - Action is same as initial"
+msgstr "Nie można przywrócić - akcja jest taka sama jak początkowa"
+
+msgid "Revert Action"
+msgstr "Przywróć akcję"
+
msgid "Add Event"
msgstr "Dodaj zdarzenie"
@@ -614,9 +625,30 @@ msgstr "Zmień długość animacji"
msgid "Change Animation Loop"
msgstr "Zmień pętle animacji"
+msgid "Can't change loop mode on animation instanced from imported scene."
+msgstr ""
+"Nie można zmienić trybu zapętlania w animacji instancjonowanej z "
+"importowanej sceny."
+
+msgid "Can't change loop mode on animation embedded in another scene."
+msgstr ""
+"Nie można zmienić trybu zapętlania w animacji zagnieżdżonej w innej scenie."
+
msgid "Property Track"
msgstr "Ścieżka właściwości"
+msgid "3D Position Track"
+msgstr "Ścieżka pozycji 3D"
+
+msgid "3D Rotation Track"
+msgstr "Ścieżka obrotu 3D"
+
+msgid "3D Scale Track"
+msgstr "Ścieżka skali 3D"
+
+msgid "Blend Shape Track"
+msgstr "Ścieżka mieszania kształtu"
+
msgid "Call Method Track"
msgstr "Ścieżka wywołania metody"
@@ -647,12 +679,18 @@ msgstr "Funkcje:"
msgid "Audio Clips:"
msgstr "Klipy dźwiękowe:"
+msgid "Animation Clips:"
+msgstr "Klipy animacji:"
+
msgid "Change Track Path"
msgstr "Zmień adres ścieżki"
msgid "Toggle this track on/off."
msgstr "Włącz/wyłącz ścieżkę."
+msgid "Use Blend"
+msgstr "Użyj mieszania"
+
msgid "Update Mode (How this property is set)"
msgstr "Sposób odświeżania (jak ta właściwość jest ustawiana)"
@@ -677,6 +715,9 @@ msgstr "Obrót:"
msgid "Scale:"
msgstr "Skala:"
+msgid "Blend Shape:"
+msgstr "Kształt mieszania:"
+
msgid "Type:"
msgstr "Typ:"
@@ -692,6 +733,18 @@ msgstr "Uchwyt wew.:"
msgid "Out-Handle:"
msgstr "Uchwyt zew.:"
+msgid "Handle mode: Free\n"
+msgstr "Tryb uchwytów: swobodne\n"
+
+msgid "Handle mode: Linear\n"
+msgstr "Tryb uchwytów: liniowe\n"
+
+msgid "Handle mode: Balanced\n"
+msgstr "Tryb uchwytów: zrównoważone\n"
+
+msgid "Handle mode: Mirrored\n"
+msgstr "Tryb uchwytów: odbite\n"
+
msgid "Stream:"
msgstr "Strumień:"
@@ -707,6 +760,9 @@ msgstr "Animacja:"
msgid "Toggle Track Enabled"
msgstr "Przełącz aktywność ścieżki"
+msgid "Don't Use Blend"
+msgstr "Nie używaj mieszania"
+
msgid "Continuous"
msgstr "Ciągłe"
@@ -725,6 +781,12 @@ msgstr "Liniowy"
msgid "Cubic"
msgstr "Sześcienny"
+msgid "Linear Angle"
+msgstr "Kąt liniowy"
+
+msgid "Cubic Angle"
+msgstr "Kąt sześcienny"
+
msgid "Clamp Loop Interp"
msgstr "Przytnij"
@@ -752,12 +814,31 @@ msgstr "Zmień sposób interpolacji animacji"
msgid "Change Animation Loop Mode"
msgstr "Zmień sposób zapętlania animacji"
+msgid "Change Animation Use Blend"
+msgstr "Zmień animację, by używała mieszania"
+
+msgid ""
+"Compressed tracks can't be edited or removed. Re-import the animation with "
+"compression disabled in order to edit."
+msgstr ""
+"Skompresowane ścieżki nie mogą być edytowane ani usuwane. Przeimportuj "
+"animację z wyłączoną kompresją, by edytować."
+
msgid "Remove Anim Track"
msgstr "Usuń ścieżkę animacji"
+msgid "Create new track for %s and insert key?"
+msgstr "Utworzyć nową ścieżkę dla %s i wstawić klatki kluczowe?"
+
+msgid "Create %d new tracks and insert keys?"
+msgstr "Utworzyć %d nowych ścieżek i wstawić klatki kluczowe?"
+
msgid "Create"
msgstr "Utwórz"
+msgid "Animation Insert Key"
+msgstr "Animacja wstaw klatkę kluczową"
+
msgid "node '%s'"
msgstr "węzeł \"%s\""
@@ -777,6 +858,15 @@ msgstr "Zmień krok animacji"
msgid "Rearrange Tracks"
msgstr "Przestaw ścieżki"
+msgid "Blend Shape tracks only apply to MeshInstance3D nodes."
+msgstr ""
+"Ścieżki kształtu mieszania mogą być zastosowane tylko do węzłów "
+"MeshInstance3D."
+
+msgid "Position/Rotation/Scale 3D tracks only apply to 3D-based nodes."
+msgstr ""
+"Ścieżki pozycji/obrotu/skali 3D mogą być zastosowane tylko do węzłów 3D."
+
msgid ""
"Audio tracks can only point to nodes of type:\n"
"-AudioStreamPlayer\n"
@@ -803,6 +893,18 @@ msgstr "Dodaj ścieżkę krzywej Beziera"
msgid "Track path is invalid, so can't add a key."
msgstr "Ścieżka jest nieprawidłowa, więc nie można wstawić klucza."
+msgid "Track is not of type Node3D, can't insert key"
+msgstr "Ścieżka nie jest typu Node3D, nie można wstawić klatki kluczowej"
+
+msgid "Add Position Key"
+msgstr "Dodaj klatkę kluczową pozycji"
+
+msgid "Add Rotation Key"
+msgstr "Dodaj klatkę kluczową obrotu"
+
+msgid "Add Scale Key"
+msgstr "Dodaj klatkę kluczową skali"
+
msgid "Add Track Key"
msgstr "Dodaj klucz ścieżki"
@@ -815,6 +917,9 @@ msgstr "Dodaj klucz ścieżki metody"
msgid "Method not found in object:"
msgstr "Metoda nie znaleziona w obiekcie:"
+msgid "Animation Move Keys"
+msgstr "Animacja przesuń klatki kluczowe"
+
msgid "Position"
msgstr "Pozycja"
@@ -824,6 +929,9 @@ msgstr "Obrót"
msgid "Scale"
msgstr "Skala"
+msgid "BlendShape"
+msgstr "KształtMieszania"
+
msgid "Methods"
msgstr "Metody"
@@ -839,17 +947,54 @@ msgstr "Schowek jest pusty!"
msgid "Paste Tracks"
msgstr "Wklej ścieżki"
+msgid "Animation Scale Keys"
+msgstr "Animacja przeskaluj klatki kluczowe"
+
+msgid "Make Easing Keys"
+msgstr "Utwórz klatki kluczowe wygładzania"
+
msgid ""
"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
"Ta opcja nie działa dla edycji Beziera, ponieważ jest to tylko jedna ścieżka."
+msgid "Animation Add RESET Keys"
+msgstr "Animacja dodaj klatki kluczowe RESET"
+
+msgid "Bake Animation as Linear keys."
+msgstr "Wypiecz animację jako liniowe klatki kluczowe."
+
+msgid ""
+"This animation belongs to an imported scene, so changes to imported tracks "
+"will not be saved.\n"
+"\n"
+"To modify this animation, navigate to the scene's Advanced Import settings "
+"and select the animation.\n"
+"Some options, including looping, are available here. To add custom tracks, "
+"enable \"Save To File\" and\n"
+"\"Keep Custom Tracks\"."
+msgstr ""
+"Ta animacja należy do importowanej sceny, więc zmiany w importowanych "
+"ścieżkach nie zostaną zapisane.\n"
+"\n"
+"By zmodyfikować tę animację, przejdź do zaawansowanych ustawień importu "
+"sceny i wybierz animację.\n"
+"Niektóre opcje, włączając w to zapętlanie, są tu dostępne. By dodać własne "
+"ścieżki, włącz \"Zapisz do pliku\" i\n"
+"\"Zachowaj własne ścieżki\"."
+
msgid "Warning: Editing imported animation"
msgstr "Ostrzeżenie: Edytowanie importowanej animacji"
msgid "Select an AnimationPlayer node to create and edit animations."
msgstr "Wybierz węzeł AnimationPlayer, by tworzyć i edytować animacje."
+msgid "Imported Scene"
+msgstr "Importowana scena"
+
+msgid "Toggle between the bezier curve editor and track editor."
+msgstr "Przełącz między edytorem krzywych beziera i edytorem ścieżki."
+
msgid "Only show tracks from nodes selected in tree."
msgstr "Pokaż tylko ścieżki z węzłów zaznaczonych w drzewie."
@@ -883,6 +1028,9 @@ msgstr "Skaluj zaznaczone"
msgid "Scale From Cursor"
msgstr "Skaluj od kursora"
+msgid "Make Easing Selection"
+msgstr "Interpoluj zaznaczone"
+
msgid "Duplicate Selection"
msgstr "Duplikuj zaznaczone"
@@ -901,18 +1049,24 @@ msgstr "Przejdź do poprzedniego kroku"
msgid "Apply Reset"
msgstr "Zastosuj reset"
+msgid "Bake Animation"
+msgstr "Wypiecz animację"
+
+msgid "Optimize Animation (no undo)"
+msgstr "Optymalizuj animację (nie można cofnąć)"
+
+msgid "Clean-Up Animation (no undo)"
+msgstr "Oczyść animację (nie można cofnąć)"
+
+msgid "Pick a node to animate:"
+msgstr "Wybierz węzeł do animowania:"
+
msgid "Use Bezier Curves"
msgstr "Użyj krzywych Beziera"
msgid "Create RESET Track(s)"
msgstr "Utwórz ścieżki RESET"
-msgid "Anim. Optimizer"
-msgstr "Optymalizator animacji"
-
-msgid "Max. Angular Error:"
-msgstr "Maks. błąd kątowy:"
-
msgid "Optimize"
msgstr "Zoptymalizuj"
@@ -934,12 +1088,18 @@ msgstr "Oczyść"
msgid "Scale Ratio:"
msgstr "Współczynnik skali:"
+msgid "Select Transition and Easing"
+msgstr "Wybierz przejście i łagodzenie"
+
msgid "Select Tracks to Copy"
msgstr "Wybierz ścieżki do skopiowania"
msgid "Select All/None"
msgstr "Wybierz wszystkie/żadne"
+msgid "Animation Change Keyframe Time"
+msgstr "Animacja zmień czas klatki kluczowej"
+
msgid "Add Audio Track Clip"
msgstr "Dodaj klip ścieżki audio"
@@ -958,6 +1118,18 @@ msgstr "Numer linii:"
msgid "%d replaced."
msgstr "%d zamieniono."
+msgid "%d match"
+msgid_plural "%d matches"
+msgstr[0] "%d dopasowanie"
+msgstr[1] "%d dopasowania"
+msgstr[2] "%d dopasowań"
+
+msgid "%d of %d match"
+msgid_plural "%d of %d matches"
+msgstr[0] "%d z %d dopasowania"
+msgstr[1] "%d z %d dopasowań"
+msgstr[2] "%d z %d dopasowań"
+
msgid "Match Case"
msgstr "Uwzględnij wielkość liter"
@@ -1007,6 +1179,9 @@ msgstr ""
"Docelowa metoda nie znaleziona. Podaj właściwą metodę lub dołącz skrypt do "
"wybranego węzła."
+msgid "Attached Script"
+msgstr "Dołączony skrypt"
+
msgid "Connect to Node:"
msgstr "Połącz do węzła:"
@@ -1016,12 +1191,30 @@ msgstr "Połącz do skryptu:"
msgid "From Signal:"
msgstr "Z sygnału:"
+msgid "Filter Nodes"
+msgstr "Filtruj węzły"
+
+msgid "Go to Source"
+msgstr "Idź do źródła"
+
msgid "Scene does not contain any script."
msgstr "Scena nie posiada żadnego skryptu."
msgid "Select Method"
msgstr "Wybierz metodę"
+msgid "Filter Methods"
+msgstr "Filtruj metody"
+
+msgid "No method found matching given filters."
+msgstr "Nie znaleziono metody odpowiadającej podanym filtrom."
+
+msgid "Script Methods Only"
+msgstr "Tylko metody ze skryptu"
+
+msgid "Compatible Methods Only"
+msgstr "Tylko metody kompatybilne"
+
msgid "Remove"
msgstr "Usuń"
@@ -1031,6 +1224,12 @@ msgstr "Dodaj dodatkowy argument wywołania funkcji:"
msgid "Extra Call Arguments:"
msgstr "Dodatkowe argumenty wywołania:"
+msgid "Allows to drop arguments sent by signal emitter."
+msgstr "Pozwala na pominięcie argumentów przesłanych przez emiter sygnału."
+
+msgid "Unbind Signal Arguments:"
+msgstr "Odwiąż argumenty sygnału:"
+
msgid "Receiver Method:"
msgstr "Metoda odbiorcy:"
@@ -1063,6 +1262,9 @@ msgstr "Połącz"
msgid "Signal:"
msgstr "Sygnał:"
+msgid "No description."
+msgstr "Brak opisu."
+
msgid "Connect '%s' to '%s'"
msgstr "Połącz '%s' z '%s'"
@@ -1081,24 +1283,36 @@ msgstr "Rozłącz"
msgid "Connect a Signal to a Method"
msgstr "Połącz sygnał do metody"
+msgid "Edit Connection: '%s'"
+msgstr "Edytuj połączenie: '%s'"
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "Na pewno chcesz usunąć wszystkie połączenia z sygnału \"%s\"?"
msgid "Signals"
msgstr "Sygnały"
+msgid "Filter Signals"
+msgstr "Filtruj sygnały"
+
msgid "Are you sure you want to remove all connections from this signal?"
msgstr "Na pewno chcesz usunąć wszystkie połączenia z tego sygnału?"
msgid "Disconnect All"
msgstr "Rozłącz wszystkie"
+msgid "Copy Name"
+msgstr "Kopiuj nazwę"
+
msgid "Edit..."
msgstr "Edytuj..."
msgid "Go to Method"
msgstr "Idź do metody"
+msgid "Change Type of \"%s\""
+msgstr "Zmień typ \"%s\""
+
msgid "Change"
msgstr "Zmień"
@@ -1108,6 +1322,12 @@ msgstr "Utwórz nowy %s"
msgid "No results for \"%s\"."
msgstr "Brak wyników dla \"%s\"."
+msgid "This class is marked as deprecated."
+msgstr "Ta klasa jest oznaczona jako przestarzała."
+
+msgid "This class is marked as experimental."
+msgstr "Ta klasa jest oznaczona jako eksperymentalna."
+
msgid "No description available for %s."
msgstr "Brak dostępnego opisu dla %s."
@@ -1117,6 +1337,9 @@ msgstr "Ulubione:"
msgid "Recent:"
msgstr "Ostatnie:"
+msgid "(Un)favorite selected item."
+msgstr "Dodaj/usuń wybrany element z ulubionych."
+
msgid "Search:"
msgstr "Szukaj:"
@@ -1126,6 +1349,9 @@ msgstr "Pasujące:"
msgid "Description:"
msgstr "Opis:"
+msgid "Remote %s:"
+msgstr "Zdalny %s:"
+
msgid "Debugger"
msgstr "Debugger"
@@ -1141,9 +1367,21 @@ msgstr "Skopiuj ścieżkę węzła"
msgid "Instance:"
msgstr "Instancja:"
+msgid ""
+"This node has been instantiated from a PackedScene file:\n"
+"%s\n"
+"Click to open the original file in the Editor."
+msgstr ""
+"Ten węzeł został utworzony z pliku PackedScene:\n"
+"%s\n"
+"Kliknij aby otworzyć oryginalny plik w edytorze."
+
msgid "Toggle Visibility"
msgstr "Przełącz widoczność"
+msgid "ms"
+msgstr "ms"
+
msgid "Monitors"
msgstr "Monitory"
@@ -1213,6 +1451,21 @@ msgstr "Czas"
msgid "Calls"
msgstr "Wywołania"
+msgid "Fit to Frame"
+msgstr "Dopasuj do klatki"
+
+msgid "Linked"
+msgstr "Połączone"
+
+msgid "CPU"
+msgstr "CPU"
+
+msgid "GPU"
+msgstr "procesor graficzny"
+
+msgid "Execution resumed."
+msgstr "Wykonywanie wznowione."
+
msgid "Bytes:"
msgstr "Bajty:"
@@ -1225,9 +1478,39 @@ msgstr "Błąd:"
msgid "%s Error"
msgstr "Błąd %s"
+msgid "%s Error:"
+msgstr "Błąd %s:"
+
+msgid "%s Source"
+msgstr "Źródło %s"
+
+msgid "%s Source:"
+msgstr "Źródło %s:"
+
msgid "Stack Trace"
msgstr "Ślad stosu"
+msgid "Stack Trace:"
+msgstr "Ślad stosu:"
+
+msgid "Debug session started."
+msgstr "Sesja debugowania rozpoczęta."
+
+msgid "Debug session closed."
+msgstr "Sesja debugowania zamknięta."
+
+msgid "Line %d"
+msgstr "Wiersz %d"
+
+msgid "Delete Breakpoint"
+msgstr "Usuń punkt wstrzymania"
+
+msgid "Delete All Breakpoints in:"
+msgstr "Usuń wszystkie punkty wstrzymania w:"
+
+msgid "Delete All Breakpoints"
+msgstr "Usuń wszystkie punkty wstrzymania"
+
msgid "Copy Error"
msgstr "Kopiuj błąd"
@@ -1258,6 +1541,9 @@ msgstr "Kontynuuj"
msgid "Stack Frames"
msgstr "Ramki stosu"
+msgid "Filter Stack Variables"
+msgstr "Filtruj zmienne stosu"
+
msgid "Breakpoints"
msgstr "Punkty wstrzymania"
@@ -1270,6 +1556,9 @@ msgstr "Zwiń wszystko"
msgid "Profiler"
msgstr "Profiler"
+msgid "Visual Profiler"
+msgstr "Profiler wizualny"
+
msgid "List of Video Memory Usage by Resource:"
msgstr "Zużycie pamięci wideo według zasobów:"
@@ -1359,6 +1648,12 @@ msgstr "Otwórz sceny"
msgid "Owners of: %s (Total: %d)"
msgstr "Właściciele: %s (Suma: %d)"
+msgid "Localization remap"
+msgstr "Przemapowanie lokalizacji"
+
+msgid "Localization remap for path '%s' and locale '%s'."
+msgstr "Transformacja lokalizacji dla ścieżki %s i języka %s."
+
msgid ""
"Remove the selected files from the project? (Cannot be undone.)\n"
"Depending on your filesystem configuration, the files will either be moved "
@@ -1576,6 +1871,12 @@ msgstr "Omiń"
msgid "Bus Options"
msgstr "Opcje magistrali"
+msgid "Duplicate Bus"
+msgstr "Duplikuj magistralę"
+
+msgid "Delete Bus"
+msgstr "Usuń magistralę"
+
msgid "Reset Volume"
msgstr "Zresetuj głośność"
@@ -1663,18 +1964,27 @@ msgstr "Dopuszczalne znaki:"
msgid "Must not collide with an existing engine class name."
msgstr "Nie może kolidować z nazwą istniejącej klasy silnika."
+msgid "Must not collide with an existing global script class name."
+msgstr "Nie może kolidować z nazwą istniejącej globalnej klasy skryptowej."
+
msgid "Must not collide with an existing built-in type name."
msgstr "Nie może kolidować z nazwą istniejącego wbudowanego typu."
msgid "Must not collide with an existing global constant name."
msgstr "Nie może kolidować z nazwą istniejącej globalnej stałej."
+msgid "Keyword cannot be used as an Autoload name."
+msgstr "Słowo kluczowe nie może zostać użyte jako nazwa autoładowania."
+
msgid "Autoload '%s' already exists!"
msgstr "Autoładowanie \"%s\" już istnieje!"
msgid "Rename Autoload"
msgstr "Zmień nazwę Autoload"
+msgid "Toggle Autoload Globals"
+msgstr "Przełącz globalne autoładowanie"
+
msgid "Move Autoload"
msgstr "Przemieść Autoload"
@@ -1687,27 +1997,151 @@ msgstr "Włącz"
msgid "Rearrange Autoloads"
msgstr "Przestaw Autoloady"
+msgid "Can't add Autoload:"
+msgstr "Nie można dodać autoładowania:"
+
msgid "%s is an invalid path. File does not exist."
msgstr "Ścieżka %s jest nieprawidłowa. Plik nie istnieje."
msgid "%s is an invalid path. Not in resource path (res://)."
msgstr "%s jest nieprawidłową ścieżką. Nie jest ścieżką zasobu (res://)."
+msgid "Add Autoload"
+msgstr "Dodaj autoładowanie"
+
msgid "Path:"
msgstr "Ścieżka:"
+msgid "Set path or press \"%s\" to create a script."
+msgstr "Wybierz ścieżkę lub naciśnij \"%s\" aby utworzyć skrypt."
+
msgid "Node Name:"
msgstr "Nazwa węzła:"
msgid "Global Variable"
msgstr "Zmienna globalna"
+msgid "3D Engine"
+msgstr "Silnik 3D"
+
+msgid "2D Physics"
+msgstr "Fizyka 2D"
+
+msgid "3D Physics"
+msgstr "Fizyka 3D"
+
msgid "Navigation"
msgstr "Nawigacja"
+msgid "XR"
+msgstr "XR"
+
+msgid "RenderingDevice"
+msgstr "RenderingDevice"
+
msgid "OpenGL"
msgstr "OpenGL"
+msgid "Vulkan"
+msgstr "Vulkan"
+
+msgid "Text Server: Fallback"
+msgstr "Serwer tekstu: rezerwowy"
+
+msgid "Text Server: Advanced"
+msgstr "Serwer tekstu: zaawansowany"
+
+msgid "TTF, OTF, Type 1, WOFF1 Fonts"
+msgstr "fonty TTF, OTF, Type 1, WOOF1"
+
+msgid "WOFF2 Fonts"
+msgstr "Czcionki WOFF2"
+
+msgid "SIL Graphite Fonts"
+msgstr "Czcionki SIL Graphite"
+
+msgid "Multi-channel Signed Distance Field Font Rendering"
+msgstr "Renderowanie czcionek wielokanałowym znakowanym polem odległości"
+
+msgid "3D Nodes as well as RenderingServer access to 3D features."
+msgstr "Węzły 3D oraz dostęp RenderingServer do funkcjonalności 3D."
+
+msgid "2D Physics nodes and PhysicsServer2D."
+msgstr "Węzły fizyczne 2D i PhysicsServer2D."
+
+msgid "3D Physics nodes and PhysicsServer3D."
+msgstr "Węzły fizyczne 3D i PhysicsServer3D."
+
+msgid "Navigation, both 2D and 3D."
+msgstr "Nawigacja, zarówno 2D i 3D."
+
+msgid "XR (AR and VR)."
+msgstr "XR (AR i VR)."
+
+msgid ""
+"RenderingDevice based rendering (if disabled, the OpenGL back-end is "
+"required)."
+msgstr ""
+"Renderowanie bazowane na RenderingDevice (jeśli wyłączone, back-end OpenGL "
+"jest wymagany)."
+
+msgid ""
+"OpenGL back-end (if disabled, the RenderingDevice back-end is required)."
+msgstr ""
+"Back-end OpenGL (jak wyłączone, back-end RenderingDevice jest wymagany)."
+
+msgid "Vulkan back-end of RenderingDevice."
+msgstr "Back-end Vulkan dla RenderingDevice."
+
+msgid ""
+"Fallback implementation of Text Server\n"
+"Supports basic text layouts."
+msgstr ""
+"Implementacja rezerw serwera tekstu.\n"
+"Obsługuje podstawowe układy tekstu."
+
+msgid ""
+"Text Server implementation powered by ICU and HarfBuzz libraries.\n"
+"Supports complex text layouts, BiDi, and contextual OpenType font features."
+msgstr ""
+"Implementacja serwera tekstu wspomagana przez biblioteki ICU i HarfBuzz.\n"
+"Wspiera złożone układy tekstu, BiDi i kontekstowe funkcjonalności czcionek "
+"OpenType."
+
+msgid ""
+"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType "
+"library (if disabled, WOFF2 support is also disabled)."
+msgstr ""
+"Obsługa formatów czcionek TrueType, OpenType, Type 1 i WOFF1 używając "
+"biblioteki FreeType (jeśli wyłączone, obsługa WOFF2 jest również wyłączona)."
+
+msgid "WOFF2 font format support using FreeType and Brotli libraries."
+msgstr "Obsługa formatu czcionek WOFF2 używając bibliotek FreeType i Brotli."
+
+msgid ""
+"SIL Graphite smart font technology support (supported by Advanced Text "
+"Server only)."
+msgstr ""
+"Wsparcie technologii inteligentnych czcionek SIL Graphite (wspierane tylko "
+"przez zaawansowany serwer tekstu)."
+
+msgid ""
+"Multi-channel signed distance field font rendering support using msdfgen "
+"library (pre-rendered MSDF fonts can be used even if this option disabled)."
+msgstr ""
+"Wsparcie renderowania czcionek wielokanałowym znakowanym polem odległości z "
+"użyciem biblioteki msdfgen (pre-renderowane czcionki MSDF mogą być używane "
+"nawet jeśli ta opcja jest wyłączona)."
+
+msgid "General Features:"
+msgstr "Ogólne funkcjonalności:"
+
+msgid "Text Rendering and Font Options:"
+msgstr "Opcje renderowania tekstu i czcionek:"
+
+msgid "File saving failed."
+msgstr "Zapis pliku nieudany."
+
msgid "Nodes and Classes:"
msgstr "Węzły i klasy:"
@@ -1723,12 +2157,42 @@ msgstr "Nowy"
msgid "Save"
msgstr "Zapisz"
+msgid "Profile:"
+msgstr "Profil:"
+
msgid "Reset to Defaults"
msgstr "Resetuj do domyślnych"
+msgid "Detect from Project"
+msgstr "Wykryj z projektu"
+
+msgid "Actions:"
+msgstr "Akcje:"
+
+msgid "Configure Engine Build Profile:"
+msgstr "Konfiguruj profil budowania silnika:"
+
+msgid "Please Confirm:"
+msgstr "Proszę potwierdzić:"
+
+msgid "Engine Build Profile"
+msgstr "Profil budowania silnika"
+
+msgid "Load Profile"
+msgstr "Wczytaj profil"
+
msgid "Export Profile"
msgstr "Eksportuj profil"
+msgid "Forced classes on detect:"
+msgstr "Wymuszone klasy po wykryciu:"
+
+msgid "Edit Build Configuration Profile"
+msgstr "Edytuj profil konfiguracji budowania"
+
+msgid "Filter Commands"
+msgstr "Filtruj komendy"
+
msgid "Paste Params"
msgstr "Wklej parametry"
@@ -1750,6 +2214,9 @@ msgstr "[niezapisany]"
msgid "Please select a base directory first."
msgstr "Najpierw wybierz katalog podstawowy."
+msgid "Could not create folder. File with that name already exists."
+msgstr "Nie można utworzyć folderu. Istnieje już plik o tej nazwie."
+
msgid "Choose a Directory"
msgstr "Wybierz katalog"
@@ -1786,6 +2253,9 @@ msgstr "System plików"
msgid "Import Dock"
msgstr "Dok importowania"
+msgid "History Dock"
+msgstr "Dok historii"
+
msgid "Allows to view and edit 3D scenes."
msgstr "Pozwala wyświetlać i edytować sceny 3D."
@@ -1814,6 +2284,9 @@ msgstr ""
"Pozwala konfigurować ustawienia importu dla indywidualnych zasobów. Wymaga "
"doku systemu plików do funkcjonowania."
+msgid "Provides an overview of the editor's and each scene's undo history."
+msgstr "Zapewnia przegląd historii cofania edytora i każdej ze scen."
+
msgid "(current)"
msgstr "(bieżący)"
@@ -1911,9 +2384,6 @@ msgstr "Otwórz"
msgid "Select Current Folder"
msgstr "Wybierz bieżący katalog"
-msgid "File exists, overwrite?"
-msgstr "Plik istnieje, nadpisać?"
-
msgid "Select This Folder"
msgstr "Wybierz ten folder"
@@ -1950,6 +2420,9 @@ msgstr "Otwórz plik lub katalog"
msgid "Save a File"
msgstr "Zapisz plik"
+msgid "Favorited folder does not exist anymore and will be removed."
+msgstr "Ulubiony folder już nie istnieje i zostanie usunięty."
+
msgid "Go Back"
msgstr "Wróć"
@@ -2010,6 +2483,22 @@ msgstr "Podgląd:"
msgid "File:"
msgstr "Plik:"
+msgid ""
+"Remove the selected files? For safety only files and empty directories can "
+"be deleted from here. (Cannot be undone.)\n"
+"Depending on your filesystem configuration, the files will either be moved "
+"to the system trash or deleted permanently."
+msgstr ""
+"Usunąć wybrane pliki z projektu? Dla bezpieczeństwa, tylko pliki i puste "
+"katalogi mogą być stąd usunięte. (Nie można cofnąć.)\n"
+"W zależności od konfiguracji systemu plików, te pliki zostaną przeniesione "
+"do systemowego kosza albo usunięte na stałe."
+
+msgid "Some extensions need the editor to restart to take effect."
+msgstr ""
+"Niektóre rozszerzenia wymagają, by edytor został zrestartowany, żeby "
+"działały."
+
msgid "Restart"
msgstr "Uruchom ponownie"
@@ -2027,6 +2516,55 @@ msgstr "Istnieje wiele importerów różnych typów dla pliku %s, import przerwa
msgid "(Re)Importing Assets"
msgstr "(Ponowne) importowanie zasobów"
+msgid "Import resources of type: %s"
+msgstr "Zaimportuj zasoby typu: %s"
+
+msgid "No return value."
+msgstr "Brak zwracanego typu."
+
+msgid "Deprecated"
+msgstr "Przestarzałe"
+
+msgid "Experimental"
+msgstr "Eksperymentalne"
+
+msgid "This method supports a variable number of arguments."
+msgstr "Ta metoda wspiera zmienną liczbę argumentów."
+
+msgid ""
+"This method is called by the engine.\n"
+"It can be overridden to customize built-in behavior."
+msgstr ""
+"Ta metoda jest wołana przez silnik.\n"
+"Może być nadpisana, by dostosować wbudowane działanie."
+
+msgid ""
+"This method has no side effects.\n"
+"It does not modify the object in any way."
+msgstr ""
+"Ta metoda nie ma skutków ubocznych.\n"
+"Nie modyfikuje obiektu w żaden sposób."
+
+msgid ""
+"This method does not need an instance to be called.\n"
+"It can be called directly using the class name."
+msgstr ""
+"Ta metoda nie wymaga instancji, by zostać wywołana.\n"
+"Może być wywołana bezpośrednio na nazwie klasy."
+
+msgid "Error codes returned:"
+msgstr "Zwrócone kody błędu:"
+
+msgid "There is currently no description for this %s."
+msgstr "Aktualnie nie ma opisu dla tego %s."
+
+msgid ""
+"There is currently no description for this %s. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Obecnie nie ma opisu dla tej %s. Proszę pomóż nam [color=$color]"
+"[url=$url]wysyłając go[/url][/color]!"
+
msgid "Top"
msgstr "Góra"
@@ -2039,9 +2577,33 @@ msgstr "Dziedziczy:"
msgid "Inherited by:"
msgstr "Dziedziczone przez:"
+msgid ""
+"This class is marked as deprecated. It will be removed in future versions."
+msgstr ""
+"Ta klasa jest oznaczona jako przestarzała. Zostanie usunięta w przyszłych "
+"wersjach."
+
+msgid ""
+"This class is marked as experimental. It is subject to likely change or "
+"possible removal in future versions. Use at your own discretion."
+msgstr ""
+"Ta klasa jest oznaczona jako eksperymentalna. Może ulec prawdopodobnym "
+"zmianom lub zostać usunięta w przyszłych wersjach. Używaj według własnego "
+"uznania."
+
msgid "Description"
msgstr "Opis"
+msgid "There is currently no description for this class."
+msgstr "Aktualnie nie ma opisu dla tej klasy."
+
+msgid ""
+"There is currently no description for this class. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Obecnie nie ma opisu dla tej klasy. Proszę pomóż nam [color=$color]"
+"[url=$url]wysyłając go[/url][/color]!"
+
msgid "Online Tutorials"
msgstr "Poradniki online"
@@ -2054,6 +2616,9 @@ msgstr "nadpisuje %s:"
msgid "default:"
msgstr "domyślne:"
+msgid "property:"
+msgstr "właściwość:"
+
msgid "Constructors"
msgstr "Konstruktory"
@@ -2072,6 +2637,9 @@ msgstr "Stałe"
msgid "Fonts"
msgstr "Fonty"
+msgid "Font Sizes"
+msgstr "Rozmiary czcionki"
+
msgid "Icons"
msgstr "Ikony"
@@ -2081,18 +2649,34 @@ msgstr "Style"
msgid "Enumerations"
msgstr "Wyliczenia"
+msgid "Annotations"
+msgstr "Adnotacje"
+
+msgid "There is currently no description for this annotation."
+msgstr "Aktualnie nie ma opisu dla tej adnotacji."
+
+msgid ""
+"There is currently no description for this annotation. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Obecnie nie ma opisu dla tej adnotacji. Proszę pomóż nam [color=$color]"
+"[url=$url]wysyłając go[/url][/color]!"
+
msgid "Property Descriptions"
msgstr "Opisy właściwości"
msgid "(value)"
msgstr "(wartość)"
+msgid "There is currently no description for this property."
+msgstr "Obecnie nie ma opisu dla tej właściwości."
+
msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
"Obecnie nie ma opisu dla tej właściwości. Pomóż nam, [color=$color]"
-"[url=$url]wysyłając ją[/url][/color]!"
+"[url=$url]wysyłając go[/url][/color]!"
msgid "Constructor Descriptions"
msgstr "Opisy konstruktorów"
@@ -2124,12 +2708,21 @@ msgstr "Pokaż wszystko"
msgid "Classes Only"
msgstr "Tylko klasy"
+msgid "Constructors Only"
+msgstr "Tylko konstruktory"
+
msgid "Methods Only"
msgstr "Tylko metody"
+msgid "Operators Only"
+msgstr "Tylko operatory"
+
msgid "Signals Only"
msgstr "Tylko sygnały"
+msgid "Annotations Only"
+msgstr "Tylko adnotacje"
+
msgid "Constants Only"
msgstr "Tylko stałe"
@@ -2142,6 +2735,9 @@ msgstr "Tylko właściwości motywu"
msgid "Member Type"
msgstr "Typ członka"
+msgid "(constructors)"
+msgstr "(konstruktory)"
+
msgid "Class"
msgstr "Klasa"
@@ -2151,6 +2747,9 @@ msgstr "Metoda"
msgid "Signal"
msgstr "Sygnał"
+msgid "Annotation"
+msgstr "Adnotacja"
+
msgid "Constant"
msgstr "Stała"
@@ -2160,9 +2759,21 @@ msgstr "Właściwość"
msgid "Theme Property"
msgstr "Właściwość motywu"
+msgid "This member is marked as deprecated."
+msgstr "Ten członek jest oznaczony jako przestarzały."
+
+msgid "This member is marked as experimental."
+msgstr "Ten członek jest oznaczony jako eksperymentalny."
+
msgid "Property:"
msgstr "Właściwość:"
+msgid "Pin Value"
+msgstr "Przypnij wartość"
+
+msgid "Pin Value [Disabled because '%s' is editor-only]"
+msgstr "Przypnij wartość [Niedostępne, ponieważ \"%s\" jest tylko dla edytora]"
+
msgid ""
"Pinning a value forces it to be saved even if it's equal to the default."
msgstr ""
@@ -2171,33 +2782,108 @@ msgstr ""
msgid "Open Documentation"
msgstr "Otwórz dokumentację"
+msgid "Element %d: %s%d*"
+msgstr "Element %d: %s%d*"
+
msgid "Move Up"
msgstr "Przesuń w górę"
msgid "Move Down"
msgstr "Przesuń w dół"
+msgid "Insert New Before"
+msgstr "Wstaw nowy przed"
+
+msgid "Insert New After"
+msgstr "Wstaw nowy po"
+
+msgid "Clear Array"
+msgstr "Wyczyść tablicę"
+
+msgid "Resize Array..."
+msgstr "Zmień rozmiar tablicy..."
+
+msgid "Add Element"
+msgstr "Dodaj element"
+
msgid "Resize Array"
msgstr "Zmień rozmiar Tablicy"
+msgid "New Size:"
+msgstr "Nowy rozmiar:"
+
+msgid "Element %s"
+msgstr "Element %s"
+
+msgid "Add Metadata"
+msgstr "Dodaj metadane"
+
msgid "Set %s"
msgstr "Ustaw %s"
msgid "Set Multiple:"
msgstr "Ustaw wiele:"
+msgid "Remove metadata %s"
+msgstr "Usuń metadaną %s"
+
msgid "Pinned %s"
msgstr "Przypięto %s"
msgid "Unpinned %s"
msgstr "Odpięto %s"
+msgid "Add metadata %s"
+msgstr "Dodaj metadaną %s"
+
+msgid "Metadata name can't be empty."
+msgstr "Nazwa metadanej nie może być pusta."
+
+msgid "Metadata name must be a valid identifier."
+msgstr "Nazwa metadanej musi być prawidłowym identyfikatorem."
+
+msgid "Metadata with name \"%s\" already exists."
+msgstr "Metadana o nazwie \"%s\" już istnieje."
+
+msgid "Names starting with _ are reserved for editor-only metadata."
+msgstr "Nazwy zaczynające się od _ są zarezerwowane dla metadanych edytora."
+
+msgid "Metadata name is valid."
+msgstr "Nazwa metadanej jest nieprawidłowa."
+
+msgid "Add Metadata Property for \"%s\""
+msgstr "Dodaj właściwość metadanych dla \"%s\""
+
+msgid "Copy Value"
+msgstr "Skopiuj wartość"
+
+msgid "Paste Value"
+msgstr "Wklej wartość"
+
msgid "Copy Property Path"
msgstr "Skopiuj ścieżkę właściwości"
+msgid "Select existing layout:"
+msgstr "Wybierz istniejący układ:"
+
+msgid "Changed Locale Language Filter"
+msgstr "Zmieniono filtr lokalizacji języka"
+
+msgid "Changed Locale Script Filter"
+msgstr "Zmieniono filtr lokalizacji pisma"
+
+msgid "Changed Locale Country Filter"
+msgstr "Zmieniono filtr lokalizacji kraju"
+
msgid "Changed Locale Filter Mode"
msgstr "Zmień tryb filtrowania ustawień lokalizacji"
+msgid "[Default]"
+msgstr "[Domyślny]"
+
+msgid "Select a Locale"
+msgstr "Wybierz lokalizację"
+
msgid "Show All Locales"
msgstr "Pokaż wszystkie języki"
@@ -2210,12 +2896,59 @@ msgstr "Edytuj filtry"
msgid "Language:"
msgstr "Język:"
+msgctxt "Locale"
+msgid "Script:"
+msgstr "Pismo:"
+
+msgid "Country:"
+msgstr "Kraj:"
+
+msgid "Language"
+msgstr "Język"
+
+msgctxt "Locale"
+msgid "Script"
+msgstr "Pismo"
+
+msgid "Country"
+msgstr "Kraj"
+
+msgid "Variant"
+msgstr "Wariant"
+
+msgid "Filter Messages"
+msgstr "Filtruj wiadomości"
+
msgid "Clear Output"
msgstr "Wyczyść wyjście"
msgid "Copy Selection"
msgstr "Kopiuj zaznaczenie"
+msgid ""
+"Collapse duplicate messages into one log entry. Shows number of occurrences."
+msgstr ""
+"Zwiń zduplikowane wiadomości w jeden wpis dziennika. Pokazuje liczbę "
+"wystąpień."
+
+msgid "Focus Search/Filter Bar"
+msgstr "Pasek wyszukiwania/filtrowania"
+
+msgid "Toggle visibility of standard output messages."
+msgstr "Przełącz widoczność wiadomości standardowego wyjścia."
+
+msgid "Toggle visibility of errors."
+msgstr "Przełącz widoczność błędów."
+
+msgid "Toggle visibility of warnings."
+msgstr "Przełącz widoczność ostrzeżeń."
+
+msgid "Toggle visibility of editor messages."
+msgstr "Przełącz widoczność wiadomości edytora."
+
+msgid "Native Shader Source Inspector"
+msgstr "Inspektor źródła natywnego szadera"
+
msgid "New Window"
msgstr "Nowe okno"
@@ -2250,6 +2983,13 @@ msgstr ""
"Ten zasób nie może zostać zapisany, ponieważ nie należy do edytowanej sceny. "
"Uczyń go najpierw unikalnym."
+msgid ""
+"This resource can't be saved because it was imported from another file. Make "
+"it unique first."
+msgstr ""
+"Ten zasób nie może zostać zapisany, ponieważ został zaimportowany z innego "
+"pliku. Uczyń go najpierw unikalnym."
+
msgid "Save Resource As..."
msgstr "Zapisz zasób jako..."
@@ -2262,6 +3002,22 @@ msgstr "Nieznany format pliku:"
msgid "Error while saving."
msgstr "Błąd podczas zapisywania."
+msgid "Can't open file '%s'. The file could have been moved or deleted."
+msgstr ""
+"Nie można otworzyć pliku \"%s\". Plik mógł zostać przeniesiony lub usunięty."
+
+msgid "Error while parsing file '%s'."
+msgstr "Błąd podczas analizy pliku \"%s\"."
+
+msgid "Scene file '%s' appears to be invalid/corrupt."
+msgstr "Plik sceny \"%s\" wydaje się być nieprawidłowy/uszkodzony."
+
+msgid "Missing file '%s' or one its dependencies."
+msgstr "Brakuje pliku \"%s\" lub jednej z jego zależności."
+
+msgid "Error while loading file '%s'."
+msgstr "Błąd podczas wczytywania pliku \"%s\"."
+
msgid "Saving Scene"
msgstr "Zapisywanie sceny"
@@ -2275,6 +3031,14 @@ msgid "This operation can't be done without a tree root."
msgstr "Ta operacja nie może zostać wykonana bez sceny."
msgid ""
+"This scene can't be saved because there is a cyclic instance inclusion.\n"
+"Please resolve it and then attempt to save again."
+msgstr ""
+"Ta scena nie może zostać zapisana, ponieważ istnieje cykliczne zawarcie "
+"instancji.\n"
+"Rozwiąż to i spróbuj zapisać ponownie."
+
+msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
msgstr ""
@@ -2318,6 +3082,10 @@ msgstr "Nie znaleziono nazwy układu!"
msgid "Restored the Default layout to its base settings."
msgstr "Przywrócono Domyślny układ do ustawień bazowych."
+msgid "This object is marked as read-only, so it's not editable."
+msgstr ""
+"Ten obiekt jest oznaczony jako tylko do odczytu, więc nie można go edytować."
+
msgid ""
"This resource belongs to a scene that was imported, so it's not editable.\n"
"Please read the documentation relevant to importing scenes to better "
@@ -2329,26 +3097,75 @@ msgstr ""
"zrozumieć ten proces."
msgid ""
+"This resource belongs to a scene that was instantiated or inherited.\n"
+"Changes to it must be made inside the original scene."
+msgstr ""
+"Ten zasób należy do sceny, która została zainstancjonowana lub "
+"odziedziczona.\n"
+"Zmiany w nim muszą być wykonane na oryginalnej scenie."
+
+msgid ""
"This resource was imported, so it's not editable. Change its settings in the "
"import panel and then re-import."
msgstr ""
"Ten zasób został zaimportowany, więc nie jest edytowalny. Zmień jego "
"ustawienia w panelu importów, po czym zaimportuj go ponownie."
+msgid ""
+"This scene was imported, so changes to it won't be kept.\n"
+"Instantiating or inheriting it will allow you to make changes to it.\n"
+"Please read the documentation relevant to importing scenes to better "
+"understand this workflow."
+msgstr ""
+"Ta scena została zaimportowana, więc zmiany w niej nie będą zachowane.\n"
+"Instancjonowanie lub dziedziczenie jej pozwoli ci na prowadzenie zmian.\n"
+"Proszę zapoznać się z dokumentacją dotyczącą importowania scen, by lepiej "
+"zrozumieć ten proces."
+
msgid "Changes may be lost!"
msgstr "Zmiany mogą zostać utracone!"
+msgid "This object is read-only."
+msgstr "Ten obiekt jest tylko do odczytu."
+
+msgid ""
+"Movie Maker mode is enabled, but no movie file path has been specified.\n"
+"A default movie file path can be specified in the project settings under the "
+"Editor > Movie Writer category.\n"
+"Alternatively, for running single scenes, a `movie_file` string metadata can "
+"be added to the root node,\n"
+"specifying the path to a movie file that will be used when recording that "
+"scene."
+msgstr ""
+"Tryb Twórcy Filmów jest włączony, ale nie ustawiono ścieżki pliku "
+"filmowego.\n"
+"Domyślna ścieżka pliku filmu może być określona w ustawieniach projektu pod "
+"kategorią Editor -> Movie Writer.\n"
+"Alternatywnie, przed uruchamianiem pojedynczych scen, metadana tekstowa "
+"\"movie_file\" może być dodana do korzenia sceny,\n"
+"określając ścieżkę do pliku filmowego, który będzie użyty przy nagrywaniu "
+"tej sceny."
+
msgid "There is no defined scene to run."
msgstr "Nie ma zdefiniowanej sceny do uruchomienia."
msgid "Save scene before running..."
msgstr "Zapisz scenę przed uruchomieniem..."
+msgid "Could not start subprocess(es)!"
+msgstr "Nie udało się uruchomić podprocesu(ów)!"
+
+msgid "Reload the played scene."
+msgstr "Przeładuj odtwarzaną scenę."
+
msgid "Play the project."
msgstr "Uruchom projekt."
msgid "Play the edited scene."
-msgstr "Uruchom aktualnie edytowaną scenę."
+msgstr "Uruchom edytowaną scenę."
+
+msgid "Play a custom scene."
+msgstr "Uruchom własną scenę."
msgid "Open Base Scene"
msgstr "Otwórz scenę bazową"
@@ -2365,9 +3182,15 @@ msgstr "Szybkie otwieranie skryptu..."
msgid "Save & Reload"
msgstr "Zapisz i przeładuj"
+msgid "Save modified resources before reloading?"
+msgstr "Zapisać zmodyfikowane zasoby przed zrestartowaniem?"
+
msgid "Save & Quit"
msgstr "Zapisz i wyjdź"
+msgid "Save modified resources before closing?"
+msgstr "Zapisać zmodyfikowane zasoby przed zamknięciem?"
+
msgid "Save changes to '%s' before reloading?"
msgstr "Zapisać zmiany w \"%s\" przed przeładowaniem?"
@@ -2403,12 +3226,30 @@ msgstr "Nie można cofnąć akcji kiedy przyciski myszy są wciśnięte."
msgid "Nothing to undo."
msgstr "Nie ma nic do cofnięcia."
+msgid "Global Undo: %s"
+msgstr "Cofnij globalnie: %s"
+
+msgid "Remote Undo: %s"
+msgstr "Cofnij zdalnie: %s"
+
+msgid "Scene Undo: %s"
+msgstr "Cofnij na scenie: %s"
+
msgid "Can't redo while mouse buttons are pressed."
msgstr "Nie można ponowić kiedy przyciski myszy są wciśnięte."
msgid "Nothing to redo."
msgstr "Nie ma nic do ponowienia."
+msgid "Global Redo: %s"
+msgstr "Ponów globalnie: %s"
+
+msgid "Remote Redo: %s"
+msgstr "Ponów zdalnie: %s"
+
+msgid "Scene Redo: %s"
+msgstr "Ponów na scenie: %s"
+
msgid "Can't reload a scene that was never saved."
msgstr "Nie można przeładować sceny która nie została zapisana."
@@ -2581,6 +3422,9 @@ msgstr "Przesuń widok"
msgid "Dock Position"
msgstr "Pozycja doku"
+msgid "Make Floating"
+msgstr "Zrób ruchomy"
+
msgid "Add a new scene."
msgstr "Dodaj nową scenę."
@@ -2602,6 +3446,18 @@ msgstr "Wróć do poprzednio otwartej sceny."
msgid "Copy Text"
msgstr "Skopiuj tekst"
+msgid "Next Scene Tab"
+msgstr "Następna karta sceny"
+
+msgid "Previous Scene Tab"
+msgstr "Poprzednia karta sceny"
+
+msgid "Focus FileSystem Filter"
+msgstr "Zaznacz filtr Systemu Plików"
+
+msgid "Command Palette"
+msgstr "Paleta poleceń"
+
msgid "New Scene"
msgstr "Nowa scena"
@@ -2620,6 +3476,9 @@ msgstr "Ostatnio otwierane"
msgid "Save Scene"
msgstr "Zapisz scenę"
+msgid "Export As..."
+msgstr "Eksportuj jako..."
+
msgid "MeshLibrary..."
msgstr "Biblioteka Meshów..."
@@ -2635,9 +3494,18 @@ msgstr "Projekt"
msgid "Project Settings..."
msgstr "Ustawienia projektu..."
+msgid "Project Settings"
+msgstr "Ustawienia projektu"
+
msgid "Version Control"
msgstr "Kontrola wersji"
+msgid "Create Version Control Metadata"
+msgstr "Utwórz metadane kontroli wersji"
+
+msgid "Version Control Settings"
+msgstr "Ustawienia kontroli wersji"
+
msgid "Export..."
msgstr "Eksport..."
@@ -2647,6 +3515,9 @@ msgstr "Zainstaluj szablon eksportu dla Androida..."
msgid "Open User Data Folder"
msgstr "Otwórz folder danych użytkownika"
+msgid "Customize Engine Build Configuration..."
+msgstr "Dostosuj konfigurację budowania silnika..."
+
msgid "Tools"
msgstr "Narzędzia"
@@ -2665,6 +3536,9 @@ msgstr "Edytor"
msgid "Editor Settings..."
msgstr "Ustawienia edytora..."
+msgid "Command Palette..."
+msgstr "Paleta poleceń..."
+
msgid "Editor Layout"
msgstr "Układ edytora"
@@ -2692,6 +3566,9 @@ msgstr "Zarządzaj funkcjonalnościami edytora..."
msgid "Manage Export Templates..."
msgstr "Zarządzaj szablonami eksportu..."
+msgid "Configure FBX Importer..."
+msgstr "Konfiguruj importer FBX..."
+
msgid "Help"
msgstr "Pomoc"
@@ -2719,14 +3596,62 @@ msgstr "O Godocie"
msgid "Support Godot Development"
msgstr "Wesprzyj rozwój Godota"
+msgid "Run the project's default scene."
+msgstr "Uruchom domyślną scenę projektu."
+
msgid "Run Project"
msgstr "Uruchom projekt"
+msgid "Pause the running project's execution for debugging."
+msgstr "Zapauzuj wykonywanie uruchomionego projektu, żeby debugować."
+
+msgid "Pause Running Project"
+msgstr "Zapauzuj uruchomiony projekt"
+
+msgid "Stop the currently running project."
+msgstr "Zatrzymaj obecnie uruchomiony projekt."
+
+msgid "Stop Running Project"
+msgstr "Zatrzymaj uruchomiony projekt"
+
+msgid "Run the currently edited scene."
+msgstr "Uruchom obecnie edytowaną scenę."
+
+msgid "Run Current Scene"
+msgstr "Uruchom obecną scenę"
+
+msgid "Run a specific scene."
+msgstr "Uruchom konkretną scenę."
+
+msgid "Run Specific Scene"
+msgstr "Uruchom konkretną scenę"
+
+msgid ""
+"Enable Movie Maker mode.\n"
+"The project will run at stable FPS and the visual and audio output will be "
+"recorded to a video file."
+msgstr ""
+"Uruchom tryb Twórcy Filmów.\n"
+"Projekt będzie działał ze stabilnym FPS i wyjście wizualne oraz audio będą "
+"nagrane do pliku wideo."
+
+msgid "Choose a renderer."
+msgstr "Wybierz renderer."
+
+msgid "Mobile"
+msgstr "Mobilny"
+
msgid "Compatibility"
-msgstr "Kompatybilność"
+msgstr "Kompatybilny"
+
+msgid "Changing the renderer requires restarting the editor."
+msgstr "Zmiana renderera wymaga restartu edytora."
msgid "Update Continuously"
-msgstr "Stale Aktualizuj"
+msgstr "Stale aktualizuj"
+
+msgid "Update When Changed"
+msgstr "Aktualizuj przy zmianie"
msgid "Hide Update Spinner"
msgstr "Ukryj wiatraczek aktualizacji"
@@ -3662,7 +4587,7 @@ msgid "Import As:"
msgstr "Importuj jako:"
msgid "Preset"
-msgstr "Profil"
+msgstr "Ustawienia wstępne"
msgid "Save Scenes, Re-Import, and Restart"
msgstr "Zapisz sceny, reimportuj i uruchom ponownie"
@@ -6687,6 +7612,9 @@ msgstr "Nadpisz wszystkie domyślne elementy typu."
msgid "Base Type"
msgstr "Typ bazowy"
+msgid "Select the variation base type from a list of available types."
+msgstr "Wybierz typ podstawy wariacji z listy dostępnych typów."
+
msgid "Theme:"
msgstr "Motyw:"
@@ -7725,9 +8653,6 @@ msgstr "Zmień martwą strefę akcji"
msgid "Erase Input Action"
msgstr "Wyczyść akcję wejścia"
-msgid "Rename Input Action Event"
-msgstr "Zmień nazwę zdarzenia akcji wejścia"
-
msgid "Project Settings (project.godot)"
msgstr "Ustawienia projektu (project.godot)"
@@ -8068,6 +8993,15 @@ msgstr "(łączony teraz)"
msgid "Node configuration warning:"
msgstr "Ostrzeżenie konfiguracji węzła:"
+msgid ""
+"This node can be accessed from within anywhere in the scene by preceding it "
+"with the '%s' prefix in a node path.\n"
+"Click to disable this."
+msgstr ""
+"Ten node może być dostępny z dowolnego miejsca sceny poprzez poprzedzenie go "
+"prefiksem '%s' w ścieżce node.\n"
+"Kliknij, aby to wyłączyć."
+
msgid "Open Script:"
msgstr "Otwórz skrypt:"
@@ -8353,6 +9287,9 @@ msgstr "Rozmiar"
msgid "Network Profiler"
msgstr "Profiler sieci"
+msgid "Delete Property?"
+msgstr "Usunąć właściwość?"
+
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr ""
"Zasób typu NavigationMesh musi być ustawiony w odpowiednim polu, aby ten "
@@ -9046,9 +9983,6 @@ msgstr ""
"LPM: Ustaw ten kolor\n"
"PPM: Usuń próbkę"
-msgid "Pick a color from the editor window."
-msgstr "Pobierz kolor z okna edytora."
-
msgid "Switch between hexadecimal and code values."
msgstr "Przełącz między szesnastkowymi i kodowymi wartościami."
@@ -9077,9 +10011,6 @@ msgstr "Alarm!"
msgid "Please Confirm..."
msgstr "Proszę potwierdzić..."
-msgid "Must use a valid extension."
-msgstr "Rozszerzenie musi być poprawne."
-
msgid "Enable grid minimap."
msgstr "Włącz minimapę siatki."
diff --git a/editor/translations/editor/pt.po b/editor/translations/editor/pt.po
index b9cf75e6c7..3808826d52 100644
--- a/editor/translations/editor/pt.po
+++ b/editor/translations/editor/pt.po
@@ -32,13 +32,15 @@
# Thuany <thutymsoares@gmail.com>, 2022.
# Isaque Mendes <isaquemendes405@gmail.com>, 2022.
# Alex Bruno Boiniak <aboiniak@gmail.com>, 2022.
+# Breno Alves Sampaio <chibifoxdiscord@gmail.com>, 2023.
+# SamuelPatrickMeneses <samuelmeneses800@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-01-11 19:51+0000\n"
-"Last-Translator: ssantos <ssantos@web.de>\n"
+"PO-Revision-Date: 2023-02-16 05:26+0000\n"
+"Last-Translator: SamuelPatrickMeneses <samuelmeneses800@gmail.com>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/godot-engine/"
"godot/pt/>\n"
"Language: pt\n"
@@ -46,11 +48,26 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.15.1-dev\n"
+"X-Generator: Weblate 4.16-dev\n"
msgid "Physical"
msgstr "Físico"
+msgid "Left Mouse Button"
+msgstr "Botão Esquerdo do Mouse"
+
+msgid "Right Mouse Button"
+msgstr "Botão Direito do Mouse"
+
+msgid "Middle Mouse Button"
+msgstr "Botão do meio"
+
+msgid "Mouse Wheel Up"
+msgstr "Roda do mouse para cima."
+
+msgid "Mouse Wheel Down"
+msgstr "Roda do mouse para baixo."
+
msgid "Button"
msgstr "Botão"
@@ -493,12 +510,6 @@ msgstr "Usar Curvas Bezier"
msgid "Create RESET Track(s)"
msgstr "Criar Pista(s) RESET"
-msgid "Anim. Optimizer"
-msgstr "Otimizador de Anim"
-
-msgid "Max. Angular Error:"
-msgstr "Máximo de Erros Angulares:"
-
msgid "Optimize"
msgstr "Otimizar"
@@ -1501,9 +1512,6 @@ msgstr "Abrir"
msgid "Select Current Folder"
msgstr "Selecionar pasta atual"
-msgid "File exists, overwrite?"
-msgstr "O ficheiro existe, sobrescrever?"
-
msgid "Select This Folder"
msgstr "Selecionar esta Pasta"
@@ -1667,21 +1675,40 @@ msgstr "Estilos"
msgid "Enumerations"
msgstr "Enumerações"
+msgid "There is currently no description for this annotation."
+msgstr "Atualmente não há descrição para esta anotação."
+
+msgid ""
+"There is currently no description for this annotation. Please help us by "
+"[color=$color][url=$url]contributing one[/url][/color]!"
+msgstr ""
+"Atualmente não existe descrição para este Método. Por favor nos ajude "
+"[color=$color][url=$url]contribuindo com uma[/url][/color]!"
+
msgid "Property Descriptions"
msgstr "Descrições da Propriedade"
msgid "(value)"
msgstr "(valor)"
+msgid "There is currently no description for this property."
+msgstr "Atualmente não há descrição para esta propriedade."
+
msgid ""
"There is currently no description for this property. Please help us by "
"[color=$color][url=$url]contributing one[/url][/color]!"
msgstr ""
-"Atualmente não existe descrição para esta Propriedade. Por favor ajude-nos "
-"[color=$color][url=$url]a contribuir com uma[/url][/color]!"
+"Atualmente não existe descrição para esta Propriedade. Por favor nos ajude "
+"[color=$color][url=$url]contribuindo com uma[/url][/color]!"
+
+msgid "Constructor Descriptions"
+msgstr "Descrições do Construtor"
msgid "Method Descriptions"
-msgstr "Descrições do Método"
+msgstr "Descrições de Método"
+
+msgid "Operator Descriptions"
+msgstr "Descrições de Operadores"
msgid "%d match."
msgstr "%d correspondência."
@@ -1690,10 +1717,10 @@ msgid "%d matches."
msgstr "%d correspondências."
msgid "Search Help"
-msgstr "Procurar em Ajuda"
+msgstr "Procure em Ajuda"
msgid "Case Sensitive"
-msgstr "Sensível a maiúsculas"
+msgstr "Com distinção entre maiúsculas e minúsculas"
msgid "Show Hierarchy"
msgstr "Mostrar Hierarquia"
@@ -1704,12 +1731,21 @@ msgstr "Mostrar Tudo"
msgid "Classes Only"
msgstr "Apenas Classes"
+msgid "Constructors Only"
+msgstr "Apenas Construtores"
+
msgid "Methods Only"
msgstr "Apenas Métodos"
+msgid "Operators Only"
+msgstr "Apenas Operadores"
+
msgid "Signals Only"
msgstr "Apenas Sinais"
+msgid "Annotations Only"
+msgstr "Apenas Anotações"
+
msgid "Constants Only"
msgstr "Apenas Constantes"
@@ -1722,6 +1758,9 @@ msgstr "Apenas Propriedades do Tema"
msgid "Member Type"
msgstr "Tipo do Membro"
+msgid "(constructors)"
+msgstr "(Construtores)"
+
msgid "Class"
msgstr "Classe"
@@ -1731,6 +1770,9 @@ msgstr "Método"
msgid "Signal"
msgstr "Sinal"
+msgid "Annotation"
+msgstr "Anotações"
+
msgid "Constant"
msgstr "Constante"
@@ -1740,13 +1782,25 @@ msgstr "Propriedade"
msgid "Theme Property"
msgstr "Propriedade do Tema"
+msgid "This member is marked as deprecated."
+msgstr "Este membro esta marcado como obsoleto."
+
+msgid "This member is marked as experimental."
+msgstr "Este membro está marcado como experimental."
+
msgid "Property:"
msgstr "Propriedade:"
+msgid "Pin Value"
+msgstr "Fixar valor"
+
+msgid "Pin Value [Disabled because '%s' is editor-only]"
+msgstr "Fixar Valor [Desativado porque '%s' é restrito(a) ao editor]"
+
msgid ""
"Pinning a value forces it to be saved even if it's equal to the default."
msgstr ""
-"Fixar um valor força-o a ser guardado mesmo que seja igual à predefinição."
+"Fixar um valor força que ele seja salvo mesmo que ele seja igual ao padrão."
msgid "Open Documentation"
msgstr "Abrir documentação"
@@ -7386,9 +7440,6 @@ msgstr "Mudar a zona morta da Ação"
msgid "Erase Input Action"
msgstr "Apagar Ação de Entrada"
-msgid "Rename Input Action Event"
-msgstr "Renomear evento ação de entrada"
-
msgid "Project Settings (project.godot)"
msgstr "Configurações do Projeto (project.godot)"
@@ -8799,9 +8850,6 @@ msgstr ""
msgid "The AnimationPlayer root node is not a valid node."
msgstr "O nó raiz de AnimationPlayer não é um nó válido."
-msgid "Pick a color from the editor window."
-msgstr "Escolha uma cor através do editor."
-
msgid "Switch between hexadecimal and code values."
msgstr "Alternar valores entre hexadecimal e código."
@@ -8831,9 +8879,6 @@ msgstr "Alerta!"
msgid "Please Confirm..."
msgstr "Confirme por favor..."
-msgid "Must use a valid extension."
-msgstr "Deve usar uma extensão válida."
-
msgid "Enable grid minimap."
msgstr "Ativar grelha do minimapa."
diff --git a/editor/translations/editor/pt_BR.po b/editor/translations/editor/pt_BR.po
index 8c0eb9e29b..d9d5fe4aca 100644
--- a/editor/translations/editor/pt_BR.po
+++ b/editor/translations/editor/pt_BR.po
@@ -158,13 +158,14 @@
# Zer0-Zer0 <dankmemerson@tutanota.com>, 2022.
# Levi Ferreira <leviferreiramorais@gmail.com>, 2023.
# Leonardo <leotada523@gmail.com>, 2023.
+# Elizandro Baldin <ejbaldin@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2023-02-08 18:01+0000\n"
-"Last-Translator: Leonardo <leotada523@gmail.com>\n"
+"PO-Revision-Date: 2023-02-20 00:45+0000\n"
+"Last-Translator: Elizandro Baldin <ejbaldin@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
@@ -174,6 +175,9 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.16-dev\n"
+msgid "Unset"
+msgstr "Desativar"
+
msgid "Physical"
msgstr "Físico"
@@ -183,8 +187,26 @@ msgstr "Botão Esquerdo do Mouse"
msgid "Right Mouse Button"
msgstr "Botão Direito do Mouse"
+msgid "Middle Mouse Button"
+msgstr "Botão do Meio do Mouse"
+
+msgid "Mouse Wheel Up"
+msgstr "Roda do Mouse para Cima"
+
msgid "Mouse Wheel Down"
-msgstr "Roda do mouse para baixo"
+msgstr "Roda do Mouse para Baixo"
+
+msgid "Mouse Wheel Left"
+msgstr "Roda do Mouse para Esquerda"
+
+msgid "Mouse Wheel Right"
+msgstr "Roda do Mouse para Direita"
+
+msgid "Mouse Thumb Button 1"
+msgstr "Botão do Polegar do Mouse 1"
+
+msgid "Mouse Thumb Button 2"
+msgstr "Botão do Polegar do Mouse 2"
msgid "Button"
msgstr "Botão"
@@ -195,12 +217,152 @@ msgstr "Clique Duplo"
msgid "Mouse motion at position (%s) with velocity (%s)"
msgstr "Movimento do mouse na posição (%s) com velocidade (%s)"
+msgid "Left Stick X-Axis, Joystick 0 X-Axis"
+msgstr "Eixo-X Alavanca Esquerda, Eixo-X Joystick 0"
+
+msgid "Left Stick Y-Axis, Joystick 0 Y-Axis"
+msgstr "Eixo-Y Alavanca Esquerda, Eixo-Y Joystick 0"
+
+msgid "Right Stick X-Axis, Joystick 1 X-Axis"
+msgstr "Eixo-X Alavanca Direita, Eixo-X Joystick 1"
+
+msgid "Right Stick Y-Axis, Joystick 1 Y-Axis"
+msgstr "Eixo-Y Alavanca Direita, Eixo-Y Joystick 1"
+
+msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT"
+msgstr "Eixo-X Joystick 2, Gatilho Esquerdo, Sony L2, Xbox LT"
+
+msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT"
+msgstr "Eixo-Y Joystick 2, Gatilho Direito, Sony R2, Xbox RT"
+
+msgid "Joystick 3 X-Axis"
+msgstr "Eixo-X Joystick 3"
+
+msgid "Joystick 3 Y-Axis"
+msgstr "Eixo-Y Joystick 3"
+
+msgid "Joystick 4 X-Axis"
+msgstr "Eixo-X Joystick 4"
+
+msgid "Joystick 4 Y-Axis"
+msgstr "Eixo-Y Joystick 4"
+
+msgid "Unknown Joypad Axis"
+msgstr "Eixo Desconhecido do Joypad"
+
+msgid "Joypad Motion on Axis %d (%s) with Value %.2f"
+msgstr "Movimento do joypad no eixo %d (%s) com valor %.2f"
+
+msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B"
+msgstr "Botão de Ação, Sony Cross, Xbox A, Nintendo B"
+
+msgid "Right Action, Sony Circle, Xbox B, Nintendo A"
+msgstr "Botão de Ação Direito, Sony Circle, Xbox B, Nintendo A"
+
+msgid "Left Action, Sony Square, Xbox X, Nintendo Y"
+msgstr "Botão de Ação Esquerdo, Sony Circle, Xbox B, Nintendo A"
+
+msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X"
+msgstr "Botão de Ação Acima, Sony Triangle, Xbox Y, Nintendo X"
+
+msgid "Back, Sony Select, Xbox Back, Nintendo -"
+msgstr "Voltar, Sony Select, Xbox Back, Nintendo -"
+
+msgid "Guide, Sony PS, Xbox Home"
+msgstr "Menu, Sony PS, Xbox Home"
+
+msgid "Start, Nintendo +"
+msgstr "Iniciar, Nintendo +"
+
+msgid "Left Stick, Sony L3, Xbox L/LS"
+msgstr "Alavanca Esquerda, Sony L3, Xbox L/LS"
+
+msgid "Right Stick, Sony R3, Xbox R/RS"
+msgstr "Alavanca Direita, Sony R3, Xbox R/RS"
+
+msgid "Left Shoulder, Sony L1, Xbox LB"
+msgstr "Ombro Esquerdo, Sony L1, Xbox LB"
+
+msgid "Right Shoulder, Sony R1, Xbox RB"
+msgstr "Ombro Direito, Sony R1, Xbox RB"
+
+msgid "D-pad Up"
+msgstr "D-pad Acima"
+
+msgid "D-pad Down"
+msgstr "D-pad Abaixo"
+
+msgid "D-pad Left"
+msgstr "D-pad Esquerdo"
+
+msgid "D-pad Right"
+msgstr "D-pad Direito"
+
+msgid "Xbox Share, PS5 Microphone, Nintendo Capture"
+msgstr "Xbox Share, PS5 Microfone, Nintendo Capture"
+
+msgid "Xbox Paddle 1"
+msgstr "Controle Xbox 1"
+
+msgid "Xbox Paddle 2"
+msgstr "Controle Xbox 2"
+
+msgid "Xbox Paddle 3"
+msgstr "Controle Xbox 3"
+
+msgid "Xbox Paddle 4"
+msgstr "Controle Xbox 4"
+
+msgid "PS4/5 Touchpad"
+msgstr "Touchpad PS4/5"
+
+msgid "Joypad Button %d"
+msgstr "Botão do Joypad %d"
+
+msgid "Pressure:"
+msgstr "Toque:"
+
+msgid "touched"
+msgstr "tocado"
+
+msgid "released"
+msgstr "solto"
+
+msgid "Screen %s at (%s) with %s touch points"
+msgstr "Tela %s em (%s) com %s pontos de toque"
+
+msgid ""
+"Screen dragged with %s touch points at position (%s) with velocity of (%s)"
+msgstr ""
+"Tela arrastada com %s pontos de toque na posição (%s) com velocidade de (%s)"
+
+msgid "Magnify Gesture at (%s) with factor %s"
+msgstr "Gesto de Ampliar em (%s) com fator %s"
+
+msgid "Pan Gesture at (%s) with delta (%s)"
+msgstr "Gesto Panorâmico em (%s) com delta (%s)"
+
+msgid "MIDI Input on Channel=%s Message=%s"
+msgstr "Entrada MIDI no Canal=%s Mensagem=%s"
+
+msgid "Input Event with Shortcut=%s"
+msgstr "Evento de Antrada com Atalho=%s"
+
+msgid "Accept"
+msgstr "Aceitar"
+
msgid "Select"
msgstr "Selecionar"
msgid "Cancel"
msgstr "Cancelar"
+msgid "Focus Next"
+msgstr "Focar Próximo"
+
+msgid "Focus Prev"
+msgstr "Focar Anterior"
+
msgid "Left"
msgstr "Esquerda"
@@ -213,6 +375,15 @@ msgstr "Acima"
msgid "Down"
msgstr "Abaixo"
+msgid "Page Up"
+msgstr "Subir Página"
+
+msgid "Page Down"
+msgstr "Baixar Página"
+
+msgid "Home"
+msgstr "Início"
+
msgid "End"
msgstr "Fim"
@@ -231,24 +402,123 @@ msgstr "Desfazer"
msgid "Redo"
msgstr "Refazer"
+msgid "Completion Query"
+msgstr "Autocompletar"
+
+msgid "New Line"
+msgstr "Nova Linha"
+
+msgid "New Blank Line"
+msgstr "Nova Linha em Branco"
+
+msgid "New Line Above"
+msgstr "Nova Linha Acima"
+
msgid "Indent"
msgstr "Indentar"
+msgid "Dedent"
+msgstr "Desindentar"
+
+msgid "Backspace"
+msgstr "Retroceder"
+
+msgid "Backspace Word"
+msgstr "Retroceder Palavra"
+
+msgid "Backspace all to Left"
+msgstr "Retroceder tudo a Esquerda"
+
msgid "Delete"
msgstr "Excluir"
+msgid "Delete Word"
+msgstr "Excluir Palavra"
+
+msgid "Delete all to Right"
+msgstr "Excluir tudo a Direita"
+
+msgid "Caret Left"
+msgstr "Cursor para Esquerda"
+
+msgid "Caret Word Left"
+msgstr "Cursor uma Palavra a Esquerda"
+
+msgid "Caret Right"
+msgstr "Cursor para Direita"
+
+msgid "Caret Word Right"
+msgstr "Cursor uma palavra a Direita"
+
+msgid "Caret Up"
+msgstr "Cursor para Cima"
+
+msgid "Caret Down"
+msgstr "Cursor para Baixo"
+
+msgid "Caret Line Start"
+msgstr "Cursor no Início da Linha"
+
+msgid "Caret Line End"
+msgstr "Cursor no Final da Linha"
+
+msgid "Caret Page Up"
+msgstr "Cursor uma Página Acima"
+
+msgid "Caret Page Down"
+msgstr "Cursor uma Página Abaixo"
+
+msgid "Caret Document Start"
+msgstr "Cursor no Início da Documentação"
+
+msgid "Caret Document End"
+msgstr "Cursor no Final da Documentação"
+
+msgid "Caret Add Below"
+msgstr "Adicionar Cursor Abaixo"
+
+msgid "Caret Add Above"
+msgstr "Adicionar Cursor Acima"
+
+msgid "Scroll Up"
+msgstr "Rolar Acima"
+
+msgid "Scroll Down"
+msgstr "Rolar Abaixo"
+
msgid "Select All"
msgstr "Selecionar tudo"
+msgid "Select Word Under Caret"
+msgstr "Selecionar Palavra sob Cursor"
+
+msgid "Add Selection for Next Occurrence"
+msgstr "Adicionar Seleção para a Próxima Ocorrência"
+
+msgid "Clear Carets and Selection"
+msgstr "Limpar Cursores e Seleção"
+
+msgid "Toggle Insert Mode"
+msgstr "Alternar Modo de Inserção"
+
msgid "Duplicate Nodes"
-msgstr "Duplicar Nó(s)"
+msgstr "Duplicar Nós"
msgid "Delete Nodes"
msgstr "Excluir Nós"
+msgid "Go Up One Level"
+msgstr "Subir Um Nível"
+
msgid "Refresh"
msgstr "Atualizar"
+msgid "Show Hidden"
+msgstr "Mostrar Arquivos Ocultos"
+
+msgid "Swap Input Direction"
+msgstr "Trocar Direção da Entrada"
+
msgid "Invalid input %d (not passed) in expression"
msgstr "Entrada inválida %d (não passada) na expressão"
@@ -270,6 +540,12 @@ msgstr "Argumentos inválidos para o construto '%s'"
msgid "On call to '%s':"
msgstr "Na chamada para '%s':"
+msgid "Built-in script"
+msgstr "Script Embutido"
+
+msgid "Built-in"
+msgstr "Embutido"
+
msgid "B"
msgstr "B"
@@ -291,6 +567,14 @@ msgstr "PiB"
msgid "EiB"
msgstr "EiB"
+msgid "Example: %s"
+msgstr "Exemplo: %s"
+
+msgid "%d item"
+msgid_plural "%d items"
+msgstr[0] "%d item"
+msgstr[1] "%d itens"
+
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
@@ -301,17 +585,47 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "Já existe uma ação com o nome '%s'."
+msgid "Cannot Revert - Action is same as initial"
+msgstr "Não é possível reverter - A ação é mesma que a inicial"
+
+msgid "Revert Action"
+msgstr "Reverter Ação"
+
msgid "Add Event"
-msgstr "Adicionar VEvento"
+msgstr "Adicionar Evento"
+
+msgid "Remove Action"
+msgstr "Remover Ação"
+
+msgid "Cannot Remove Action"
+msgstr "Não foi Possível Remover a Ação"
+
+msgid "Edit Event"
+msgstr "Editar Evento"
+
+msgid "Remove Event"
+msgstr "Remover Evento"
+
+msgid "Filter by name..."
+msgstr "Filtrar por nome..."
+
+msgid "Clear All"
+msgstr "Limpar Tudo"
+
+msgid "Add New Action"
+msgstr "Adicionar Nova Ação"
msgid "Add"
msgstr "Adicionar"
+msgid "Show Built-in Actions"
+msgstr "Mostrar Ações Incorporadas"
+
msgid "Action"
msgstr "Ação"
msgid "Deadzone"
-msgstr "Zona morta"
+msgstr "Zona Morta"
msgid "Time:"
msgstr "Tempo:"
@@ -319,6 +633,9 @@ msgstr "Tempo:"
msgid "Value:"
msgstr "Valor:"
+msgid "Update Selected Key Handles"
+msgstr "Atualizar Manipuladores de Chaves Selecionados"
+
msgid "Insert Key Here"
msgstr "Inserir Chave Aqui"
@@ -328,11 +645,68 @@ msgstr "Duplicar Chave(s) Selecionada(s)"
msgid "Delete Selected Key(s)"
msgstr "Excluir Chave(s) Selecionada(s)"
+msgid "Make Handles Free"
+msgstr "Liberar Manipuladores"
+
+msgid "Make Handles Linear"
+msgstr "Tornar Linear os manipuladores"
+
+msgid "Make Handles Balanced"
+msgstr "Balancear Manipuladores"
+
+msgid "Make Handles Mirrored"
+msgstr "Espelhar os Manipuladores"
+
+msgid "Make Handles Balanced (Auto Tangent)"
+msgstr "Tornar Manipuladores Balanceados (Tangente Automática)"
+
+msgid "Make Handles Mirrored (Auto Tangent)"
+msgstr "Espelhar Manipuladores (Tangente Automática)"
+
msgid "Add Bezier Point"
msgstr "Adicionar um Ponto Bezier"
msgid "Move Bezier Points"
-msgstr "Mover pontos Bezier"
+msgstr "Mover Pontos Bezier"
+
+msgid "Animation Duplicate Keys"
+msgstr "Duplicar Chaves na Animação"
+
+msgid "Animation Delete Keys"
+msgstr "Excluir Chaves da Animação"
+
+msgid "Focus"
+msgstr "Foco"
+
+msgid "Select All Keys"
+msgstr "Selecionar Todas as Chaves"
+
+msgid "Deselect All Keys"
+msgstr "Desmarcar Todas as Chaves"
+
+msgid "Animation Change Transition"
+msgstr "Alterar Transição da Animação"
+
+msgid "Animation Change %s"
+msgstr "Mudança na Animação %s"
+
+msgid "Animation Change Keyframe Value"
+msgstr "Alterar Valor de Keyframe da Animação"
+
+msgid "Animation Change Call"
+msgstr "Alterar Chamada da Animação"
+
+msgid "Animation Multi Change Transition"
+msgstr "Transição de Mudança Múltipla de Animação"
+
+msgid "Animation Multi Change %s"
+msgstr "Mudanças na Animação Múltipla %s"
+
+msgid "Animation Multi Change Keyframe Value"
+msgstr "Mudanças no Valor Keyframe da Animação Múltipla"
+
+msgid "Animation Multi Change Call"
+msgstr "Mudanças na Chamada da Animação Múltipla"
msgid "Change Animation Length"
msgstr "Alterar Duração da Animação"
@@ -340,14 +714,36 @@ msgstr "Alterar Duração da Animação"
msgid "Change Animation Loop"
msgstr "Alterar Repetição da Animação"
+msgid "Can't change loop mode on animation instanced from imported scene."
+msgstr ""
+"Não é possível alterar o modo de repetição na animação instanciada da cena "
+"importada."
+
+msgid "Can't change loop mode on animation embedded in another scene."
+msgstr ""
+"Não é possível alterar o modo de repetição na animação incorporada em outra "
+"cena."
+
msgid "Property Track"
-msgstr "Trilha de Propriedade"
+msgstr "Faixa de Propriedades"
+
+msgid "3D Position Track"
+msgstr "Faixa de Posição 3D"
+
+msgid "3D Rotation Track"
+msgstr "Faixa de Rotação 3D"
+
+msgid "3D Scale Track"
+msgstr "Faixa de Escala 3D"
+
+msgid "Blend Shape Track"
+msgstr "Faixa de Transformação"
msgid "Call Method Track"
-msgstr "Trilha de método de chamada"
+msgstr "Faixa de Método de Chamada"
msgid "Bezier Curve Track"
-msgstr "Caminho da Curva de Bezier"
+msgstr "Faixa de Curva de Bezier"
msgid "Audio Playback Track"
msgstr "Faixa de Reprodução de Áudio"
@@ -365,7 +761,7 @@ msgid "Add Track"
msgstr "Adicionar Faixa"
msgid "Animation Looping"
-msgstr "Loop da Animação"
+msgstr "Repetir Animação"
msgid "Functions:"
msgstr "Funções:"
@@ -373,12 +769,18 @@ msgstr "Funções:"
msgid "Audio Clips:"
msgstr "Clipes de Áudio:"
+msgid "Animation Clips:"
+msgstr "Clipes de Animação:"
+
msgid "Change Track Path"
-msgstr "Alterar Valor do Trajeto"
+msgstr "Alterar Caminho da Faixa"
msgid "Toggle this track on/off."
msgstr "Ligar/desligar esta faixa."
+msgid "Use Blend"
+msgstr "Usar Transformação"
+
msgid "Update Mode (How this property is set)"
msgstr "Modo de Atualização (Como esta propriedade é setada)"
@@ -386,7 +788,7 @@ msgid "Interpolation Mode"
msgstr "Modo de Interpolação"
msgid "Loop Wrap Mode (Interpolate end with beginning on loop)"
-msgstr "Modo Loop Enrolado (Interpolar fim com início no loop)"
+msgstr "Modo Repetir Infinito (Interpolar final com o início na repetição)"
msgid "Remove this track."
msgstr "Remover esta faixa."
@@ -403,6 +805,9 @@ msgstr "Rotação:"
msgid "Scale:"
msgstr "Escala:"
+msgid "Blend Shape:"
+msgstr "Transformação:"
+
msgid "Type:"
msgstr "Tipo:"
@@ -410,7 +815,7 @@ msgid "(Invalid, expected type: %s)"
msgstr "(Inválido, tipo esperado: %s)"
msgid "Easing:"
-msgstr "Suavizar:"
+msgstr "Suavização:"
msgid "In-Handle:"
msgstr "Manipulador de Entrada:"
@@ -418,8 +823,20 @@ msgstr "Manipulador de Entrada:"
msgid "Out-Handle:"
msgstr "Manipulador de Saída:"
+msgid "Handle mode: Free\n"
+msgstr "Modo manipular: livre\n"
+
+msgid "Handle mode: Linear\n"
+msgstr "Modo manipular: Linear\n"
+
+msgid "Handle mode: Balanced\n"
+msgstr "Modo manipular: Equilibrado\n"
+
+msgid "Handle mode: Mirrored\n"
+msgstr "Modo manipular: Espelhado\n"
+
msgid "Stream:"
-msgstr "Transmissão:"
+msgstr "Fluxo:"
msgid "Start (s):"
msgstr "Início (s):"
@@ -428,10 +845,13 @@ msgid "End (s):"
msgstr "Final (is):"
msgid "Animation Clip:"
-msgstr "Animações:"
+msgstr "Clipe de Animação:"
msgid "Toggle Track Enabled"
-msgstr "Habilitar Faixa"
+msgstr "Habilitar/Desabilitar Faixa"
+
+msgid "Don't Use Blend"
+msgstr "Não Use Transformação"
msgid "Continuous"
msgstr "Contínuo"
@@ -443,7 +863,7 @@ msgid "Capture"
msgstr "Capturar"
msgid "Nearest"
-msgstr "Mais próximo"
+msgstr "Aproximado"
msgid "Linear"
msgstr "Linear"
@@ -451,11 +871,17 @@ msgstr "Linear"
msgid "Cubic"
msgstr "Cúbico"
+msgid "Linear Angle"
+msgstr "Ângulo Linear"
+
+msgid "Cubic Angle"
+msgstr "Ângulo Cúbico"
+
msgid "Clamp Loop Interp"
-msgstr "Mudar Interpolação do Loop da Animação"
+msgstr "Mudar Interpolação da Repetição"
msgid "Wrap Loop Interp"
-msgstr "Amarrar Interpolação de Loop"
+msgstr "Fixar Repetição da Interpolação"
msgid "Insert Key"
msgstr "Inserir Chave"
@@ -476,14 +902,33 @@ msgid "Change Animation Interpolation Mode"
msgstr "Alterar Modo de Interpolação da Animação"
msgid "Change Animation Loop Mode"
-msgstr "Alterar Modo Repetição da Animação"
+msgstr "Alterar Modo de Repetição da Animação"
+
+msgid "Change Animation Use Blend"
+msgstr "Alterar Uso de Transformação na Animação"
+
+msgid ""
+"Compressed tracks can't be edited or removed. Re-import the animation with "
+"compression disabled in order to edit."
+msgstr ""
+"Faixas compactadas não podem ser editadas ou removidas. Reimporte a animação "
+"com a compactação desativada para editá-la."
msgid "Remove Anim Track"
-msgstr "Remover Trilha da Anim"
+msgstr "Remover Faixa de Animação"
+
+msgid "Create new track for %s and insert key?"
+msgstr "Criar NOVA faixa para %s e inserir chave?"
+
+msgid "Create %d new tracks and insert keys?"
+msgstr "Criar %d NOVAS faixas e inserir chaves?"
msgid "Create"
msgstr "Criar"
+msgid "Animation Insert Key"
+msgstr "Inserir Chave na Animação"
+
msgid "node '%s'"
msgstr "nó '%s'"
@@ -502,6 +947,14 @@ msgstr "Alterar FPS da Animação"
msgid "Rearrange Tracks"
msgstr "Reordenar Faixas"
+msgid "Blend Shape tracks only apply to MeshInstance3D nodes."
+msgstr "As faixas de Transformação aplicam-se apenas a nós MeshInstance3D."
+
+msgid "Position/Rotation/Scale 3D tracks only apply to 3D-based nodes."
+msgstr ""
+"As faixas 3D de Posição/Rotação/Escala se aplicam apenas a nós baseados em "
+"3D."
+
msgid ""
"Audio tracks can only point to nodes of type:\n"
"-AudioStreamPlayer\n"
@@ -517,23 +970,37 @@ msgid "Animation tracks can only point to AnimationPlayer nodes."
msgstr "Faixas de animação só podem apontar para nós AnimationPlayer."
msgid "Not possible to add a new track without a root"
-msgstr "Não é possível adicionar uma nova trilha sem uma raiz"
+msgstr "Não é possível adicionar uma nova faixa sem uma raiz"
msgid "Invalid track for Bezier (no suitable sub-properties)"
-msgstr "Trilha inválida para Bézier (sem sub-propriedades adequadas)"
+msgstr "Faixa inválida para Bézier (sem sub-propriedades adequadas)"
msgid "Add Bezier Track"
-msgstr "Adicionar Trilha Bezier"
+msgstr "Adicionar Faixa Bezier"
msgid "Track path is invalid, so can't add a key."
-msgstr "Caminho da trilha é inválido, então não pode adicionar uma chave."
+msgstr ""
+"O caminho da faixa é inválido, então não é possível adicionar uma chave."
+
+msgid "Track is not of type Node3D, can't insert key"
+msgstr "A faixa não é do tipo Node3D, não é possível inserir a chave"
+
+msgid "Add Position Key"
+msgstr "Adicionar Chave de Posição"
+
+msgid "Add Rotation Key"
+msgstr "Adicionar Chave de Rotação"
+
+msgid "Add Scale Key"
+msgstr "Adicionar Chave de Escala"
msgid "Add Track Key"
-msgstr "Adicionar Trilha Chave"
+msgstr "Adicionar Faixa Chave"
msgid "Track path is invalid, so can't add a method key."
msgstr ""
-"Caminho da trilha é inválido, então não pode adicionar uma chave de método."
+"O caminho da faixa é inválido, então não foi possível adicionar uma chave de "
+"método."
msgid "Add Method Track Key"
msgstr "Adicionar Chave de Trilha de Método"
@@ -541,6 +1008,9 @@ msgstr "Adicionar Chave de Trilha de Método"
msgid "Method not found in object:"
msgstr "Método não encontrado no objeto:"
+msgid "Animation Move Keys"
+msgstr "Mover Chaves da Animação"
+
msgid "Position"
msgstr "Posição"
@@ -550,6 +1020,9 @@ msgstr "Rotação"
msgid "Scale"
msgstr "Escala"
+msgid "BlendShape"
+msgstr "BlendShape"
+
msgid "Methods"
msgstr "Métodos"
@@ -563,13 +1036,43 @@ msgid "Clipboard is empty!"
msgstr "Área de transferência vazia!"
msgid "Paste Tracks"
-msgstr "Colar Trilhas"
+msgstr "Colar Faixas"
+
+msgid "Animation Scale Keys"
+msgstr "Chaves de Escala da Animação"
+
+msgid "Make Easing Keys"
+msgstr "Gerar Chaves de Suavização"
msgid ""
"This option does not work for Bezier editing, as it's only a single track."
msgstr ""
-"Essa opção não funciona para edição por Bézier, pois é apenas uma trilha "
-"única."
+"Esta opção não funciona para edição de Bezier, pois é apenas uma única faixa."
+
+msgid "Animation Add RESET Keys"
+msgstr "Adicionar chaves RESET na Animação"
+
+msgid "Bake Animation as Linear keys."
+msgstr "Pré-calcular Animação como chaves Lineares."
+
+msgid ""
+"This animation belongs to an imported scene, so changes to imported tracks "
+"will not be saved.\n"
+"\n"
+"To modify this animation, navigate to the scene's Advanced Import settings "
+"and select the animation.\n"
+"Some options, including looping, are available here. To add custom tracks, "
+"enable \"Save To File\" and\n"
+"\"Keep Custom Tracks\"."
+msgstr ""
+"Esta animação pertence a uma cena importada, portanto as alterações nas "
+"faixas importadas não serão salvas.\n"
+"\n"
+"Para modificar esta animação, navegue até as configurações avançadas de "
+"importação da cena e selecione a animação.\n"
+"Algumas opções, incluindo repetição, estão disponíveis aqui. Para adicionar "
+"faixas personalizadas, ative \"Salvar em Arquivo\" e\n"
+"\"Manter faixas personalizadas\"."
msgid "Warning: Editing imported animation"
msgstr "Aviso: Editando animação importada"
@@ -577,14 +1080,20 @@ msgstr "Aviso: Editando animação importada"
msgid "Select an AnimationPlayer node to create and edit animations."
msgstr "Selecione um nó do tipo AnimationPlayer para criar e editar animações."
+msgid "Imported Scene"
+msgstr "Cena Importada"
+
+msgid "Toggle between the bezier curve editor and track editor."
+msgstr "Alterne entre o editor de curvas de Bezier e o editor de faixas."
+
msgid "Only show tracks from nodes selected in tree."
-msgstr "Apenas mostrar trilhas de nós selecionados na árvore."
+msgstr "Mostra apenas as faixas dos nós selecionados na árvore."
msgid "Group tracks by node or display them as plain list."
-msgstr "Agrupe as trilhas pelo nó ou exiba-as como lista simples."
+msgstr "Agrupe as faixas pelo nó ou exiba-as como lista simples."
msgid "Snap:"
-msgstr "Gancho:"
+msgstr "Ajuste:"
msgid "Animation step value."
msgstr "Valor do passo de animação."
@@ -599,16 +1108,19 @@ msgid "Edit"
msgstr "Editar"
msgid "Animation properties."
-msgstr "Propriedades de animação."
+msgstr "Propriedades da animação."
msgid "Copy Tracks"
-msgstr "Copiar Trilhas"
+msgstr "Copiar Faixas"
msgid "Scale Selection"
msgstr "Selecionar Escala"
msgid "Scale From Cursor"
-msgstr "Escalar a partir do Cursor"
+msgstr "Escalar a Partir do Cursor"
+
+msgid "Make Easing Selection"
+msgstr "Escolher Tipo de Suavização"
msgid "Duplicate Selection"
msgstr "Duplicar Seleção"
@@ -628,17 +1140,23 @@ msgstr "Ir ao Passo Anterior"
msgid "Apply Reset"
msgstr "Redefinir"
+msgid "Bake Animation"
+msgstr "Gerar Animação"
+
+msgid "Optimize Animation (no undo)"
+msgstr "Otimizar Animação (irreversível)"
+
+msgid "Clean-Up Animation (no undo)"
+msgstr "Limpar Animação (irreversível)"
+
+msgid "Pick a node to animate:"
+msgstr "Escolha um nó para animar:"
+
msgid "Use Bezier Curves"
msgstr "Usar Curvas de Bezier"
msgid "Create RESET Track(s)"
-msgstr "Criar RESET Track(s)"
-
-msgid "Anim. Optimizer"
-msgstr "Otimizador de Animação"
-
-msgid "Max. Angular Error:"
-msgstr "Erro Angular Max.:"
+msgstr "Criar Faixa(s) de RESET"
msgid "Optimize"
msgstr "Otimizar"
@@ -647,13 +1165,13 @@ msgid "Remove invalid keys"
msgstr "Remover chaves inválidas"
msgid "Remove unresolved and empty tracks"
-msgstr "Remover trilhas vazias e não resolvidas"
+msgstr "Remover faixas vazias e não resolvidas"
msgid "Clean-up all animations"
msgstr "Limpar todas as animações"
msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr "Limpar Animação(ões) (IRREVERSÍVEL!)"
+msgstr "Limpar Animação (IRREVERSÍVEL!)"
msgid "Clean-Up"
msgstr "Limpar"
@@ -661,11 +1179,14 @@ msgstr "Limpar"
msgid "Scale Ratio:"
msgstr "Razão de Escala:"
+msgid "Select Transition and Easing"
+msgstr "Selecione a Transição e Suavização"
+
msgid "Select Tracks to Copy"
-msgstr "Selecionar Trilhas para Copiar"
+msgstr "Selecione as Faixas para Copiar"
msgid "Select All/None"
-msgstr "Selecionar Todos/Nenhum"
+msgstr "Selecionar Todas/Nenhuma"
msgid "Add Audio Track Clip"
msgstr "Adicionar Clipe de Trilha de Áudio"
@@ -685,6 +1206,16 @@ msgstr "Número da Linha:"
msgid "%d replaced."
msgstr "%d substituído."
+msgid "%d match"
+msgid_plural "%d matches"
+msgstr[0] "%d correspondência"
+msgstr[1] "%d correspondências"
+
+msgid "%d of %d match"
+msgid_plural "%d of %d matches"
+msgstr[0] "%d de %d correspondência"
+msgstr[1] "%d de %d correspondências"
+
msgid "Match Case"
msgstr "Diferenciar Maiúsculas e Minúsculas"
@@ -743,12 +1274,21 @@ msgstr "Conectar ao Script:"
msgid "From Signal:"
msgstr "Sinal Origem:"
+msgid "Filter Nodes"
+msgstr "Filtrar Nós"
+
msgid "Scene does not contain any script."
msgstr "A cena não contém nenhum script."
msgid "Select Method"
msgstr "Selecionar Mtéodo"
+msgid "Filter Methods"
+msgstr "Métodos de Filtro"
+
+msgid "No method found matching given filters."
+msgstr "Nenhum método encontrado correspondente aos filtros aplicados."
+
msgid "Remove"
msgstr "Remover"
@@ -811,6 +1351,9 @@ msgstr "Tem certeza que quer remover todas as conexões do sinal \"%s\"?"
msgid "Signals"
msgstr "Sinais"
+msgid "Filter Signals"
+msgstr "Filtrar Sinais"
+
msgid "Are you sure you want to remove all connections from this signal?"
msgstr "Tem certeza que quer remover todas conexões desse sinal?"
@@ -839,7 +1382,7 @@ msgid "Favorites:"
msgstr "Favoritos:"
msgid "Recent:"
-msgstr "Recente:"
+msgstr "Recentes:"
msgid "Search:"
msgstr "Pesquisar:"
@@ -985,6 +1528,9 @@ msgstr "Continuar"
msgid "Stack Frames"
msgstr "Pilha de Quadros"
+msgid "Filter Stack Variables"
+msgstr "Filtrar Variáveis de Pilha"
+
msgid "Breakpoints"
msgstr "Pontos de Quebra"
@@ -1019,7 +1565,7 @@ msgid "Usage"
msgstr "Uso"
msgid "Misc"
-msgstr "Misc"
+msgstr "Diversos"
msgid "Clicked Control:"
msgstr "Controle Clicado:"
@@ -1209,9 +1755,9 @@ msgid ""
"respective copyright statements and license terms."
msgstr ""
"Godot Engine depende de várias bibliotecas de código aberto e gratuitas de "
-"terceiros, todas compatíveis com os termos de sua licença MIT. A lista "
-"seguinte é uma lista completa de todos esses componentes de terceiros com "
-"suas respectivas declarações de direitos autorais e termos de licença."
+"terceiros, todas compatíveis com os termos de sua licença MIT. Veja abaixo a "
+"lista completa de todos esses componentes de terceiros com suas respectivas "
+"declarações de direitos autorais e termos de licença."
msgid "All Components"
msgstr "Todos Componentes"
@@ -1261,7 +1807,7 @@ msgid "Speakers"
msgstr "Caixas de Som"
msgid "Add Effect"
-msgstr "Adicionar Efeito"
+msgstr "Ad. Efeito"
msgid "Rename Audio Bus"
msgstr "Renomear Canal de Áudio"
@@ -1294,7 +1840,7 @@ msgid "Drag & drop to rearrange."
msgstr "Arrastar e soltar para reorganizar."
msgid "Solo"
-msgstr "Solo"
+msgstr "Só"
msgid "Mute"
msgstr "Silenciar"
@@ -1458,6 +2004,9 @@ msgstr "Redefinir para o padrão"
msgid "Export Profile"
msgstr "Exportar Perfil"
+msgid "Filter Commands"
+msgstr "Comandos de Filtro"
+
msgid "Paste Params"
msgstr "Colar Parâmetros"
@@ -1642,9 +2191,6 @@ msgstr "Abrir"
msgid "Select Current Folder"
msgstr "Selecionar a Pasta Atual"
-msgid "File exists, overwrite?"
-msgstr "O arquivo já existe. Sobrescrever?"
-
msgid "Select This Folder"
msgstr "Selecionar esta Pasta"
@@ -1790,6 +2336,9 @@ msgstr "padrão:"
msgid "Constructors"
msgstr "Construtores"
+msgid "Operators"
+msgstr "Operadores"
+
msgid "Theme Properties"
msgstr "Propriedades do Tema"
@@ -1918,24 +2467,59 @@ msgstr "%s não fixado"
msgid "Copy Property Path"
msgstr "Copiar Caminho da Propriedade"
+msgid "Changed Locale Language Filter"
+msgstr "Filtro de Dialeto de Idioma Alterado"
+
+msgid "Changed Locale Script Filter"
+msgstr "Filtro de Script de Dialeto Alterado"
+
+msgid "Changed Locale Country Filter"
+msgstr "Filtro de Dialeto por País Alterado"
+
msgid "Changed Locale Filter Mode"
-msgstr "Modo do Filtro de Idiomas Alterado"
+msgstr "Modo do Filtro de Dialeto Alterado"
+
+msgid "[Default]"
+msgstr "[Padrão]"
+
+msgid "Select a Locale"
+msgstr "Selecione um Dialeto"
msgid "Show All Locales"
-msgstr "Mostrar todos os Locales"
+msgstr "Mostrar Todos os Dialetos"
msgid "Show Selected Locales Only"
-msgstr "Mostrar apenas os Locales selecionados"
+msgstr "Mostrar Apenas os Dialetos Selecionados"
msgid "Edit Filters"
msgstr "Editar Filtros"
msgid "Language:"
-msgstr "Idioma:"
+msgstr "Dialeto:"
+
+msgctxt "Locale"
+msgid "Script:"
+msgstr "Script:"
+
+msgid "Country:"
+msgstr "País:"
+
+msgid "Language"
+msgstr "Dialeto"
+
+msgctxt "Locale"
+msgid "Script"
+msgstr "Script"
+
+msgid "Country"
+msgstr "País"
msgid "Variant"
msgstr "Variante"
+msgid "Filter Messages"
+msgstr "Filtrar Mensagens"
+
msgid "Clear Output"
msgstr "Limpar Saída"
@@ -2313,6 +2897,9 @@ msgstr "Deslocar Visão"
msgid "Dock Position"
msgstr "Pos. do Painel"
+msgid "Make Floating"
+msgstr "Tornar Flutuante"
+
msgid "Add a new scene."
msgstr "Adicionar nova cena."
@@ -2334,6 +2921,9 @@ msgstr "Ir para cena aberta anteriormente."
msgid "Copy Text"
msgstr "Copiar Texto"
+msgid "Focus FileSystem Filter"
+msgstr "Focar Filtro de Arquivos"
+
msgid "New Scene"
msgstr "Nova Cena"
@@ -2352,6 +2942,9 @@ msgstr "Abrir Recente"
msgid "Save Scene"
msgstr "Salvar Cena"
+msgid "Export As..."
+msgstr "Exportar Como…"
+
msgid "MeshLibrary..."
msgstr "MeshLibrary..."
@@ -2451,17 +3044,68 @@ msgstr "Sobre o Godot"
msgid "Support Godot Development"
msgstr "Apoie o Desenvolvimento do Godot"
+msgid "Run the project's default scene."
+msgstr "Execute a cena padrão do projeto."
+
msgid "Run Project"
msgstr "Executar Projeto"
+msgid "Pause the running project's execution for debugging."
+msgstr "Pausar a execução do projeto para depuração."
+
+msgid "Pause Running Project"
+msgstr "Pausar Projeto em Execução"
+
+msgid "Stop the currently running project."
+msgstr "Para o projeto atualmente em execução."
+
+msgid "Stop Running Project"
+msgstr "Parar de Executar o Projeto"
+
+msgid "Run the currently edited scene."
+msgstr "Execute a cena atual editada."
+
+msgid "Run Current Scene"
+msgstr "Executar Cena Atual"
+
+msgid "Run a specific scene."
+msgstr "Execute uma cena específica."
+
+msgid "Run Specific Scene"
+msgstr "Executar Cena Específica"
+
+msgid ""
+"Enable Movie Maker mode.\n"
+"The project will run at stable FPS and the visual and audio output will be "
+"recorded to a video file."
+msgstr ""
+"Ativar o modo Movie Maker.\n"
+"O projeto será executado em FPS estável e a saída visual e de áudio será "
+"gravada em um arquivo de vídeo."
+
+msgid "Choose a renderer."
+msgstr "Escolha um renderizador."
+
+msgid "Forward+"
+msgstr "Avançado+"
+
+msgid "Mobile"
+msgstr "Mobile"
+
msgid "Compatibility"
msgstr "Compatibilidade"
+msgid "Changing the renderer requires restarting the editor."
+msgstr "A alteração do renderizador requer a reinicialização do editor."
+
msgid "Update Continuously"
msgstr "Atualizar Continuamente"
+msgid "Update When Changed"
+msgstr "Atualizar Quando Alterado"
+
msgid "Hide Update Spinner"
-msgstr "Ocultar Spinner de Atualização"
+msgstr "Ocultar Ícone de Atualização"
msgid "FileSystem"
msgstr "Arquivos"
@@ -2472,6 +3116,9 @@ msgstr "Inspetor"
msgid "Node"
msgstr "Nó"
+msgid "History"
+msgstr "Histórico"
+
msgid "Expand Bottom Panel"
msgstr "Expandir Painel Inferior"
@@ -2487,11 +3134,31 @@ msgstr ""
"modelos relevantes."
msgid "Manage Templates"
-msgstr "Gerenciar Templates"
+msgstr "Gerenciar Modelos"
msgid "Install from file"
msgstr "Instalar do arquivo"
+msgid "Select Android sources file"
+msgstr "Selecione os arquivos fonte do Android"
+
+msgid ""
+"This will set up your project for gradle Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make gradle builds instead of using pre-built APKs, "
+"the \"Use Gradle Build\" option should be enabled in the Android export "
+"preset."
+msgstr ""
+"Isso configurará seu projeto para compilações gradle do Android instalando o "
+"modelo de origem em \"res://android/build\".\n"
+"Você pode aplicar modificações e criar seu próprio APK personalizado na "
+"exportação (adicionar módulos, alterar o AndroidManifest.xml, etc.).\n"
+"Observe que, para criar gradle builds em vez de usar APKs pré-criados, a "
+"opção \"Use Gradle Build\" deve ser habilitada na predefinição de exportação "
+"do Android."
+
msgid ""
"The Android build template is already installed in this project and it won't "
"be overwritten.\n"
@@ -2642,6 +3309,12 @@ msgstr "Escolha uma Viewport"
msgid "Selected node is not a Viewport!"
msgstr "O nó selecionado não é uma Viewport!"
+msgid "(Nil) %s"
+msgstr "(Nil) %s"
+
+msgid "%s (size %s)"
+msgstr "%s (quantidade: %s)"
+
msgid "Size:"
msgstr "Tamanho:"
@@ -2657,6 +3330,15 @@ msgstr "Novo Valor:"
msgid "Add Key/Value Pair"
msgstr "Adicionar Par de Chave/Valor"
+msgid "Localizable String (Nil)"
+msgstr "Traduções da String"
+
+msgid "Localizable String (size %d)"
+msgstr "Traduções do Título (para %d dialetos)"
+
+msgid "Add Translation"
+msgstr "Adicionar Tradução"
+
msgid ""
"The selected resource (%s) does not match any type expected for this "
"property (%s)."
@@ -2719,6 +3401,22 @@ msgstr "Atalhos"
msgid "Binding"
msgstr "VInculamento"
+msgid ""
+"Hold %s to round to integers.\n"
+"Hold Shift for more precise changes."
+msgstr ""
+"Segure %s para arredondar para números inteiros.\n"
+"Segure Shift para mudanças mais precisas."
+
+msgid "No notifications."
+msgstr "Nenhuma notificação."
+
+msgid "Show notifications."
+msgstr "Mostrar notificações."
+
+msgid "Silence the notifications."
+msgstr "Silenciar as notificações."
+
msgid "All Devices"
msgstr "Todos os dispositivos"
@@ -2841,7 +3539,7 @@ msgid ""
"Templates installation failed.\n"
"The problematic templates archives can be found at '%s'."
msgstr ""
-"Falha na instalação de modelos. \n"
+"Falha na instalação dos modelos.\n"
"Os arquivos de modelos problemáticos podem ser encontrados em '%s'."
msgid "Error getting the list of mirrors."
@@ -2894,7 +3592,7 @@ msgstr "Não foi possível abrir o arquivo de modelos de exportação."
msgid "Invalid version.txt format inside the export templates file: %s."
msgstr ""
-"Formato de version.txt inválido dentro do arquivo de modelos de exportação: "
+"Formato do version.txt inválido dentro do arquivo de modelos de exportação: "
"%s."
msgid "No version.txt found inside the export templates file."
@@ -2912,7 +3610,7 @@ msgid "Importing:"
msgstr "Importando:"
msgid "Remove templates for the version '%s'?"
-msgstr "Remover modelo para a versão '%s'?"
+msgstr "Remover modelos para a versão '%s'?"
msgid "Uncompressing Android Build Sources"
msgstr "Descompactando Fontes de Compilação do Android"
@@ -2929,14 +3627,13 @@ msgstr ""
"arquivo."
msgid "Export templates are installed and ready to be used."
-msgstr ""
-"As exportações de modelos estão instaladas e prontas para serem usadas."
+msgstr "Os modelos de exportação estão instalados e prontos para serem usados."
msgid "Open Folder"
msgstr "Abrir Pasta"
msgid "Open the folder containing installed templates for the current version."
-msgstr "Abre a pasta contendo modelos instalados para a versão atual."
+msgstr "Abre a pasta que contém os modelos instalados para a versão atual."
msgid "Uninstall"
msgstr "Desinstalar"
@@ -2965,7 +3662,7 @@ msgstr ""
msgid "Official export templates aren't available for development builds."
msgstr ""
-"Modelos de exportação oficiais não estão disponíveis para compilações de "
+"Os modelos de exportação oficiais não estão disponíveis para compilações de "
"desenvolvimento."
msgid "Install from File"
@@ -3065,14 +3762,14 @@ msgid ""
"(comma-separated, e.g: *.json, *.txt, docs/*)"
msgstr ""
"Filtros para exportar arquivos/pastas que não sejam recursos\n"
-"(separados por vírgula, e.g.: *.json, *.txt)"
+"(separados por vírgula, ex.: *.json, *.txt, docs/*)"
msgid ""
"Filters to exclude files/folders from project\n"
"(comma-separated, e.g: *.json, *.txt, docs/*)"
msgstr ""
"Filtros para excluir arquivos/pastas do projeto\n"
-"(separados por vírgula, ex.: *.json, *.txt)"
+"(separados por vírgula, ex.: *.json, *.txt, docs/*)"
msgid "Features"
msgstr "Funcionalidades"
@@ -3083,6 +3780,20 @@ msgstr "Personalizado (separado por vírgula):"
msgid "Feature List:"
msgstr "Lista de Funcionalidades:"
+msgid ""
+"Filters to include files/folders\n"
+"(comma-separated, e.g: *.tscn, *.tres, scenes/*)"
+msgstr ""
+"Filtros para excluir arquivos/pastas do projeto\n"
+"(separados por vírgula, ex.: *.tscn, *.tres, scenes/*)"
+
+msgid ""
+"Filters to exclude files/folders\n"
+"(comma-separated, e.g: *.ctex, *.import, music/*)"
+msgstr ""
+"Filtros para excluir arquivos/pastas do projeto\n"
+"(separados por vírgula, ex.: *.ctex, *.import, music/*)"
+
msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
msgstr ""
"Chave de Criptografia Inválida (deve conter 64 caracteres hexadecimais)"
@@ -3091,8 +3802,8 @@ msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
msgstr ""
-"Nota: Chaves de encriptação têm que ser salvas com o binário,\n"
-"você precisa compilar os modelos de exportação à partir do código fonte."
+"Nota: a chave de criptografia precisa ser armazenada no binário,\n"
+"você precisa construir os modelos de exportação da fonte."
msgid "More Info..."
msgstr "Mais Informações..."
@@ -3116,7 +3827,9 @@ msgid "Godot Project Pack"
msgstr "Pacote do Projeto Godot"
msgid "Export templates for this platform are missing:"
-msgstr "Modelos de exportação para esta plataforma não foram encontrados:"
+msgstr ""
+"Os seguintes modelos de exportação para esta plataforma não foram "
+"encontrados:"
msgid "Project Export"
msgstr "Exportar Projeto"
@@ -3264,6 +3977,9 @@ msgstr "Re-escanear Sistema de Arquivos"
msgid "Toggle Split Mode"
msgstr "Alternar Modo Split"
+msgid "Filter Files"
+msgstr "Filtrar Arquivos"
+
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -3350,6 +4066,9 @@ msgstr "Editor de Grupos"
msgid "Manage Groups"
msgstr "Gerenciar Grupos"
+msgid "The Beginning"
+msgstr "O Início"
+
msgid "Reimport"
msgstr "Reimportar"
@@ -3529,7 +4248,7 @@ msgid "Translation Resource Remap: Add %d Remap(s)"
msgstr "Remapeamento de Recurso de Tradução: Adicionados %d Remapeamento(s)"
msgid "Change Resource Remap Language"
-msgstr "Alterar Idioma de Remapeamento de Recuso"
+msgstr "Alterar Linguagem de Remapeamento de Recurso"
msgid "Remove Resource Remap"
msgstr "Remover Remapeamento de Recurso"
@@ -3555,6 +4274,9 @@ msgstr "Remapeamentos por Localidade:"
msgid "Locale"
msgstr "Localidade"
+msgid "Set %s on %d nodes"
+msgstr "Definindo %s nós como %d ativos"
+
msgid "Select a single node to edit its signals and groups."
msgstr "Selecione um nó para editar seus sinais e grupos."
@@ -4114,6 +4836,12 @@ msgstr "Último"
msgid "All"
msgstr "Todos"
+msgid "Search Templates, Projects, and Demos"
+msgstr "Pesquisar Modelos, Projetos, e Demonstrações"
+
+msgid "Search Assets (Excluding Templates, Projects, and Demos)"
+msgstr "Pesquisar Recursos (Excluindo Modelos, Projetos e Demonstrações)"
+
msgid "Import..."
msgstr "Importar..."
@@ -4672,12 +5400,12 @@ msgid ""
"On Android, deploying will use the USB cable for faster performance. This "
"option speeds up testing for projects with large assets."
msgstr ""
-"Quando esta opção está ativada, o uso de implantação com um clique para o "
+"Quando esta opção estiver habilitada, usar a implantação com um clique para "
"Android exportará apenas um executável sem os dados do projeto.\n"
-"O sistema de arquivos será fornecido a partir do projeto pelo editor na "
+"O sistema de arquivos será fornecido a partir do projeto pelo editor pela "
"rede.\n"
-"No Android, a implantação usará o cabo USB para desempenho mais rápido. Esta "
-"opção acelera o teste de projetos com grandes ativos."
+"No Android, a implantação usará o cabo USB para um desempenho mais rápido. "
+"Essa opção acelera o teste de projetos com grandes ativos."
msgid "Visible Collision Shapes"
msgstr "Formas de Colisão Visíveis"
@@ -4727,6 +5455,14 @@ msgstr ""
"Quando usado remotamente em um dispositivo, isso é mais eficiente quando a "
"opção de sistema de arquivos via rede está ativada."
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "Executando %d Instância"
+msgstr[1] "Executando %d Instâncias"
+
+msgid " - Variation"
+msgstr " - Variação"
+
msgid "Convert to CPUParticles2D"
msgstr "Converter para CPUParticles2D"
@@ -5143,6 +5879,9 @@ msgstr "Chaveamento está desativado (nenhuma chave inserida)."
msgid "Animation Key Inserted."
msgstr "Chave de Animação Inserida."
+msgid "Objects: %d\n"
+msgstr "Objetos: %d\n"
+
msgid "Top View."
msgstr "Visão Superior."
@@ -5248,6 +5987,9 @@ msgstr "Modificador de velocidade da Visão Livre"
msgid "Freelook Slow Modifier"
msgstr "Modificador de velocidade lenta da Visão Livre"
+msgid "Cancel Transformation"
+msgstr "Cancelar Transformação"
+
msgid "Toggle Camera Preview"
msgstr "Alternar pré-visualização da câmera"
@@ -6004,6 +6746,12 @@ msgstr "Vá para o próximo ponto de interrupção"
msgid "Go to Previous Breakpoint"
msgstr "Ir para ponto de interrupção anterior"
+msgid "Load Shader File"
+msgstr "Carregar Arquivo Shader"
+
+msgid "Shader Editor"
+msgstr "Editor Shader"
+
msgid "This skeleton has no bones, create some children Bone2D nodes."
msgstr "Este esqueleto não tem ossos, crie alguns nós filhos Bone2D."
@@ -6128,6 +6876,9 @@ msgstr "(vazio)"
msgid "Animations:"
msgstr "Animações:"
+msgid "Delete Animation"
+msgstr "Excluir Animação"
+
msgid "Animation Frames:"
msgstr "Frames da Animação:"
@@ -6179,21 +6930,59 @@ msgstr "Passo:"
msgid "Styleboxes"
msgstr "Styleboxes"
+msgid "1 color"
+msgid_plural "{num} colors"
+msgstr[0] "1 cor"
+msgstr[1] "{num} cores"
+
msgid "No colors found."
msgstr "Nenhuma cor encontrada."
+msgid "1 constant"
+msgid_plural "{num} constants"
+msgstr[0] "1 constante"
+msgstr[1] "{num} constantes"
+
msgid "No constants found."
msgstr "Nenhuma constante encontrada."
+msgid "1 font"
+msgid_plural "{num} fonts"
+msgstr[0] "1 fonte"
+msgstr[1] "{num} fontes"
+
msgid "No fonts found."
msgstr "Fontes não encontradas."
+msgid "1 font size"
+msgid_plural "{num} font sizes"
+msgstr[0] "1 tamanho de fonte"
+msgstr[1] "{num} tamanhos de fonte"
+
+msgid "No font sizes found."
+msgstr "Nenhum tamanho de fonte encontrado."
+
+msgid "1 icon"
+msgid_plural "{num} icons"
+msgstr[0] "1 ícone"
+msgstr[1] "{num} ícones"
+
msgid "No icons found."
msgstr "Ícones não encontrados."
+msgid "1 stylebox"
+msgid_plural "{num} styleboxes"
+msgstr[0] "1 caixa de estilo"
+msgstr[1] "{num} caixas de estilo"
+
msgid "No styleboxes found."
msgstr "Nenhuma caixa de estilo encontrada."
+msgid "{num} currently selected"
+msgid_plural "{num} currently selected"
+msgstr[0] "{num} atualmente selecionado"
+msgstr[1] "{num} atualmente selecionados"
+
msgid "Nothing was selected for the import."
msgstr "Nada foi selecionado para a importação."
@@ -7342,6 +8131,12 @@ msgstr "Por favor, escolha um arquivo 'project.godot' ou arquivo '.zip'."
msgid "This directory already contains a Godot project."
msgstr "O diretório já contém um projeto Godot."
+msgid ""
+"The selected path is not empty. Choosing an empty folder is highly "
+"recommended."
+msgstr ""
+"O caminho selecionado não está vazio. É recomendado escolher uma pasta vazia."
+
msgid "New Game Project"
msgstr "Novo Projeto de Jogo"
@@ -7355,11 +8150,53 @@ msgid "Couldn't create folder."
msgstr "Impossível criar a pasta."
msgid "There is already a folder in this path with the specified name."
-msgstr "Já há uma pasta neste caminho com o nome especificado."
+msgstr "Já existe uma pasta neste caminho com o nome especificado."
msgid "It would be a good idea to name your project."
msgstr "Seria uma boa ideia nomear o seu projeto."
+msgid "Supports desktop platforms only."
+msgstr "Suporta apenas plataformas de desktop."
+
+msgid "Advanced 3D graphics available."
+msgstr "Gráficos 3D avançados disponíveis."
+
+msgid "Can scale to large complex scenes."
+msgstr "Pode escalar para cenas grandes e complexas."
+
+msgid "Uses RenderingDevice backend."
+msgstr "Suporta dispositivo de renderização atuais."
+
+msgid "Slower rendering of simple scenes."
+msgstr "Renderização mais lenta de cenas simples."
+
+msgid "Supports desktop + mobile platforms."
+msgstr "Suporta desktop + plataformas mobile."
+
+msgid "Less advanced 3D graphics."
+msgstr "Gráficos 3D menos avançados."
+
+msgid "Less scalable for complex scenes."
+msgstr "Menos escalável para cenas complexas."
+
+msgid "Fast rendering of simple scenes."
+msgstr "Renderização rápida de cenas simples."
+
+msgid "Supports desktop, mobile + web platforms."
+msgstr "Suporta desktop, plataformas mobile + web."
+
+msgid "Least advanced 3D graphics (currently work-in-progress)."
+msgstr "Gráficos 3D menos avançados (em desenvolvimento)."
+
+msgid "Intended for low-end/older devices."
+msgstr "Destinado a dispositivos modestos/antigos."
+
+msgid "Uses OpenGL 3 backend (OpenGL 3.3/ES 3.0/WebGL2)."
+msgstr "Usa renderizador OpenGL 3 (OpenGL 3.3/ES 3.0/WebGL2)."
+
+msgid "Fastest rendering of simple scenes."
+msgstr "Renderização mais rápida de cenas simples."
+
msgid "Invalid project path (changed anything?)."
msgstr "Caminho de projeto inválido (mudou alguma coisa?)."
@@ -7372,11 +8209,28 @@ msgstr ""
msgid "Couldn't save project at '%s' (error %d)."
msgstr "Não foi possível salvar o projeto em '%s' (erro %d)."
+msgid "Warning: This folder is not empty"
+msgstr "Aviso: Esta pasta não está vazia"
+
+msgid ""
+"You are about to create a Godot project in a non-empty folder.\n"
+"The entire contents of this folder will be imported as project resources!\n"
+"\n"
+"Are you sure you wish to continue?"
+msgstr ""
+"Você está prestes a criar um projeto Godot em uma pasta não vazia.\n"
+"Todo o conteúdo desta pasta será importado como recursos do projeto!\n"
+"\n"
+"Tem certeza que deseja continuar?"
+
msgid "Couldn't create project.godot in project path."
msgstr "Não foi possível criar project.godot no caminho do projeto."
+msgid "Couldn't create icon.svg in project path."
+msgstr "Não foi possível criar icon.svg no caminho do projeto."
+
msgid "Error opening package file, not in ZIP format."
-msgstr "Erro ao abrir arquivo compactado, não está no formato ZIP."
+msgstr "Erro ao abrir o arquivo compactado, não está no formato ZIP."
msgid "The following files failed extraction from package:"
msgstr "Os arquivos a seguir falharam ao serem extraídos do pacote:"
@@ -7412,13 +8266,24 @@ msgid "Project Path:"
msgstr "Caminho do Projeto:"
msgid "Project Installation Path:"
-msgstr "Caminho do Projeto:"
+msgstr "Caminho de Instalação do Projeto:"
msgid "Renderer:"
msgstr "Renderizador:"
+msgid "The renderer can be changed later, but scenes may need to be adjusted."
+msgstr ""
+"O renderizador pode ser alterado posteriormente, mas as cenas podem precisar "
+"de ajustes."
+
+msgid "Version Control Metadata:"
+msgstr "Controle de Versão:"
+
+msgid "Git"
+msgstr "Git"
+
msgid "Missing Project"
-msgstr "Projeto ausente"
+msgstr "Projeto Ausente"
msgid "Error: Project is missing on the filesystem."
msgstr "Erro: Projeto não encontrado no sistema de arquivos."
@@ -7436,11 +8301,159 @@ msgid "Can't open project at '%s'."
msgstr "Não é possível abrir o projeto em '%s'."
msgid ""
+"You requested to open %d projects in parallel. Do you confirm?\n"
+"Note that usual checks for engine version compatibility will be bypassed."
+msgstr ""
+"Você solicitou a abertura de %d projetos em paralelo. Você confirma?\n"
+"Observe que as verificações usuais de compatibilidade da versão da engine "
+"serão ignoradas."
+
+msgid ""
+"The selected project \"%s\" does not specify its supported Godot version in "
+"its configuration file (\"project.godot\").\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"If you proceed with opening it, it will be converted to Godot's current "
+"configuration file format.\n"
+"\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+"O projeto selecionado \"%s\" não especifica sua versão Godot suportada em "
+"seu arquivo de configuração (\"project.godot\").\n"
+"\n"
+"Caminho do projeto: %s\n"
+"\n"
+"Se você prosseguir com a abertura, ele será convertido para o formato de "
+"arquivo de configuração atual do Godot.\n"
+"\n"
+"Aviso: você não poderá mais abrir o projeto com versões anteriores da engine."
+
+msgid ""
+"The selected project \"%s\" was generated by Godot 3.x, and needs to be "
+"converted for Godot 4.x.\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"You have three options:\n"
+"- Convert only the configuration file (\"project.godot\"). Use this to open "
+"the project without attempting to convert its scenes, resources and "
+"scripts.\n"
+"- Convert the entire project including its scenes, resources and scripts "
+"(recommended if you are upgrading).\n"
+"- Do nothing and go back.\n"
+"\n"
+"Warning: If you select a conversion option, you won't be able to open the "
+"project with previous versions of the engine anymore."
+msgstr ""
+"O projeto selecionado \"%s\" foi gerado pelo Godot 3.x e precisa ser "
+"convertido para o Godot 4.x.\n"
+"\n"
+"Caminho do projeto: %s\n"
+"\n"
+"Você tem três opções:\n"
+"- Converter apenas o arquivo de configuração (\"project.godot\"). Use isso "
+"para abrir o projeto sem tentar converter suas cenas, recursos e scripts.\n"
+"- Converter todo o projeto incluindo suas cenas, recursos e scripts "
+"(recomendado se você estiver atualizando).\n"
+"- Não fazer nada e voltar.\n"
+"\n"
+"Aviso: Se você selecionar uma opção de conversão, não poderá mais abrir o "
+"projeto com versões anteriores da engine."
+
+msgid "Convert project.godot Only"
+msgstr "Converter Somente project.godot"
+
+msgid ""
+"The selected project \"%s\" was generated by an older engine version, and "
+"needs to be converted for this version.\n"
+"\n"
+"Project path: %s\n"
+"\n"
+"Do you want to convert it?\n"
+"\n"
+"Warning: You won't be able to open the project with previous versions of the "
+"engine anymore."
+msgstr ""
+"O projeto selecionado \"%s\" foi gerado por uma versão mais antiga da engine "
+"e precisa ser convertido para esta versão.\n"
+"\n"
+"Caminho do projeto: %s\n"
+"\n"
+"Você quer convertê-lo?\n"
+"\n"
+"Aviso: você não poderá mais abrir o projeto com versões anteriores da engine."
+
+msgid "Convert project.godot"
+msgstr "Converter(project.godot)"
+
+msgid ""
+"Can't open project \"%s\" at the following path:\n"
+"\n"
+"%s\n"
+"\n"
+"The project settings were created by a newer engine version, whose settings "
+"are not compatible with this version."
+msgstr ""
+"Não é possível abrir o projeto \"%s\" no seguinte caminho:\n"
+"\n"
+"%s\n"
+"\n"
+"As configurações do projeto foram criadas por uma versão mais recente da "
+"engine, cujas configurações não são compatíveis com esta versão."
+
+msgid ""
+"Warning: This project uses double precision floats, but this version of\n"
+"Godot uses single precision floats. Opening this project may cause data "
+"loss.\n"
+"\n"
+msgstr ""
+"Aviso: Este projeto usa double precision floats, mas esta versão do\n"
+"Godot usa single precision floats. Abrir este projeto pode causar perda de "
+"dados.\n"
+"\n"
+
+msgid ""
+"Warning: This project uses C#, but this build of Godot does not have\n"
+"the Mono module. If you proceed you will not be able to use any C# scripts.\n"
+"\n"
+msgstr ""
+"Aviso: Este projeto usa C#, mas esta compilação do Godot não possui\n"
+"o módulo mono. Se você continuar, não poderá usar nenhum script C#.\n"
+"\n"
+
+msgid ""
+"Warning: This project was built in Godot %s.\n"
+"Opening will upgrade or downgrade the project to Godot %s.\n"
+"\n"
+msgstr ""
+"Aviso: Este projeto foi construído em Godot %s.\n"
+"A abertura atualizará ou rebaixará o projeto para Godot %s.\n"
+"\n"
+
+msgid ""
+"Warning: This project uses the following features not supported by this "
+"build of Godot:\n"
+"\n"
+"%s\n"
+"\n"
+msgstr ""
+"Aviso: Este projeto usa os seguintes recursos não suportados por esta versão "
+"do Godot:\n"
+"\n"
+"%s\n"
+"\n"
+
+msgid "Open anyway? Project will be modified."
+msgstr "Abrir assim mesmo? Projeto será modificado."
+
+msgid ""
"Can't run project: no main scene defined.\n"
"Please edit the project and set the main scene in the Project Settings under "
"the \"Application\" category."
msgstr ""
-"Não é possível executar o projeto: nenhuma cena principal definida.\n"
+"Não é possível executar o projeto: nenhuma cena definida como principal.\n"
"Por favor, edite o projeto e defina a cena principal nas Configurações do "
"Projeto na categoria \"Aplicativo\"."
@@ -7479,7 +8492,7 @@ msgid ""
"Are you sure to scan %s folders for existing Godot projects?\n"
"This could take a while."
msgstr ""
-"Tem certeza que quer escanear %s pastam em busca de projetos Godot "
+"Tem certeza que deseja escanear %s pastas buscando projetos Godot "
"existentes?\n"
"Isso pode levar algum tempo."
@@ -7487,6 +8500,9 @@ msgctxt "Application"
msgid "Project Manager"
msgstr "Gerenciador de Projetos"
+msgid "Filter Projects"
+msgstr "Filtrar Projetos"
+
msgid ""
"This field filters projects by name and last path component.\n"
"To filter projects by name and full path, the query must contain at least "
@@ -7499,6 +8515,9 @@ msgstr ""
msgid "Loading, please wait..."
msgstr "Carregando, por favor aguarde."
+msgid "Last Edited"
+msgstr "Ultima Modificação"
+
msgid "New Project"
msgstr "Novo Projeto"
@@ -7533,7 +8552,7 @@ msgid "Remove All"
msgstr "Remover Tudo"
msgid "Also delete project contents (no undo!)"
-msgstr "Também deletar os conteúdos do projeto (não se pode desfazer!)"
+msgstr "Também deletar os conteúdos do projeto (não pode ser desfeito!)"
msgid "Can't run project"
msgstr "Não é possível executar o projeto"
@@ -7543,11 +8562,14 @@ msgid ""
"Would you like to explore official example projects in the Asset Library?"
msgstr ""
"Você não tem nenhum projeto no momento.\n"
-"Gostaria de explorar projetos de exemplo oficiais na Asset Library?"
+"Gostaria de explorar projetos de exemplo oficiais na Biblioteca de Recursos?"
msgid "Delete Item"
msgstr "Excluir Item"
+msgid "(All)"
+msgstr "(Todos)"
+
msgid "Add Input Action"
msgstr "Adicionar Ação de Entrada"
@@ -7557,9 +8579,6 @@ msgstr "Alterar zona morta de ação"
msgid "Erase Input Action"
msgstr "Apagar Ação de Entrada"
-msgid "Rename Input Action Event"
-msgstr "Renomear Evento de Ação de Entrada"
-
msgid "Project Settings (project.godot)"
msgstr "Configurações do Projeto (project.godot)"
@@ -7923,6 +8942,19 @@ msgstr ""
"'%s' em um node path.\n"
"Clique para desabilitar esta funcionalidade."
+msgid "Node has one connection."
+msgid_plural "Node has {num} connections."
+msgstr[0] "O nó tem uma conexão."
+msgstr[1] "O nó tem {num} conexões."
+
+msgid "Node is in this group:"
+msgid_plural "Node is in the following groups:"
+msgstr[0] "O nó está no grupo:"
+msgstr[1] "O nó está nos seguintes grupos:"
+
+msgid "Click to show signals dock."
+msgstr "Clique para mostrar o painel de sinais."
+
msgid "Open Script:"
msgstr "Abrir Script:"
@@ -8053,6 +9085,11 @@ msgstr "Caminho base inválido."
msgid "Wrong extension chosen."
msgstr "Extensão errada escolhida."
+msgid "Note: Built-in shaders can't be edited using an external editor."
+msgstr ""
+"Observação: Shaders integrados não podem ser editados usando um editor "
+"externo."
+
msgid "Change Cylinder Radius"
msgstr "Alterar Raio do Cilindro"
@@ -8094,6 +9131,23 @@ msgstr "Formato de dicionário de instância inválido (script inválido em @pat
msgid "Invalid instance dictionary (invalid subclasses)"
msgstr "Dicionário de instância inválido (subclasses inválidas)"
+msgid ""
+"Blender 3.0+ is required to import '.blend' files.\n"
+"Please provide a valid path to a Blender installation:"
+msgstr ""
+"O Blender 3.0+ é necessário para importar arquivos '.blend'.\n"
+"Forneça um caminho válido para uma instalação do Blender:"
+
+msgid ""
+"Disables Blender '.blend' files import for this project. Can be re-enabled "
+"in Project Settings."
+msgstr ""
+"Desativa a importação de arquivos '.blend' do Blender para este projeto. "
+"Pode ser reativado nas configurações do projeto."
+
+msgid "Disabling '.blend' file import requires restarting the editor."
+msgstr "Desativar a importação de arquivo '.blend' requer reiniciar o editor."
+
msgid "Next Plane"
msgstr "Próximo Plano"
@@ -8214,6 +9268,9 @@ msgstr "Tamanho"
msgid "Network Profiler"
msgstr "Perfis de rede"
+msgid "Delete Property?"
+msgstr "Excluir Propriedade?"
+
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr ""
"Um recurso do tipo NavigationMesh deve ser definido ou criado para que este "
@@ -8431,6 +9488,13 @@ msgstr "Não foi possível iniciar o executável apksigner."
msgid "'apksigner' returned with error #%d"
msgstr "'apksigner' retornou com o erro #%d"
+msgid ""
+"output: \n"
+"%s"
+msgstr ""
+"saída:\n"
+"%s"
+
msgid "Verifying %s..."
msgstr "Verificando %s..."
@@ -8468,7 +9532,8 @@ msgstr ""
"do projeto."
msgid "Could not export project files to gradle project."
-msgstr "Não foi possível exportar os arquivos do projeto ao projeto do gradle"
+msgstr ""
+"Não foi possível exportar os arquivos do projeto para o projeto Gradle."
msgid "Could not write expansion package file!"
msgstr "Não foi possível escrever o arquivo do pacote de expansão!"
@@ -8529,7 +9594,7 @@ msgid "Export Icons"
msgstr "Exportar Ícones"
msgid "Prepare Templates"
-msgstr "Preparar Templates"
+msgstr "Preparando Modelos"
msgid "Export template not found."
msgstr "Template exportado não encontrado."
@@ -8896,6 +9961,28 @@ msgstr ""
"Este osso não possui uma pose REST adequada. Vá para o nó Skeleton2D e "
"defina um."
+msgid ""
+"CollisionPolygon3D only serves to provide a collision shape to a "
+"CollisionObject3D derived node.\n"
+"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. to give them a shape."
+msgstr ""
+"CollisionPolygon3D serve apenas para fornecer uma forma de colisão para um "
+"nó derivado de CollisionObject3D.\n"
+"Use-o apenas como filho de Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc... para dar-lhes uma forma."
+
+msgid ""
+"CollisionShape3D only serves to provide a collision shape to a "
+"CollisionObject3D derived node.\n"
+"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D apenas serve para fornecer a forma de colisão para um nó "
+"derivado de CollisionObject2D.\n"
+"Por favor use-o apenas como filho de Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D, etc. para dá-los forma."
+
msgid "Nothing is visible because no mesh has been assigned."
msgstr "Nada é visível porque nenhuma malha foi atribuída."
@@ -8950,8 +10037,12 @@ msgstr ""
msgid "The AnimationPlayer root node is not a valid node."
msgstr "O nó raiz do AnimationPlayer não é um nó válido."
-msgid "Pick a color from the editor window."
-msgstr "Escolha uma cor da janela do editor."
+msgid ""
+"Color: #%s\n"
+"LMB: Apply color"
+msgstr ""
+"Cor: #%s\n"
+"LMB: Aplicar cor"
msgid "Switch between hexadecimal and code values."
msgstr "Alterne entre valores haxadecimais e de código."
@@ -8980,10 +10071,7 @@ msgid "Alert!"
msgstr "Alerta!"
msgid "Please Confirm..."
-msgstr "Confirme Por Favor..."
-
-msgid "Must use a valid extension."
-msgstr "Deve usar uma extensão válida."
+msgstr "Confirme, Por Favor..."
msgid "Enable grid minimap."
msgstr "Ativar o minimapa de grade."
@@ -9031,6 +10119,13 @@ msgstr ""
"dimensões para renderizar algo."
msgid ""
+"Shader keywords cannot be used as parameter names.\n"
+"Choose another name."
+msgstr ""
+"As palavras-chave do shader não podem ser usadas como nomes de parâmetros.\n"
+"Escolha outro nome."
+
+msgid ""
"The sampler port is connected but not used. Consider changing the source to "
"'SamplerPort'."
msgstr ""
@@ -9066,3 +10161,6 @@ msgstr "Atribuição à uniforme."
msgid "Constants cannot be modified."
msgstr "Constantes não podem serem modificadas."
+
+msgid "Expected '%s' at the beginning of shader. Valid types are: %s."
+msgstr "Esperado '%s' no início do shader. Os tipos válidos são: %s."
diff --git a/editor/translations/editor/ro.po b/editor/translations/editor/ro.po
index a39d4983a7..098c7f6b54 100644
--- a/editor/translations/editor/ro.po
+++ b/editor/translations/editor/ro.po
@@ -404,12 +404,6 @@ msgstr "Folosește curbe Bezier"
msgid "Create RESET Track(s)"
msgstr "Creați o pista RESET"
-msgid "Anim. Optimizer"
-msgstr "Optimizator de animație"
-
-msgid "Max. Angular Error:"
-msgstr "Eroare Angulară Max:"
-
msgid "Optimize"
msgstr "Optimizați"
@@ -1217,9 +1211,6 @@ msgstr "Deschide"
msgid "Select Current Folder"
msgstr "Selectaţi directorul curent"
-msgid "File exists, overwrite?"
-msgstr "Fișierul există, înlocuiți?"
-
msgid "Select This Folder"
msgstr "Selectaţi directorul curent"
@@ -3735,9 +3726,6 @@ msgstr "Animație nevalidă: '%s'."
msgid "Nothing connected to input '%s' of node '%s'."
msgstr "Nimic conectat la intrarea '%s' a nodului '%s'."
-msgid "Must use a valid extension."
-msgstr "Trebuie să utilizaţi o extensie valida."
-
msgid "Enable grid minimap."
msgstr "Activează minimapa in format grilă."
diff --git a/editor/translations/editor/ru.po b/editor/translations/editor/ru.po
index ab221f26a4..8d4c60e25c 100644
--- a/editor/translations/editor/ru.po
+++ b/editor/translations/editor/ru.po
@@ -135,7 +135,7 @@ msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 14:12+0000\n"
+"PO-Revision-Date: 2023-02-16 02:37+0000\n"
"Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot/ru/>\n"
@@ -237,6 +237,9 @@ msgstr "Левое действие, Sony Square, Xbox X, Nintendo Y"
msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X"
msgstr "Верхнее действие, Sony Triangle, Xbox Y, Nintendo X"
+msgid "Back, Sony Select, Xbox Back, Nintendo -"
+msgstr "Назад, Sony Select, Xbox Back, Nintendo -"
+
msgid "D-pad Up"
msgstr "D-pad Вверх"
@@ -252,6 +255,12 @@ msgstr "D-pad Вправо"
msgid "PS4/5 Touchpad"
msgstr "PS4/5 Тачпад"
+msgid "Joypad Button %d"
+msgstr "Кнопка джойстика %d"
+
+msgid "Pressure:"
+msgstr "Сила нажатия:"
+
msgid "touched"
msgstr "коснулся"
@@ -318,6 +327,9 @@ msgstr "Отменить"
msgid "Redo"
msgstr "Повторить"
+msgid "Completion Query"
+msgstr "Запрос автодополнения"
+
msgid "New Line"
msgstr "Новая строка"
@@ -331,7 +343,7 @@ msgid "Indent"
msgstr "Отступ"
msgid "Dedent"
-msgstr "Выступ"
+msgstr "Уменьшить отступ"
msgid "Backspace"
msgstr "Стереть"
@@ -363,6 +375,36 @@ msgstr "Курсор вправо"
msgid "Caret Word Right"
msgstr "Курсор вправо на слово"
+msgid "Caret Up"
+msgstr "Каретка вверх"
+
+msgid "Caret Down"
+msgstr "Каретка вниз"
+
+msgid "Caret Line Start"
+msgstr "Каретка в начало строки"
+
+msgid "Caret Line End"
+msgstr "Каретка в конец строки"
+
+msgid "Caret Page Up"
+msgstr "Каретка на страницу вверх"
+
+msgid "Caret Page Down"
+msgstr "Каретка на страницу вниз"
+
+msgid "Caret Document Start"
+msgstr "Каретка к началу документа"
+
+msgid "Caret Document End"
+msgstr "Каретка к концу документа"
+
+msgid "Caret Add Below"
+msgstr "Каретка добавить ниже"
+
+msgid "Caret Add Above"
+msgstr "Каретка добавить выше"
+
msgid "Scroll Up"
msgstr "Прокрутка вверх"
@@ -375,6 +417,9 @@ msgstr "Выделить всё"
msgid "Select Word Under Caret"
msgstr "Выделить слово под курсором"
+msgid "Clear Carets and Selection"
+msgstr "Очистить каретки и выделение"
+
msgid "Toggle Insert Mode"
msgstr "Переключить режим вставки"
@@ -390,6 +435,9 @@ msgstr "Обновить"
msgid "Show Hidden"
msgstr "Показывать скрытые"
+msgid "Swap Input Direction"
+msgstr "Сменить направление ввода"
+
msgid "Invalid input %d (not passed) in expression"
msgstr "Некорректный ввод %d (не подходит) в выражении"
@@ -458,6 +506,9 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "Действие с именем «%s» уже существует."
+msgid "Revert Action"
+msgstr "Откатить действие"
+
msgid "Add Event"
msgstr "Добавить событие"
@@ -465,7 +516,7 @@ msgid "Remove Action"
msgstr "Удалить событие"
msgid "Cannot Remove Action"
-msgstr "Нельзя Удалить Действие"
+msgstr "Нельзя удалить действие"
msgid "Edit Event"
msgstr "Изменить событие"
@@ -479,6 +530,9 @@ msgstr "Фильтр по имени..."
msgid "Clear All"
msgstr "Очистить"
+msgid "Add New Action"
+msgstr "Добавить новое действие"
+
msgid "Add"
msgstr "Добавить"
@@ -509,12 +563,21 @@ msgstr "Дублировать выделенные ключи"
msgid "Delete Selected Key(s)"
msgstr "Удалить выделенные ключи"
+msgid "Make Handles Free"
+msgstr "Сделать ручки свободными"
+
msgid "Add Bezier Point"
msgstr "Добавить точку Безье"
msgid "Move Bezier Points"
msgstr "Передвинуть точки Безье"
+msgid "Animation Duplicate Keys"
+msgstr "Дублировать ключи анимации"
+
+msgid "Animation Delete Keys"
+msgstr "Удалить ключи анимации"
+
msgid "Focus"
msgstr "Фокус"
@@ -524,12 +587,30 @@ msgstr "Выделить все ключи"
msgid "Deselect All Keys"
msgstr "Снять выделение с ключей"
+msgid "Animation Change Transition"
+msgstr "Изменить переход анимации"
+
msgid "Animation Change %s"
msgstr "Анимация изменения %s"
msgid "Animation Change Keyframe Value"
msgstr "Изменить значение ключевого кадра"
+msgid "Animation Change Call"
+msgstr "Изменить вызов анимации"
+
+msgid "Animation Multi Change Transition"
+msgstr "Множественное изменение перехода анимации"
+
+msgid "Animation Multi Change %s"
+msgstr "Множественное изменение анимации %s"
+
+msgid "Animation Multi Change Keyframe Value"
+msgstr "Множественное изменение значения ключевого кадра анимации"
+
+msgid "Animation Multi Change Call"
+msgstr "Множественное изменение вызова анимации"
+
msgid "Change Animation Length"
msgstr "Изменить длину анимации"
@@ -537,19 +618,28 @@ msgid "Change Animation Loop"
msgstr "Изменить цикл анимации"
msgid "Property Track"
-msgstr "Трек параметра"
+msgstr "Дорожка параметра"
+
+msgid "3D Position Track"
+msgstr "Дорожка положения 3D"
+
+msgid "3D Rotation Track"
+msgstr "Дорожка вращения 3D"
+
+msgid "3D Scale Track"
+msgstr "Дорожка масштабирования 3D"
msgid "Call Method Track"
-msgstr "Трек вызова метода"
+msgstr "Дорожка вызова метода"
msgid "Bezier Curve Track"
-msgstr "Трек кривой Безье"
+msgstr "Дорожка кривой Безье"
msgid "Audio Playback Track"
-msgstr "Трек аудио дорожки"
+msgstr "Дорожка воспроизведения аудио"
msgid "Animation Playback Track"
-msgstr "Трек воспроизведения анимации"
+msgstr "Дорожка воспроизведения анимации"
msgid "Animation length (frames)"
msgstr "Длина анимации (в кадрах)"
@@ -558,7 +648,7 @@ msgid "Animation length (seconds)"
msgstr "Продолжительность анимации (в секундах)"
msgid "Add Track"
-msgstr "Добавить трек"
+msgstr "Добавить дорожку"
msgid "Animation Looping"
msgstr "Зацикливание анимации"
@@ -569,11 +659,17 @@ msgstr "Функции:"
msgid "Audio Clips:"
msgstr "Аудиодорожки:"
+msgid "Animation Clips:"
+msgstr "Клипы анимации:"
+
msgid "Change Track Path"
-msgstr "Изменить путь трека"
+msgstr "Изменить путь дорожки"
msgid "Toggle this track on/off."
-msgstr "Включить/выключить этот трек."
+msgstr "Включить/выключить эту дорожку."
+
+msgid "Use Blend"
+msgstr "Использовать смешивание"
msgid "Update Mode (How this property is set)"
msgstr "Режим обновления (как это свойство устанавливается)"
@@ -599,6 +695,9 @@ msgstr "Поворот:"
msgid "Scale:"
msgstr "Масштаб:"
+msgid "Blend Shape:"
+msgstr "Форма смешивания:"
+
msgid "Type:"
msgstr "Тип:"
@@ -609,10 +708,10 @@ msgid "Easing:"
msgstr "Переход В-ИЗ:"
msgid "In-Handle:"
-msgstr "Обработчик Ввода:"
+msgstr "Ручка В:"
msgid "Out-Handle:"
-msgstr "Обработчик Вывода:"
+msgstr "Ручка ИЗ:"
msgid "Stream:"
msgstr "Поток:"
@@ -647,6 +746,12 @@ msgstr "Линейный"
msgid "Cubic"
msgstr "Кубический"
+msgid "Linear Angle"
+msgstr "Линейный угол"
+
+msgid "Cubic Angle"
+msgstr "Кубический угол"
+
msgid "Clamp Loop Interp"
msgstr "Обрезание Перехода Зацикливания"
@@ -660,7 +765,7 @@ msgid "Duplicate Key(s)"
msgstr "Дублировать ключ(и)"
msgid "Add RESET Value(s)"
-msgstr "Добавить значение(я) СБРОСа"
+msgstr "Добавить RESET-значение(я)"
msgid "Delete Key(s)"
msgstr "Удалить ключ(и)"
@@ -674,18 +779,24 @@ msgstr "Изменить способ интерполяции анимации"
msgid "Change Animation Loop Mode"
msgstr "Изменить режим цикла анимации"
+msgid "Change Animation Use Blend"
+msgstr "Изменить использование смешивания анимации"
+
msgid "Remove Anim Track"
-msgstr "Удалить дорожку"
+msgstr "Удалить дорожку анимации"
msgid "Create new track for %s and insert key?"
-msgstr "Создать новый трек для %s и вставить ключ?"
+msgstr "Создать новую дорожку для %s и вставить ключ?"
msgid "Create %d new tracks and insert keys?"
-msgstr "Создать %d новые треки и вставить ключи?"
+msgstr "Создать %d новых дорожек и вставить ключи?"
msgid "Create"
msgstr "Создать"
+msgid "Animation Insert Key"
+msgstr "Вставить ключ анимации"
+
msgid "node '%s'"
msgstr "узел «%s»"
@@ -704,6 +815,13 @@ msgstr "Изменить шаг анимации"
msgid "Rearrange Tracks"
msgstr "Переставить дорожки"
+msgid "Blend Shape tracks only apply to MeshInstance3D nodes."
+msgstr "Дорожки формы смешивания применяются только к узлам MeshInstance3D."
+
+msgid "Position/Rotation/Scale 3D tracks only apply to 3D-based nodes."
+msgstr ""
+"Дорожки 3D положения/вращения/масштабирования применяются только к 3D-узлам."
+
msgid ""
"Audio tracks can only point to nodes of type:\n"
"-AudioStreamPlayer\n"
@@ -730,6 +848,18 @@ msgstr "Добавить дорожку Безье"
msgid "Track path is invalid, so can't add a key."
msgstr "Путь к дорожке некорректен, потому нельзя добавить ключ."
+msgid "Track is not of type Node3D, can't insert key"
+msgstr "Дорожка не относится к типу Node3D, невозможно вставить ключ"
+
+msgid "Add Position Key"
+msgstr "Добавить ключ позиции"
+
+msgid "Add Rotation Key"
+msgstr "Добавить ключ вращения"
+
+msgid "Add Scale Key"
+msgstr "Добавить ключ масштабирования"
+
msgid "Add Track Key"
msgstr "Добавить ключ дорожки"
@@ -742,6 +872,9 @@ msgstr "Добавить ключ дорожки для метода"
msgid "Method not found in object:"
msgstr "В объекте нет такого метода:"
+msgid "Animation Move Keys"
+msgstr "Переместить ключи анимации"
+
msgid "Position"
msgstr "Позиция"
@@ -751,6 +884,9 @@ msgstr "Поворот"
msgid "Scale"
msgstr "Масштабировать"
+msgid "BlendShape"
+msgstr "Форма смешивания"
+
msgid "Methods"
msgstr "Методы"
@@ -764,7 +900,13 @@ msgid "Clipboard is empty!"
msgstr "Буфер обмена пуст!"
msgid "Paste Tracks"
-msgstr "Вставить треки"
+msgstr "Вставить дорожки"
+
+msgid "Animation Scale Keys"
+msgstr "Масштабировать ключи анимации"
+
+msgid "Make Easing Keys"
+msgstr "Создать ключи плавного перехода"
msgid ""
"This option does not work for Bezier editing, as it's only a single track."
@@ -772,12 +914,21 @@ msgstr ""
"Эта опция не работает для редактирования кривыми Безье, так как это только "
"одна дорожка."
+msgid "Animation Add RESET Keys"
+msgstr "Добавить RESET-ключи анимации"
+
+msgid "Bake Animation as Linear keys."
+msgstr "Запечь анимацию как линейные ключи."
+
msgid "Warning: Editing imported animation"
msgstr "Предупреждение: Редактирование импортированной анимации"
msgid "Select an AnimationPlayer node to create and edit animations."
msgstr "Выберите узел AnimationPlayer для создания и редактирования анимаций."
+msgid "Imported Scene"
+msgstr "Импортированная сцена"
+
msgid "Only show tracks from nodes selected in tree."
msgstr "Показывать дорожки только выделенных в дереве узлов."
@@ -832,17 +983,20 @@ msgstr "Применить сброс"
msgid "Bake Animation"
msgstr "Запечь анимацию"
+msgid "Optimize Animation (no undo)"
+msgstr "Оптимизировать анимацию (нельзя отменить)"
+
+msgid "Clean-Up Animation (no undo)"
+msgstr "Подчистить анимацию (нельзя отменить)"
+
+msgid "Pick a node to animate:"
+msgstr "Выберите узел для анимации:"
+
msgid "Use Bezier Curves"
msgstr "Использовать кривые Безье"
msgid "Create RESET Track(s)"
-msgstr "Создать дорожку(и) СБРОСА"
-
-msgid "Anim. Optimizer"
-msgstr "Оптимизатор анимации"
-
-msgid "Max. Angular Error:"
-msgstr "Макс. Угловые погрешности:"
+msgstr "Создать RESET-дорожку(и)"
msgid "Optimize"
msgstr "Оптимизировать"
@@ -866,11 +1020,14 @@ msgid "Scale Ratio:"
msgstr "Коэффициент масштабирования:"
msgid "Select Tracks to Copy"
-msgstr "Выбрать треки для копирования"
+msgstr "Выбрать дорожки для копирования"
msgid "Select All/None"
msgstr "Выбрать всё/Сбросить"
+msgid "Animation Change Keyframe Time"
+msgstr "Изменить время ключевого кадра анимации"
+
msgid "Add Audio Track Clip"
msgstr "Добавить звуковую дорожку"
@@ -950,6 +1107,9 @@ msgstr ""
"Целевой метод не найден. Укажите правильный метод или прикрепите скрипт на "
"целевой узел."
+msgid "Attached Script"
+msgstr "Прикреплённый скрипт"
+
msgid "Connect to Node:"
msgstr "Присоединить к узлу:"
@@ -962,12 +1122,24 @@ msgstr "От сигнала:"
msgid "Filter Nodes"
msgstr "Фильтр узлов"
+msgid "Go to Source"
+msgstr "Перейти к источнику"
+
msgid "Scene does not contain any script."
msgstr "Сцена не содержит каких-либо скриптов."
msgid "Select Method"
msgstr "Выбрать метод"
+msgid "Filter Methods"
+msgstr "Фильтр методов"
+
+msgid "Script Methods Only"
+msgstr "Только методы скрипта"
+
+msgid "Compatible Methods Only"
+msgstr "Только совместимые методы"
+
msgid "Remove"
msgstr "Удалить"
@@ -1037,6 +1209,9 @@ msgstr "Отсоединить"
msgid "Connect a Signal to a Method"
msgstr "Присоединить сигнал к методу"
+msgid "Edit Connection: '%s'"
+msgstr "Редактировать соединение: «%s»"
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "Вы уверены, что хотите удалить все соединения от сигнала «%s»?"
@@ -1052,12 +1227,18 @@ msgstr "Вы уверены, что хотите удалить все соед
msgid "Disconnect All"
msgstr "Отсоединить все"
+msgid "Copy Name"
+msgstr "Копировать имя"
+
msgid "Edit..."
msgstr "Редактировать..."
msgid "Go to Method"
msgstr "Перейти к методу"
+msgid "Change Type of \"%s\""
+msgstr "Изменить тип «%s»"
+
msgid "Change"
msgstr "Изменить"
@@ -1197,6 +1378,18 @@ msgstr "Время"
msgid "Calls"
msgstr "Вызовы"
+msgid "Linked"
+msgstr "Связаны"
+
+msgid "CPU"
+msgstr "CPU"
+
+msgid "GPU"
+msgstr "GPU"
+
+msgid "Execution resumed."
+msgstr "Выполнение продолжено."
+
msgid "Bytes:"
msgstr "Байты:"
@@ -1209,6 +1402,15 @@ msgstr "Ошибка:"
msgid "%s Error"
msgstr "Ошибка %s"
+msgid "%s Error:"
+msgstr "Ошибка %s:"
+
+msgid "%s Source"
+msgstr "Исходный код %s"
+
+msgid "%s Source:"
+msgstr "Исходный код %s:"
+
msgid "Stack Trace"
msgstr "Трассировка стека"
@@ -1263,6 +1465,9 @@ msgstr "Продолжить"
msgid "Stack Frames"
msgstr "Стек"
+msgid "Filter Stack Variables"
+msgstr "Фильтр переменных стека"
+
msgid "Breakpoints"
msgstr "Точки останова"
@@ -1275,6 +1480,9 @@ msgstr "Свернуть все"
msgid "Profiler"
msgstr "Профайлер"
+msgid "Visual Profiler"
+msgstr "Визуальный профайлер"
+
msgid "List of Video Memory Usage by Resource:"
msgstr "Список использования видеопамяти ресурсами:"
@@ -1364,6 +1572,12 @@ msgstr "Открыть сцены"
msgid "Owners of: %s (Total: %d)"
msgstr "Владельцы: %s (Всего: %d)"
+msgid "Localization remap"
+msgstr "Переназначение локализации"
+
+msgid "Localization remap for path '%s' and locale '%s'."
+msgstr "Переназначение локализации для пути «%s» и локали «%s»."
+
msgid ""
"Remove the selected files from the project? (Cannot be undone.)\n"
"Depending on your filesystem configuration, the files will either be moved "
@@ -1580,6 +1794,12 @@ msgstr "Обход"
msgid "Bus Options"
msgstr "Параметры шины"
+msgid "Duplicate Bus"
+msgstr "Дублировать шину"
+
+msgid "Delete Bus"
+msgstr "Удалить шину"
+
msgid "Reset Volume"
msgstr "Сбросить громкость"
@@ -1667,12 +1887,18 @@ msgstr "Допустимые символы:"
msgid "Must not collide with an existing engine class name."
msgstr "Не должно конфликтовать с существующим именем класса движка."
+msgid "Must not collide with an existing global script class name."
+msgstr "Не должно конфликтовать с существующим глобальным именем класса."
+
msgid "Must not collide with an existing built-in type name."
msgstr "Не должно конфликтовать с существующим встроенным именем типа."
msgid "Must not collide with an existing global constant name."
msgstr "Не должно конфликтовать с существующим глобальным именем константы."
+msgid "Keyword cannot be used as an Autoload name."
+msgstr "Ключевое слово нельзя использовать в качестве имени автозагрузки."
+
msgid "Autoload '%s' already exists!"
msgstr "Автозагрузка «%s» уже существует!"
@@ -1700,15 +1926,24 @@ msgstr "Неверный путь «%s». Файл не существует."
msgid "%s is an invalid path. Not in resource path (res://)."
msgstr "%s — недопустимый путь. Нужен ресурсный путь (res://)."
+msgid "Add Autoload"
+msgstr "Добавить автозагрузку"
+
msgid "Path:"
msgstr "Путь:"
+msgid "Set path or press \"%s\" to create a script."
+msgstr "Задайте путь или нажмите «%s», чтобы создать скрипт."
+
msgid "Node Name:"
msgstr "Имя узла:"
msgid "Global Variable"
msgstr "Глобальная переменная"
+msgid "3D Engine"
+msgstr "3D-движок"
+
msgid "2D Physics"
msgstr "2D Физика"
@@ -1718,21 +1953,77 @@ msgstr "3D Физика"
msgid "Navigation"
msgstr "Навигация"
+msgid "XR"
+msgstr "XR"
+
+msgid "RenderingDevice"
+msgstr "RenderingDevice"
+
msgid "OpenGL"
msgstr "OpenGL"
msgid "Vulkan"
msgstr "Vulkan"
+msgid "Text Server: Fallback"
+msgstr "Текстовый сервер: Резервный"
+
+msgid "Text Server: Advanced"
+msgstr "Текстовый сервер: Расширенный"
+
msgid "TTF, OTF, Type 1, WOFF1 Fonts"
msgstr "Шрифты TTF, OTF, Type 1, WOFF1"
msgid "WOFF2 Fonts"
msgstr "Шрифты WOFF2"
+msgid "SIL Graphite Fonts"
+msgstr "Шрифты SIL Graphite"
+
+msgid "3D Nodes as well as RenderingServer access to 3D features."
+msgstr "3D-узлы, а также доступ RenderingServer к 3D-функциям."
+
+msgid "2D Physics nodes and PhysicsServer2D."
+msgstr "Узлы 2D-физики и PhysicsServer2D."
+
+msgid "3D Physics nodes and PhysicsServer3D."
+msgstr "Узлы 3D-физики и PhysicsServer3D."
+
msgid "Navigation, both 2D and 3D."
msgstr "Навигация (2D и 3D)."
+msgid "XR (AR and VR)."
+msgstr "XR (AR и VR)."
+
+msgid ""
+"RenderingDevice based rendering (if disabled, the OpenGL back-end is "
+"required)."
+msgstr ""
+"Рендеринг на основе RenderingDevice (если отключен, бэкенд OpenGL "
+"обязателен)."
+
+msgid ""
+"OpenGL back-end (if disabled, the RenderingDevice back-end is required)."
+msgstr "Бэкенд OpenGL (если отключен, требуется бэкенд RenderingDevice)."
+
+msgid "Vulkan back-end of RenderingDevice."
+msgstr "Бэкенд Vulkan RenderingDevice."
+
+msgid ""
+"Fallback implementation of Text Server\n"
+"Supports basic text layouts."
+msgstr ""
+"Резервная реализация текстового сервера\n"
+"Поддерживает базовые макеты текста."
+
+msgid ""
+"Text Server implementation powered by ICU and HarfBuzz libraries.\n"
+"Supports complex text layouts, BiDi, and contextual OpenType font features."
+msgstr ""
+"Реализация текстового сервера на базе библиотек ICU и HarfBuzz.\n"
+"Поддерживает сложные макеты текста, BiDi, и контекстные особенности шрифтов "
+"OpenType."
+
msgid ""
"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType "
"library (if disabled, WOFF2 support is also disabled)."
@@ -1740,6 +2031,23 @@ msgstr ""
"Поддержка форматов шрифтов TrueType, OpenType, Type 1 и WOFF1 используя "
"библиотеку FreeType (если отключено, поддержка WOFF2 тоже будет отключена)."
+msgid "WOFF2 font format support using FreeType and Brotli libraries."
+msgstr ""
+"Поддержка формата шрифтов WOFF2 с использованием библиотек FreeType и Brotli."
+
+msgid ""
+"SIL Graphite smart font technology support (supported by Advanced Text "
+"Server only)."
+msgstr ""
+"Поддержка технологии смарт-шрифтов SIL Graphite (поддерживается только "
+"Расширенный текстовый сервер)."
+
+msgid "General Features:"
+msgstr "Основные возможности:"
+
+msgid "Text Rendering and Font Options:"
+msgstr "Рендеринг текста и параметры шрифта:"
+
msgid "File saving failed."
msgstr "Не удалось сохранить файл."
@@ -1764,15 +2072,33 @@ msgstr "Профиль:"
msgid "Reset to Defaults"
msgstr "Сбросить настройки"
+msgid "Detect from Project"
+msgstr "На основе проекта"
+
+msgid "Actions:"
+msgstr "Действия:"
+
+msgid "Configure Engine Build Profile:"
+msgstr "Настроить профиль сборки движка:"
+
msgid "Please Confirm:"
msgstr "Подтвердите:"
+msgid "Engine Build Profile"
+msgstr "Профиль сборки движка"
+
+msgid "Load Profile"
+msgstr "Загрузить профиль"
+
msgid "Export Profile"
msgstr "Экспортировать профиль"
msgid "Edit Build Configuration Profile"
msgstr "Изменить профиль конфигурации сборки"
+msgid "Filter Commands"
+msgstr "Фильтр команд"
+
msgid "Paste Params"
msgstr "Вставить параметры"
@@ -1794,6 +2120,9 @@ msgstr "[не сохранено]"
msgid "Please select a base directory first."
msgstr "Пожалуйста, выберите базовый каталог."
+msgid "Could not create folder. File with that name already exists."
+msgstr "Не удалось создать папку. Файл с таким именем уже существует."
+
msgid "Choose a Directory"
msgstr "Выбрать каталог"
@@ -1830,6 +2159,9 @@ msgstr "Панель «Файловая система»"
msgid "Import Dock"
msgstr "Панель «Импорт»"
+msgid "History Dock"
+msgstr "Панель истории"
+
msgid "Allows to view and edit 3D scenes."
msgstr "Позволяет просматривать и редактировать 3D-сцены."
@@ -1963,9 +2295,6 @@ msgstr "Открыть"
msgid "Select Current Folder"
msgstr "Выбрать текущую папку"
-msgid "File exists, overwrite?"
-msgstr "Файл существует, перезаписать?"
-
msgid "Select This Folder"
msgstr "Выбрать эту папку"
@@ -2002,6 +2331,9 @@ msgstr "Открыть каталог или файл"
msgid "Save a File"
msgstr "Сохранить файл"
+msgid "Favorited folder does not exist anymore and will be removed."
+msgstr "Папка избранного больше не существует и будет удалена."
+
msgid "Go Back"
msgstr "Назад"
@@ -2062,6 +2394,22 @@ msgstr "Предпросмотр:"
msgid "File:"
msgstr "Файл:"
+msgid ""
+"Remove the selected files? For safety only files and empty directories can "
+"be deleted from here. (Cannot be undone.)\n"
+"Depending on your filesystem configuration, the files will either be moved "
+"to the system trash or deleted permanently."
+msgstr ""
+"Удалить выбранные файлы? В целях безопасности здесь можно удалять только "
+"файлы и пустые каталоги. (Нельзя отменить.)\n"
+"В зависимости от конфигурации вашей файловой системы файлы будут перемещены "
+"в системную корзину или удалены навсегда."
+
+msgid "Some extensions need the editor to restart to take effect."
+msgstr ""
+"Некоторые расширения требуют перезапуска редактора, чтобы изменения вступили "
+"в силу."
+
msgid "Restart"
msgstr "Перезапустить"
@@ -2444,6 +2792,9 @@ msgstr "Изменён фильтр локали по странам"
msgid "Changed Locale Filter Mode"
msgstr "Изменён режим фильтра локали"
+msgid "[Default]"
+msgstr "[По умолчанию]"
+
msgid "Select a Locale"
msgstr "Выбрать локаль"
@@ -2459,12 +2810,20 @@ msgstr "Редактировать фильтры"
msgid "Language:"
msgstr "Язык:"
+msgctxt "Locale"
+msgid "Script:"
+msgstr "Письменность:"
+
msgid "Country:"
msgstr "Страна:"
msgid "Language"
msgstr "Язык"
+msgctxt "Locale"
+msgid "Script"
+msgstr "Письменность"
+
msgid "Country"
msgstr "Страна"
@@ -2486,6 +2845,9 @@ msgstr ""
"Свернуть повторяющиеся сообщения в одну запись журнала. Количество "
"повторений отображается."
+msgid "Focus Search/Filter Bar"
+msgstr "Перейти к строке поиска/фильтра"
+
msgid "Toggle visibility of standard output messages."
msgstr "Переключить видимость стандартных сообщений вывода."
@@ -2532,6 +2894,13 @@ msgstr ""
"Данный ресурс нельзя сохранить, потому что он не является частью изменённой "
"сцены. Сначала нужно сделать его уникальным."
+msgid ""
+"This resource can't be saved because it was imported from another file. Make "
+"it unique first."
+msgstr ""
+"Этот ресурс не может быть сохранен, так как он был импортирован из другого "
+"файла. Сначала сделайте его уникальным."
+
msgid "Save Resource As..."
msgstr "Сохранить ресурс как..."
@@ -2544,9 +2913,21 @@ msgstr "Неизвестный формат запрашиваемого фай
msgid "Error while saving."
msgstr "Ошибка при сохранении."
+msgid "Can't open file '%s'. The file could have been moved or deleted."
+msgstr "Не удалось открыть файл «%s». Файл мог быть перемещён или удалён."
+
+msgid "Error while parsing file '%s'."
+msgstr "Ошибка при разборе файла «%s»."
+
msgid "Scene file '%s' appears to be invalid/corrupt."
msgstr "Файл сцены «%s» является недействительным/повреждённым."
+msgid "Missing file '%s' or one its dependencies."
+msgstr "Отсутствует файл «%s» или одна из его зависимостей."
+
+msgid "Error while loading file '%s'."
+msgstr "Ошибка при загрузке файла «%s»."
+
msgid "Saving Scene"
msgstr "Сохранение сцены"
@@ -2560,6 +2941,14 @@ msgid "This operation can't be done without a tree root."
msgstr "Эта операция не может быть выполнена без корня дерева."
msgid ""
+"This scene can't be saved because there is a cyclic instance inclusion.\n"
+"Please resolve it and then attempt to save again."
+msgstr ""
+"Эта сцена не может быть сохранена, потому что обнаружено циклическое "
+"инстанцирование.\n"
+"Пожалуйста, решите эту проблему, а затем повторите попытку сохранения."
+
+msgid ""
"Couldn't save scene. Likely dependencies (instances or inheritance) couldn't "
"be satisfied."
msgstr ""
@@ -2618,12 +3007,31 @@ msgstr ""
"чтобы лучше понять этот процесс."
msgid ""
+"This resource belongs to a scene that was instantiated or inherited.\n"
+"Changes to it must be made inside the original scene."
+msgstr ""
+"Этот ресурс принадлежит сцене, которая была инстанцирована или "
+"унаследована.\n"
+"Изменения в нём должны быть сделаны внутри исходной сцены."
+
+msgid ""
"This resource was imported, so it's not editable. Change its settings in the "
"import panel and then re-import."
msgstr ""
"Этот ресурс был импортирован, поэтому он не редактируется. Измените "
"настройки в панеле импорта, а затем повторно импортируйте."
+msgid ""
+"This scene was imported, so changes to it won't be kept.\n"
+"Instantiating or inheriting it will allow you to make changes to it.\n"
+"Please read the documentation relevant to importing scenes to better "
+"understand this workflow."
+msgstr ""
+"Эта сцена была импортирована, поэтому изменения в ней не будут сохранены.\n"
+"Инстанцирование или наследование позволит внести в неё изменения.\n"
+"Пожалуйста, прочтите документацию об импортировании сцен, чтобы лучше понять "
+"этот процесс."
+
msgid "Changes may be lost!"
msgstr "Изменения могут быть потеряны!"
@@ -2653,6 +3061,9 @@ msgstr "Нет открытой сцены для запуска."
msgid "Save scene before running..."
msgstr "Сохранение сцены перед запуском..."
+msgid "Could not start subprocess(es)!"
+msgstr "Не удалось запустить подпроцесс(ы)!"
+
msgid "Reload the played scene."
msgstr "Перезапустить воспроизводимую сцену."
@@ -2680,9 +3091,15 @@ msgstr "Быстро открыть скрипт..."
msgid "Save & Reload"
msgstr "Сохранить & Перезагрузить"
+msgid "Save modified resources before reloading?"
+msgstr "Сохранить изменённые ресурсы перед перезагрузкой?"
+
msgid "Save & Quit"
msgstr "Сохранить и выйти"
+msgid "Save modified resources before closing?"
+msgstr "Сохранить изменённые ресурсы перед закрытием?"
+
msgid "Save changes to '%s' before reloading?"
msgstr "Сохранить изменения в '%s' перед перезагрузкой?"
@@ -2719,18 +3136,30 @@ msgstr "Невозможно отменить пока кнопки мыши н
msgid "Nothing to undo."
msgstr "Нечего отменить."
+msgid "Global Undo: %s"
+msgstr "Отменить глобально: %s"
+
msgid "Remote Undo: %s"
msgstr "Отменить удалённо: %s"
+msgid "Scene Undo: %s"
+msgstr "Отменить в сцене: %s"
+
msgid "Can't redo while mouse buttons are pressed."
msgstr "Невозможно повторить пока кнопки мыши нажаты."
msgid "Nothing to redo."
msgstr "Нечего повторить."
+msgid "Global Redo: %s"
+msgstr "Повторить глобально: %s"
+
msgid "Remote Redo: %s"
msgstr "Повторить удалённо: %s"
+msgid "Scene Redo: %s"
+msgstr "Повторить в сцене: %s"
+
msgid "Can't reload a scene that was never saved."
msgstr "Не возможно загрузить сцену, которая не была сохранена."
@@ -2904,6 +3333,9 @@ msgstr "Панорамировать вид"
msgid "Dock Position"
msgstr "Позиция панели"
+msgid "Make Floating"
+msgstr "Сделать плавающим"
+
msgid "Add a new scene."
msgstr "Добавить новую сцену."
@@ -2925,6 +3357,15 @@ msgstr "Перейти к предыдущей открытой сцене."
msgid "Copy Text"
msgstr "Копировать текст"
+msgid "Next Scene Tab"
+msgstr "Следующая вкладка сцены"
+
+msgid "Previous Scene Tab"
+msgstr "Предыдущая вкладка сцены"
+
+msgid "Command Palette"
+msgstr "Палитра команд"
+
msgid "New Scene"
msgstr "Новая сцена"
@@ -2943,6 +3384,9 @@ msgstr "Открыть недавнее"
msgid "Save Scene"
msgstr "Сохранить сцену"
+msgid "Export As..."
+msgstr "Экспортировать как..."
+
msgid "MeshLibrary..."
msgstr "Библиотека полисеток..."
@@ -2964,6 +3408,12 @@ msgstr "Настройки проекта"
msgid "Version Control"
msgstr "Контроль версий"
+msgid "Create Version Control Metadata"
+msgstr "Создание метаданных контроля версий"
+
+msgid "Version Control Settings"
+msgstr "Настройки контроля версий"
+
msgid "Export..."
msgstr "Экспортировать..."
@@ -2973,6 +3423,9 @@ msgstr "Установить шаблон сборки Android..."
msgid "Open User Data Folder"
msgstr "Открыть папку данных пользователя"
+msgid "Customize Engine Build Configuration..."
+msgstr "Настроить конфигурацию сборки движка..."
+
msgid "Tools"
msgstr "Инструменты"
@@ -3021,6 +3474,9 @@ msgstr "Управление возможностями редактора..."
msgid "Manage Export Templates..."
msgstr "Управление шаблонами экспорта..."
+msgid "Configure FBX Importer..."
+msgstr "Настроить импортёр FBX..."
+
msgid "Help"
msgstr "Справка"
@@ -3120,6 +3576,9 @@ msgstr "Инспектор"
msgid "Node"
msgstr "Узел"
+msgid "History"
+msgstr "История"
+
msgid "Expand Bottom Panel"
msgstr "Развернуть нижнюю панель"
@@ -3140,6 +3599,9 @@ msgstr "Управление шаблонами"
msgid "Install from file"
msgstr "Установить из файла"
+msgid "Select Android sources file"
+msgstr "Выберите файл исходников Android"
+
msgid ""
"The Android build template is already installed in this project and it won't "
"be overwritten.\n"
@@ -3235,6 +3697,9 @@ msgstr "Редактировать плагин"
msgid "Installed Plugins:"
msgstr "Установленные плагины:"
+msgid "Create New Plugin"
+msgstr "Создать новый плагин"
+
msgid "Version"
msgstr "Версия"
@@ -3250,6 +3715,9 @@ msgstr "Редактировать текст:"
msgid "On"
msgstr "Вкл"
+msgid "Renaming layer %d:"
+msgstr "Переименовать слой %d:"
+
msgid "No name provided."
msgstr "Не предоставлено имя."
@@ -3262,6 +3730,21 @@ msgstr "Бит %d, значение %d"
msgid "Rename"
msgstr "Переименовать"
+msgid "Rename layer"
+msgstr "Переименовать слой"
+
+msgid "Layer %d"
+msgstr "Слой %d"
+
+msgid "No Named Layers"
+msgstr "Нет именованных слоев"
+
+msgid "Edit Layer Names"
+msgstr "Редактировать имена слоев"
+
+msgid "<empty>"
+msgstr "<пусто>"
+
msgid "Assign..."
msgstr "Устанавливать.."
@@ -3307,6 +3790,9 @@ msgstr "Размер:"
msgid "Remove Item"
msgstr "Удалить элемент"
+msgid "Dictionary (Nil)"
+msgstr "Словарь (Nil)"
+
msgid "Dictionary (size %d)"
msgstr "Словарь (размер %d)"
@@ -3319,6 +3805,15 @@ msgstr "Новое значение:"
msgid "Add Key/Value Pair"
msgstr "Добавить пару: Ключ/Значение"
+msgid "Localizable String (Nil)"
+msgstr "Локализуемая строка (Nil)"
+
+msgid "Localizable String (size %d)"
+msgstr "Локализуемая строка (размер %d)"
+
+msgid "Add Translation"
+msgstr "Добавить перевод"
+
msgid ""
"The selected resource (%s) does not match any type expected for this "
"property (%s)."
@@ -3329,9 +3824,15 @@ msgstr ""
msgid "Quick Load"
msgstr "Быстро загрузить"
+msgid "Inspect"
+msgstr "Просмотр"
+
msgid "Make Unique"
msgstr "Сделать уникальным"
+msgid "Make Unique (Recursive)"
+msgstr "Сделать уникальным (рекурсивно)"
+
msgid "Convert to %s"
msgstr "Преобразовать в %s"
@@ -3344,9 +3845,15 @@ msgstr "Новый скрипт"
msgid "Extend Script"
msgstr "Расширить скрипт"
+msgid "New Shader"
+msgstr "Новый шейдер"
+
msgid "No Remote Debug export presets configured."
msgstr "Нет настроенных пресетов экспорта для удалённой отладки."
+msgid "Remote Debug"
+msgstr "Удалённая отладка"
+
msgid ""
"No runnable export preset found for this platform.\n"
"Please add a runnable preset in the Export menu or define an existing preset "
@@ -3365,6 +3872,11 @@ msgstr "Пишите ваш код в методе _run()."
msgid "There is an edited scene already."
msgstr "Уже существует отредактированная сцена."
+msgid ""
+"Couldn't run editor script, did you forget to override the '_run' method?"
+msgstr ""
+"Не удалось запустить скрипт редактора, вы забыли переопределить метод «_run»?"
+
msgid "Edit Built-in Action"
msgstr "Изменить встроенное действие"
@@ -3377,6 +3889,9 @@ msgstr "Настройки редактора"
msgid "General"
msgstr "Основное"
+msgid "Filter Settings"
+msgstr "Фильтр настроек"
+
msgid "The editor must be restarted for changes to take effect."
msgstr "Чтобы изменения вступили в силу, необходимо перезапустить редактор."
@@ -3414,6 +3929,9 @@ msgstr "Левый стик вверх, Стик 0 вверх"
msgid "Left Stick Down, Joystick 0 Down"
msgstr "Левый стик вниз, Стик 0 вниз"
+msgid "Joypad Axis %d %s (%s)"
+msgstr "Ось %d джойстика %s (%s)"
+
msgid "All Devices"
msgstr "Все устройства"
@@ -3423,6 +3941,23 @@ msgstr "Устройство"
msgid "Listening for input..."
msgstr "Ожидание ввода..."
+msgid "Filter by event..."
+msgstr "Фильтр по событию..."
+
+msgid ""
+"Target platform requires 'ETC2/ASTC' texture compression. Enable 'Import "
+"ETC2 ASTC' in Project Settings."
+msgstr ""
+"Целевая платформа требует сжатие текстур «ETC2/ASTC». Включите "
+"«Импортировать ETC2 ASTC» в Настройках проекта."
+
+msgid ""
+"Target platform requires 'S3TC/BPTC' texture compression. Enable 'Import "
+"S3TC BPTC' in Project Settings."
+msgstr ""
+"Целевая платформа требует сжатие текстур «S3TC/BPTC». Включите "
+"«Импортировать S3TC BPTC» в Настройках проекта."
+
msgid "Project export for platform:"
msgstr "Экспорт проекта для платформы:"
@@ -3459,18 +3994,15 @@ msgstr "Невозможно создать файл \"%s\"."
msgid "Failed to export project files."
msgstr "Не удалось экспортировать файлы проекта."
-msgid "Can't open file to read from path \"%s\"."
-msgstr "Не удается открыть файл для чтения из пути \"%s\"."
-
-msgid "Can't open executable file from path \"%s\"."
-msgstr "Не удалось открыть исполняемый файл по пути «%s»."
-
msgid "Can't create encrypted file."
msgstr "Не удалось создать зашифрованный файл."
msgid "Can't open encrypted file to write."
msgstr "Не удалось открыть зашифрованный файл для записи."
+msgid "Can't open file to read from path \"%s\"."
+msgstr "Не удается открыть файл для чтения из пути \"%s\"."
+
msgid "Save ZIP"
msgstr "Сохранить ZIP"
@@ -3596,6 +4128,9 @@ msgstr "Загрузка"
msgid "Connection Error"
msgstr "Ошибка подключения"
+msgid "TLS Handshake Error"
+msgstr "Ошибка рукопожатия TLS"
+
msgid "Can't open the export templates file."
msgstr "Не удалось открыть архив шаблонов экспорта."
@@ -3709,11 +4244,14 @@ msgstr ""
msgid "Delete preset '%s'?"
msgstr "Удалить пресет «%s»?"
+msgid "%s Export"
+msgstr "Экспорт для %s"
+
msgid "Release"
msgstr "Релиз"
msgid "Exporting All"
-msgstr "Экспорт всех"
+msgstr "Экспортировать всё"
msgid "Presets"
msgstr "Предустановки"
@@ -3750,6 +4288,9 @@ msgstr "Экспортировать выбранные сцены (включа
msgid "Export selected resources (and dependencies)"
msgstr "Экспортировать выбранные ресурсы (включая зависимости)"
+msgid "Export all resources in the project except resources checked below"
+msgstr "Экспортировать все ресурсы в проекте, кроме отмеченных ниже"
+
msgid "Export as dedicated server"
msgstr "Экпортировать как выделенный сервер"
@@ -3792,13 +4333,36 @@ msgstr "Пользовательские (через запятую):"
msgid "Feature List:"
msgstr "Список свойств:"
+msgid "Encryption"
+msgstr "Шифрование"
+
msgid "Encrypt Exported PCK"
msgstr "Шифровать экпортированный PCK"
+msgid "Encrypt Index (File Names and Info)"
+msgstr "Шифровать индекс (имена файлов и информацию)"
+
+msgid ""
+"Filters to include files/folders\n"
+"(comma-separated, e.g: *.tscn, *.tres, scenes/*)"
+msgstr ""
+"Фильтры для включения файлов/папок\n"
+"(через запятую, например: *.tscn, *.tres, scenes/*)"
+
+msgid ""
+"Filters to exclude files/folders\n"
+"(comma-separated, e.g: *.ctex, *.import, music/*)"
+msgstr ""
+"Фильтры для исключения файлов/папок\n"
+"(через запятую, например: *.ctex, *.import, music/*)"
+
msgid "Invalid Encryption Key (must be 64 hexadecimal characters long)"
msgstr ""
"Неверный ключ шифрования (должен состоять из 64 шестнадцатеричных символов)"
+msgid "Encryption Key (256-bits as hexadecimal):"
+msgstr "Ключ шифрования (256 бит, в шестнадцатеричном виде):"
+
msgid ""
"Note: Encryption key needs to be stored in the binary,\n"
"you need to build the export templates from source."
@@ -3809,6 +4373,9 @@ msgstr ""
msgid "More Info..."
msgstr "Подробнее..."
+msgid "Export PCK/ZIP..."
+msgstr "Экспортировать PCK/ZIP..."
+
msgid "Export Project..."
msgstr "Экспортировать проект..."
@@ -3848,6 +4415,12 @@ msgstr "Путь к исполняемому файлу FBX2glTF недейст
msgid "Error executing this file (wrong version or architecture)."
msgstr "Ошибка при запуске данного файла (неверная версия или архитектура)."
+msgid "FBX2glTF executable is valid."
+msgstr "Исполняемый файл FBX2glTF действителен."
+
+msgid "Configure FBX Importer"
+msgstr "Настроить импортёр FBX"
+
msgid ""
"FBX2glTF is required for importing FBX files.\n"
"Please download it and provide a valid path to the binary:"
@@ -3861,6 +4434,9 @@ msgstr "Нажмите на эту ссылку для скачивания FBX2
msgid "Browse"
msgstr "Обзор"
+msgid "Confirm Path"
+msgstr "Подтвердить путь"
+
msgid "Favorites"
msgstr "Избранное"
@@ -3947,6 +4523,9 @@ msgstr "Новая вложенная сцена"
msgid "Set As Main Scene"
msgstr "Сделать главной сценой"
+msgid "Instantiate"
+msgstr "Инстанцировать"
+
msgid "Add to Favorites"
msgstr "Добавить в избранное"
@@ -3962,6 +4541,21 @@ msgstr "Просмотреть владельцев..."
msgid "Move To..."
msgstr "Переместить в..."
+msgid "Folder..."
+msgstr "Папка..."
+
+msgid "Scene..."
+msgstr "Сцена..."
+
+msgid "Script..."
+msgstr "Скрипт..."
+
+msgid "Resource..."
+msgstr "Ресурс..."
+
+msgid "TextFile..."
+msgstr "Текстовый файл..."
+
msgid "New Scene..."
msgstr "Новая сцена..."
@@ -3971,6 +4565,12 @@ msgstr "Новый скрипт..."
msgid "New Resource..."
msgstr "Новый ресурс..."
+msgid "New TextFile..."
+msgstr "Новый текстовый файл..."
+
+msgid "Sort Files"
+msgstr "Сортировать файлы"
+
msgid "Sort by Name (Ascending)"
msgstr "Сортировать по имени (по возрастанию)"
@@ -3989,18 +4589,33 @@ msgstr "Сортировать по последнему изменению"
msgid "Sort by First Modified"
msgstr "Сортировать по первому изменению"
+msgid "Copy UID"
+msgstr "Копировать UID"
+
msgid "Duplicate..."
msgstr "Дублировать..."
msgid "Rename..."
msgstr "Переименовать..."
+msgid "Open in External Program"
+msgstr "Открыть во внешней программе"
+
+msgid "Go to previous selected folder/file."
+msgstr "Перейти к предыдущей выбранной папке/файлу."
+
+msgid "Go to next selected folder/file."
+msgstr "Перейти к следующей выбранной папке/файлу."
+
msgid "Re-Scan Filesystem"
msgstr "Пересканировать файловую систему"
msgid "Toggle Split Mode"
msgstr "Переключить режим разделения"
+msgid "Filter Files"
+msgstr "Фильтр файлов"
+
msgid ""
"Scanning Files,\n"
"Please Wait..."
@@ -4102,6 +4717,9 @@ msgstr "Управление группами"
msgid "The Beginning"
msgstr "Начало"
+msgid "Global"
+msgstr "Глобально"
+
msgid "Audio Stream Importer: %s"
msgstr "Импортер потока аудио: %s"
@@ -4167,6 +4785,16 @@ msgstr "Новая конфигурация"
msgid "Remove Variation"
msgstr "Удалить вариант"
+msgid "Preloaded glyphs: %d"
+msgstr "Предзагруженные глифы: %d"
+
+msgid ""
+"Warning: There are no configurations specified, no glyphs will be pre-"
+"rendered."
+msgstr ""
+"Предупреждение: Конфигурации не указаны, глифы не будут предварительно "
+"отрисованы."
+
msgid ""
"Warning: Multiple configurations have identical settings. Duplicates will be "
"ignored."
@@ -4181,6 +4809,13 @@ msgstr ""
"Примечание: Если сглаживание субпикселей LCD выбрано, каждый глиф будет "
"предварительно отрендерен для всех поддерживаемых слоев субпикселей (5x)."
+msgid ""
+"Note: Subpixel positioning is selected, each of the glyphs might be pre-"
+"rendered for multiple subpixel offsets (up to 4x)."
+msgstr ""
+"Примечание: Выбрано субпиксельное позиционирование, каждый из глифов может "
+"быть предварительно отрисован для нескольких субпиксельных смещений (до 4x)."
+
msgid "Advanced Import Settings for '%s'"
msgstr "Расширенные настройки импорта для '%s'"
@@ -4206,6 +4841,20 @@ msgstr "Конфигурация:"
msgid "Add configuration"
msgstr "Добавить конфигурацию"
+msgid "Clear Glyph List"
+msgstr "Очистить список глифов"
+
+msgid "Glyphs from the Translations"
+msgstr "Глифы из переводов"
+
+msgid "Select translations to add all required glyphs to pre-render list:"
+msgstr ""
+"Выберите переводы, чтобы добавить все необходимые глифы в список "
+"предварительного рендеринга:"
+
+msgid "Glyphs from the Text"
+msgstr "Глифы из текста"
+
msgid "Dynamically rendered TrueType/OpenType font"
msgstr "Динамически отображаемый шрифт TrueType/OpenType"
@@ -4215,6 +4864,12 @@ msgstr "Не удается загрузить текстуру шрифта:"
msgid "Image margin too big."
msgstr "Поля изображения слишком большие."
+msgid "Character margin too bit."
+msgstr "Отступ символа слишком маленький."
+
+msgid "Pre-Import Scene"
+msgstr "Предварительно импортировать сцену"
+
msgid "Importing Scene..."
msgstr "Импортирование сцены..."
@@ -4233,6 +4888,9 @@ msgstr "Повреждённый/сломанный скрипт для пост
msgid "Error running post-import script:"
msgstr "Ошибка запуска пост-импорт скрипта:"
+msgid "Did you return a Node-derived object in the `_post_import()` method?"
+msgstr "Вы вернули объект, унаследованный от Node, в методе `_post_import()`?"
+
msgid "Saving..."
msgstr "Сохранение..."
@@ -4281,6 +4939,9 @@ msgstr "Выбрать папку для извлечения материало
msgid "Extract Materials to Resource Files"
msgstr "Извлечь материалы в файлы ресурсов"
+msgid "Set Paths"
+msgstr "Задать пути"
+
msgid "Set paths to save animations as resource files on Reimport"
msgstr ""
"Задать пути для сохранения анимаций в виде файлов ресурсов при повторном "
@@ -4292,6 +4953,9 @@ msgstr "Действия..."
msgid "Extract Materials"
msgstr "Извлечь материалы"
+msgid "Set Animation Save Paths"
+msgstr "Задать пути сохранения анимации"
+
msgid "Meshes"
msgstr "Сетка"
@@ -4301,6 +4965,18 @@ msgstr "Материалы"
msgid "Save Extension:"
msgstr "Расширение:"
+msgid "Text: *.tres"
+msgstr "Текст: *.tres"
+
+msgid "Binary: *.res"
+msgstr "Двоичный: *.res"
+
+msgid "Text Resource"
+msgstr "Текстовый ресурс"
+
+msgid "Binary Resource"
+msgstr "Двоичный ресурс"
+
msgid "Select Importer"
msgstr "Выберите импортёр"
@@ -4465,12 +5141,21 @@ msgstr "Копировать параметры"
msgid "Make Resource Built-In"
msgstr "Сделать ресурс встроенным"
+msgid "Go to previous edited object in history."
+msgstr "Перейти к предыдущему редактируемому объекту в истории."
+
+msgid "Go to next edited object in history."
+msgstr "Перейти к следующему редактируемому объекту в истории."
+
msgid "History of recently edited objects."
msgstr "История недавно отредактированных объектов."
msgid "Open documentation for this object."
msgstr "Открыть документацию для этого объекта."
+msgid "Filter Properties"
+msgstr "Фильтр свойств"
+
msgid "Manage object properties."
msgstr "Управление свойствами объекта."
@@ -4495,6 +5180,9 @@ msgstr "Удалить ресурс перенаправления"
msgid "Remove Resource Remap Option"
msgstr "Удалить параметр перенаправления ресурса"
+msgid "Removed"
+msgstr "Удалён"
+
msgid "Translations"
msgstr "Переводы"
@@ -4613,9 +5301,16 @@ msgstr "Загрузка..."
msgid "Move Node Point"
msgstr "Передвинуть точку узла"
+msgid "Change BlendSpace1D Config"
+msgstr "Изменить настройки BlendSpace1D"
+
msgid "Change BlendSpace1D Labels"
msgstr "Изменить метки BlendSpace1D"
+msgid "This type of node can't be used. Only animation nodes are allowed."
+msgstr ""
+"Этот тип узла не может быть использован. Разрешены только узлы анимации."
+
msgid "This type of node can't be used. Only root nodes are allowed."
msgstr ""
"Этот тип узла не может быть использован. Разрешены только корневые узлы."
@@ -4670,6 +5365,9 @@ msgstr "Треугольник уже существует."
msgid "Add Triangle"
msgstr "Добавить треугольник"
+msgid "Change BlendSpace2D Config"
+msgstr "Изменить настройки BlendSpace2D"
+
msgid "Change BlendSpace2D Labels"
msgstr "Изменить метки BlendSpace2D"
@@ -4700,6 +5398,9 @@ msgstr "Создать смесь треугольники автоматиче
msgid "Parameter Changed:"
msgstr "Параметр изменён:"
+msgid "Inspect Filters"
+msgstr "Просмотреть фильтры"
+
msgid "Output node can't be added to the blend tree."
msgstr "Узел вывода не может быть добавлен в дерево смешивания."
@@ -4756,6 +5457,9 @@ msgstr "Аудиоклипы"
msgid "Functions"
msgstr "Функции"
+msgid "Inspect Filtered Tracks:"
+msgstr "Просмотреть отфильтрованные дорожки:"
+
msgid "Edit Filtered Tracks:"
msgstr "Редактировать фильтры:"
@@ -4774,39 +5478,142 @@ msgstr "Имя библиотеки:"
msgid "Animation name can't be empty."
msgstr "Имя анимации не может быть пустым."
+msgid "Animation name contains invalid characters: '/', ':', ',' or '['."
+msgstr "Имя анимации содержит недопустимые символы: «/», «:», «,» или «[»."
+
+msgid "Animation with the same name already exists."
+msgstr "Анимация с таким именем уже существует."
+
+msgid "Library name contains invalid characters: '/', ':', ',' or '['."
+msgstr "Имя библиотеки содержит недопустимые символы: «/», «:», «,» или «[»."
+
+msgid "Library with the same name already exists."
+msgstr "Библиотека с таким именем уже существует."
+
+msgid "Animation name is valid."
+msgstr "Имя анимации допустимо."
+
+msgid "Library name is valid."
+msgstr "Имя библиотеки допустимо."
+
+msgid "Add Animation to Library: %s"
+msgstr "Добавить анимацию в библиотеку: %s"
+
+msgid "Add Animation Library: %s"
+msgstr "Добавить библиотеку анимаций: %s"
+
msgid "Load Animation"
msgstr "Загрузить анимацию"
+msgid ""
+"This animation library can't be saved because it does not belong to the "
+"edited scene. Make it unique first."
+msgstr ""
+"Эту библиотеку анимаций нельзя сохранить, так как она не принадлежит "
+"редактируемой сцене. Сначала сделайте её уникальной."
+
+msgid ""
+"This animation library can't be saved because it was imported from another "
+"file. Make it unique first."
+msgstr ""
+"Эту библиотеку анимаций нельзя сохранить, так как она была импортирована из "
+"другого файла. Сначала сделайте её уникальной."
+
+msgid "Save Library"
+msgstr "Сохранить библиотеку"
+
+msgid ""
+"This animation can't be saved because it does not belong to the edited "
+"scene. Make it unique first."
+msgstr ""
+"Эту анимацию нельзя сохранить, так как она не принадлежит редактируемой "
+"сцене. Сначала сделайте её уникальной."
+
+msgid ""
+"This animation can't be saved because it was imported from another file. "
+"Make it unique first."
+msgstr ""
+"Эту анимацию нельзя сохранить, так как она была импортирована из другого "
+"файла. Сначала сделайте её уникальной."
+
+msgid "Save Animation"
+msgstr "Сохранить анимацию"
+
+msgid "Make Animation Unique: %s"
+msgstr "Сделать анимацию уникальной: %s"
+
msgid "Invalid AnimationLibrary file."
msgstr "Недопустимый файл AnimationLibrary."
msgid "Invalid Animation file."
msgstr "Недопустимый файл анимации."
+msgid "Load Animation into Library: %s"
+msgstr "Загрузить анимацию в библиотеку: %s"
+
+msgid "Save Animation to File: %s"
+msgstr "Сохранить анимацию в файл: %s"
+
+msgid "Rename Animation Library: %s"
+msgstr "Переименовать библиотеку анимаций: %s"
+
+msgid "[Global]"
+msgstr "[Глобальная]"
+
+msgid "Rename Animation: %s"
+msgstr "Переименовать анимацию: %s"
+
msgid "Animation Name:"
msgstr "Название анимации:"
+msgid "No animation resource in clipboard!"
+msgstr "Нет ресурса анимации в буфере обмена!"
+
msgid "Pasted Animation"
msgstr "Вставленная анимация"
msgid "Open in Inspector"
msgstr "Открыть в инспекторе"
+msgid "Remove Animation Library: %s"
+msgstr "Удалить библиотеку анимаций: %s"
+
+msgid "Remove Animation from Library: %s"
+msgstr "Удалить анимацию из библиотеки: %s"
+
+msgid "[imported]"
+msgstr "[импортировано]"
+
+msgid "Add Animation to Library"
+msgstr "Добавить анимацию в библиотеку"
+
msgid "Paste Animation to Library from clipboard"
msgstr "Вставить анимацию в библиотеку из буфера обмена"
msgid "Save animation library to resource on disk"
msgstr "Сохранить библиотеку анимаций в ресурс на диске"
+msgid "Remove animation library"
+msgstr "Удалить библиотеку анимаций"
+
msgid "Copy animation to clipboard"
msgstr "Копировать анимацию в буфер обмена"
msgid "Save animation to resource on disk"
msgstr "Сохранить анимацию в ресурс на диске"
+msgid "Remove animation from Library"
+msgstr "Удалить анимацию из библиотеки"
+
msgid "Edit Animation Libraries"
msgstr "Редактировать библиотеки анимаций"
+msgid "Add Library"
+msgstr "Добавить библиотеку"
+
+msgid "Load Library"
+msgstr "Загрузить библиотеку"
+
msgid "Storage"
msgstr "Хранилище"
@@ -4825,12 +5632,18 @@ msgstr "Переименовать анимацию"
msgid "Change Animation Name:"
msgstr "Изменить имя анимации:"
+msgid "Delete Animation '%s'?"
+msgstr "Удалить анимацию «%s»?"
+
msgid "Remove Animation"
msgstr "Удалить анимацию"
msgid "Invalid animation name!"
msgstr "Недопустимое название анимации!"
+msgid "Animation '%s' already exists!"
+msgstr "Анимация «%s» уже существует!"
+
msgid "Duplicate Animation"
msgstr "Дублировать анимацию"
@@ -4840,6 +5653,9 @@ msgstr "Изменена последующая анимация"
msgid "Change Blend Time"
msgstr "Изменить время смешивания"
+msgid "[Global] (create)"
+msgstr "[Глобальная] (создать)"
+
msgid "Duplicated Animation Name:"
msgstr "Повторяющееся имя анимации:"
@@ -4852,6 +5668,9 @@ msgid "Play selected animation backwards from end. (Shift+A)"
msgstr ""
"Воспроизвести выбранную анимацию в обратном направлении с конца. (Shift+A)"
+msgid "Pause/stop animation playback. (S)"
+msgstr "Пауза/остановка воспроизведения анимации. (S)"
+
msgid "Play selected animation from start. (Shift+D)"
msgstr "Воспроизвести выбранную анимацию сначала. (Shift+D)"
@@ -4942,6 +5761,9 @@ msgstr "Переход существует!"
msgid "To"
msgstr "До"
+msgid "Add Node and Transition"
+msgstr "Добавить узел и переход"
+
msgid "Add Transition"
msgstr "Добавить переход"
@@ -4978,6 +5800,9 @@ msgstr "Соединить узлы."
msgid "Group Selected Node(s)"
msgstr "Сгруппировать выбранный узел(узлы)"
+msgid "Ungroup Selected Node"
+msgstr "Разгруппировать выбранный узел"
+
msgid "Remove selected node or transition."
msgstr "Удалить выделенный узел или переход."
@@ -4990,6 +5815,9 @@ msgstr "Режим воспроизведения:"
msgid "Delete Selected"
msgstr "Удалить выделенное"
+msgid "Delete All"
+msgstr "Удалить всё"
+
msgid "AnimationTree"
msgstr "Дерево анимации"
@@ -5135,6 +5963,15 @@ msgstr "Последняя"
msgid "All"
msgstr "Все"
+msgid "No results for \"%s\" for support level(s): %s."
+msgstr "Нет результатов для «%s» для уровней поддержки: %s."
+
+msgid "Search Templates, Projects, and Demos"
+msgstr "Искать шаблоны, проекты и демо"
+
+msgid "Search Assets (Excluding Templates, Projects, and Demos)"
+msgstr "Искать ресурсы (исключая шаблоны, проекты и демо)"
+
msgid "Import..."
msgstr "Импорт..."
@@ -5162,6 +5999,9 @@ msgstr "ZIP файл набора"
msgid "Audio Preview Play/Pause"
msgstr "Аудио пред прослушивание Старт/Пауза"
+msgid "Bone Picker:"
+msgstr "Выбор кости:"
+
msgid "Preview"
msgstr "Предпросмотр"
@@ -5189,6 +6029,9 @@ msgstr "Шаг поворота:"
msgid "Scale Step:"
msgstr "Шаг шкалы:"
+msgid "Move Node(s) to Position"
+msgstr "Переместить узел (узлы) в позицию"
+
msgid "Move Vertical Guide"
msgstr "Перемещать вертикальную направляющую"
@@ -5307,6 +6150,9 @@ msgstr "Вставить позу"
msgid "Clear Guides"
msgstr "Очистить направляющие"
+msgid "Create Custom Bone2D(s) from Node(s)"
+msgstr "Создать пользовательские Bone2D из узла(ов)"
+
msgid "Zoom to 3.125%"
msgstr "Масштаб 3,125%"
@@ -5372,6 +6218,9 @@ msgstr "Режим масштабирования"
msgid "Shift: Scale proportionally."
msgstr "Shift: Масштабировать пропорционально."
+msgid "Show list of selectable nodes at position clicked."
+msgstr "Показать список выделяемых узлов в позиции клика."
+
msgid "Click to change object's rotation pivot."
msgstr "При клике изменяет точку вращения объекта."
@@ -5435,9 +6284,18 @@ msgstr "Привязка к направляющим"
msgid "Lock Selected Node(s)"
msgstr "Заблокировать выбранный узел(узлы)"
+msgid "Unlock selected node, allowing selection and movement."
+msgstr "Разблокировать выбранный узел (разрешить его выделение и перемещение)."
+
msgid "Unlock Selected Node(s)"
msgstr "Разблокировать выбранный узел(узлы)"
+msgid "Make selected node's children not selectable."
+msgstr "Сделать детей выбранного узла невыделяемыми."
+
+msgid "Make selected node's children selectable."
+msgstr "Сделать дочерние узлы выбранного узла выделяемыми."
+
msgid "Ungroup Selected Node(s)"
msgstr "Разгруппировать выбранный узел(узлы)"
@@ -5483,6 +6341,9 @@ msgstr "Показать окно просмотра"
msgid "Show Group And Lock Icons"
msgstr "Показать группу и заблокировать иконки"
+msgid "Show Transformation Gizmos"
+msgstr "Показать гизмо трансформации"
+
msgid "Center Selection"
msgstr "Центрировать выбранное"
@@ -5540,21 +6401,41 @@ msgstr "Разделить шаг сетки на 2"
msgid "Adding %s..."
msgstr "Добавление %s..."
+msgid "Hold Ctrl when dropping to add as child of selected node."
+msgstr ""
+"Удерживайте Ctrl при перетаскивании, чтобы добавить в качестве ребёнка "
+"выбранного узла."
+
msgid "Cannot instantiate multiple nodes without root."
msgstr "Не удается создать несколько узлов без корня."
msgid "Create Node"
msgstr "Создать узел"
+msgid "Error instantiating scene from %s"
+msgstr "Ошибка при инстанцировании сцены из %s"
+
msgid "Change Default Type"
msgstr "Изменить тип по умолчанию"
msgid "Set Handle"
msgstr "Задать обработчик"
+msgid "Container Default"
+msgstr "Контейнер по умолчанию"
+
msgid "Fill"
msgstr "Заполнять"
+msgid "Shrink Begin"
+msgstr "Прижать к началу"
+
+msgid "Shrink Center"
+msgstr "Прижать к центру"
+
+msgid "Shrink End"
+msgstr "Прижать к концу"
+
msgid "Custom"
msgstr "Пользовательский"
@@ -5609,9 +6490,40 @@ msgstr "Справа по всей высоте"
msgid "Full Rect"
msgstr "Полный прямоугольник"
+msgid "Change Vertical Size Flags"
+msgstr "Изменить флаги размера по вертикали"
+
+msgid "Change Horizontal Size Flags"
+msgstr "Изменить флаги размера по горизонтали"
+
+msgid "Presets for the anchor and offset values of a Control node."
+msgstr "Пресеты значений для якорей и отступов узла Control."
+
+msgid "Anchor preset"
+msgstr "Пресет якорей"
+
+msgid "Set to Current Ratio"
+msgstr "Задать к текущему соотношению"
+
+msgid ""
+"When active, moving Control nodes changes their anchors instead of their "
+"offsets."
+msgstr ""
+"Когда активно, при перемещении узлов Control будут изменяться значения "
+"якорей вместо отступов."
+
+msgid "Horizontal alignment"
+msgstr "Горизонтальное выравнивание"
+
+msgid "Vertical alignment"
+msgstr "Вертикальное выравнивание"
+
msgid "Load Emission Mask"
msgstr "Маска выброса загружена"
+msgid "CPUParticles2D"
+msgstr "CPUParticles2D"
+
msgid "Generated Point Count:"
msgstr "Количество создаваемых точек:"
@@ -5633,6 +6545,9 @@ msgstr "Из пикселя"
msgid "Emission Colors"
msgstr "Цвета излучения"
+msgid "CPUParticles3D"
+msgstr "CPUParticles3D"
+
msgid "Create Emission Points From Node"
msgstr "Создать излучатель из узла"
@@ -5735,6 +6650,16 @@ msgstr ""
"Когда эта опция включена, формы столкновений и узлы Raycast (2D и 3D) будут "
"видны в запущенном проекте."
+msgid "Visible Paths"
+msgstr "Видимые пути"
+
+msgid ""
+"When this option is enabled, curve resources used by path nodes will be "
+"visible in the running project."
+msgstr ""
+"Когда эта опция включена, в запущенном проекте будут отображаться ресурсы "
+"кривых, используемые узлами пути."
+
msgid "Visible Navigation"
msgstr "Видимая навигация"
@@ -5773,6 +6698,34 @@ msgstr ""
"При удалённом использовании на устройстве, это работает эффективнее если "
"сетевая файловая система включена."
+msgid "Keep Debug Server Open"
+msgstr "Держать сервер отладки открытым"
+
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "Запустить %d экземпляр"
+msgstr[1] "Запустить %d экземпляра"
+msgstr[2] "Запустить %d экземпляров"
+
+msgid "Overrides (%d)"
+msgstr "Переопределения (%d)"
+
+msgctxt "Locale"
+msgid "Add Script"
+msgstr "Добавить письменность"
+
+msgid "Add Locale"
+msgstr "Добавить локаль"
+
+msgid "Variation Coordinates (%d)"
+msgstr "Координаты вариации (%d)"
+
+msgid "No supported features"
+msgstr "Нет поддерживаемых особенностей"
+
+msgid "Add Feature"
+msgstr "Добавить особенность"
+
msgid " - Variation"
msgstr " - Вариация"
@@ -9082,9 +10035,6 @@ msgstr "Изменить мёртвую зону действия"
msgid "Erase Input Action"
msgstr "Удалить действие ввода"
-msgid "Rename Input Action Event"
-msgstr "Переименовать действие ввода"
-
msgid "Update Input Action Order"
msgstr "Обновить порядок действий ввода"
@@ -9109,6 +10059,9 @@ msgstr "Локализация"
msgid "Autoload"
msgstr "Автозагрузка"
+msgid "Shader Globals"
+msgstr "Параметры шейдеров"
+
msgid "Plugins"
msgstr "Плагины"
@@ -10158,6 +11111,9 @@ msgstr "Отсутствует определитель."
msgid "The character '%s' is not allowed in Identifier."
msgstr "Символ «%s» в идентификаторе не допускается."
+msgid "Debug Script Export"
+msgstr "Экспорт скрипта отладки"
+
msgid "Failed to open executable file \"%s\"."
msgstr "Не удалось открыть исполняемый файл \"%s\"."
@@ -10651,8 +11607,19 @@ msgid ""
"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
"CharacterBody3D, etc. to give them a shape."
msgstr ""
-"CollisionPolygon3D служит формой столкновения только узлам унаследованным от "
-"CollisionObject3D.\n"
+"CollisionPolygon3D служит для предоставления формы столкновения узлам "
+"унаследованным от CollisionObject3D.\n"
+"Пожалуйста используйте его только в качестве дочернего для Area3D, "
+"StaticBody3D, RigidBody3D, CharacterBody3D и др. чтобы придать им форму."
+
+msgid ""
+"CollisionShape3D only serves to provide a collision shape to a "
+"CollisionObject3D derived node.\n"
+"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. to give them a shape."
+msgstr ""
+"CollisionShape3D служит для предоставления формы столкновения узлам "
+"унаследованным от CollisionObject3D.\n"
"Пожалуйста используйте его только в качестве дочернего для Area3D, "
"StaticBody3D, RigidBody3D, CharacterBody3D и др. чтобы придать им форму."
@@ -10663,6 +11630,12 @@ msgid ""
"Nothing is visible because meshes have not been assigned to draw passes."
msgstr "Ничего не видно, потому что полисетки не были назначены на отрисовку."
+msgid "Creating probes"
+msgstr "Создание проб"
+
+msgid "Generating Probe Volumes"
+msgstr "Генерация объёмов проб"
+
msgid "This body will be ignored until you set a mesh."
msgstr "Это тело будет игнорироваться, пока вы не установите сетку."
@@ -10722,8 +11695,11 @@ msgstr ""
"Цвет: #%s\n"
"ЛКМ: Применить цвет"
-msgid "Pick a color from the editor window."
-msgstr "Выберите цвет в экране редактора."
+msgid "Select a picker shape."
+msgstr "Выберите форму виджета."
+
+msgid "Select a picker mode."
+msgstr "Выберите режим виджета."
msgid "Switch between hexadecimal and code values."
msgstr "Переключение между шестнадцатеричными и кодовыми значениями."
@@ -10755,9 +11731,6 @@ msgstr "Внимание!"
msgid "Please Confirm..."
msgstr "Подтверждение..."
-msgid "Must use a valid extension."
-msgstr "Нужно использовать доступное расширение."
-
msgid "Enable grid minimap."
msgstr "Включить миникарту сетки."
@@ -10844,6 +11817,9 @@ msgstr "Недопустимые аргументы для встроенной
msgid "Invalid assignment of '%s' to '%s'."
msgstr "Недопустимое присвоение «%s» в «%s»."
+msgid "Expected constant expression."
+msgstr "Ожидалось константное выражение."
+
msgid "Varying may not be assigned in the '%s' function."
msgstr "Varying не может быть задано в функции «%s»."
@@ -10862,6 +11838,9 @@ msgstr "Невозможно преобразовать «%s» в «%s»."
msgid "Expected ')' in expression."
msgstr "Ожидается «)» в выражении."
+msgid "Void value not allowed in expression."
+msgstr "Void значение не разрешено в выражении."
+
msgid "No matching constructor found for: '%s'."
msgstr "Не найден подходящий конструктор для: «%s»."
@@ -10877,12 +11856,21 @@ msgstr "Недопустимый аргумент для тернарного о
msgid "Invalid arguments to operator '%s': '%s'."
msgstr "Недопустимые аргументы для оператора «%s»: «%s»."
+msgid "Invalid variable type (samplers are not allowed)."
+msgstr "Недопустимый тип переменной (сэмплеры не разрешены)."
+
+msgid "Duplicated case label: %d."
+msgstr "Дублируется метка варианта: %d."
+
msgid "Invalid shader type. Valid types are: %s"
msgstr "Неверный тип шейдера. Допустимые типы: %s"
msgid "Expected an identifier for render mode."
msgstr "Ожидается идентификатор режима рендеринга."
+msgid "Duplicated render mode: '%s'."
+msgstr "Дублируется режим рендеринга: «%s»."
+
msgid "Nested structs are not allowed."
msgstr "Вложенные структуры не допускаются."
@@ -10901,6 +11889,27 @@ msgstr "Тип данных '%s' не поддерживается унифор
msgid "Duplicated hint: '%s'."
msgstr "Дублируется подсказка: «%s»."
+msgid "Duplicated filter mode: '%s'."
+msgstr "Дублируется режим фильтра: «%s»."
+
+msgid "Duplicated repeat mode: '%s'."
+msgstr "Дублируется режим повтора «%s»."
+
+msgid "Invalid constant type (samplers are not allowed)."
+msgstr "Недопустимый тип константы (сэмплеры не разрешены)."
+
+msgid "Invalid function type (samplers are not allowed)."
+msgstr "Недопустимый тип функции (сэмплеры не разрешены)."
+
+msgid "Expected a '%s'."
+msgstr "Ожидался «%s»."
+
+msgid "Expected a '%s' or '%s'."
+msgstr "Ожидался «%s» или «%s»."
+
+msgid "Redefinition of '%s'."
+msgstr "Переопределение «%s»."
+
msgid "Invalid argument name."
msgstr "Недопустимое имя аргумента."
@@ -10910,6 +11919,9 @@ msgstr "Пропущено условие."
msgid "Condition evaluation error."
msgstr "Ошибка вычисления условия."
+msgid "Invalid macro argument count."
+msgstr "Недопустимое количество аргументов макроса."
+
msgid "The const '%s' is declared but never used."
msgstr "Константа '%s' объявлена, но не используется."
diff --git a/editor/translations/editor/sk.po b/editor/translations/editor/sk.po
index 5d70b699e1..ac6732e54f 100644
--- a/editor/translations/editor/sk.po
+++ b/editor/translations/editor/sk.po
@@ -353,12 +353,6 @@ msgstr "Prejsť na predchádzajúci krok"
msgid "Use Bezier Curves"
msgstr "Použiť Bezier Curves"
-msgid "Anim. Optimizer"
-msgstr "Optimalizér Animácií"
-
-msgid "Max. Angular Error:"
-msgstr "Max. Angular Error:"
-
msgid "Optimize"
msgstr "Optimalizácia"
@@ -3475,9 +3469,6 @@ msgstr ""
"Okluzorový polygón musí byť nastavený (alebo vykreslený) aby sa okluzor "
"prejavil."
-msgid "Must use a valid extension."
-msgstr "Musíte použiť platné rozšírenie."
-
msgid "Invalid source for preview."
msgstr "Neplatný zdroj pre predzobrazenie."
diff --git a/editor/translations/editor/sv.po b/editor/translations/editor/sv.po
index bb8c623dec..01d2558a8d 100644
--- a/editor/translations/editor/sv.po
+++ b/editor/translations/editor/sv.po
@@ -334,9 +334,6 @@ msgstr "Lägg till Val för Nästa Förekomst"
msgid "Toggle Insert Mode"
msgstr "Växla Läge Infoga"
-msgid "Text Submitted"
-msgstr "Text Skickad"
-
msgid "Duplicate Nodes"
msgstr "Dubblerade Noder"
@@ -816,18 +813,6 @@ msgstr "Uppstädning av Animation (inget att ångra)"
msgid "Use Bezier Curves"
msgstr "Använd Bezier-kurvor"
-msgid "Anim. Optimizer"
-msgstr "Anim. Optimerare"
-
-msgid "Max. Velocity Error:"
-msgstr "Max. Hastighetsfel:"
-
-msgid "Max. Angular Error:"
-msgstr "Max. Vinkel-fel:"
-
-msgid "Max. Precision Error:"
-msgstr "Max. Precisionsfel:"
-
msgid "Optimize"
msgstr "Optimera"
@@ -852,9 +837,6 @@ msgstr "Skalnings förhållande:"
msgid "Select Transition and Easing"
msgstr "Välj Övergång och Lättnad"
-msgid "Anim. Baker"
-msgstr "Anim. Bakare"
-
msgid "Select Tracks to Copy"
msgstr "Välj Spår att Kopiera"
@@ -3647,9 +3629,6 @@ msgstr "Varning!"
msgid "Please Confirm..."
msgstr "Vänligen Bekräfta..."
-msgid "Must use a valid extension."
-msgstr "Måste använda en giltigt filändelse."
-
msgid "(Other)"
msgstr "(Annat)"
diff --git a/editor/translations/editor/th.po b/editor/translations/editor/th.po
index b93243806a..2def27d878 100644
--- a/editor/translations/editor/th.po
+++ b/editor/translations/editor/th.po
@@ -14,13 +14,14 @@
# SysError_ <ictsanook@hotmail.com>, 2021.
# Kanda Ninthfish <akkhaporn@gmail.com>, 2022.
# Absurdnoobman <jakkalin91@gmail.com>, 2022.
+# Nuttapong Nut <nuttapong.510123@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2022-11-26 14:36+0000\n"
-"Last-Translator: Absurdnoobman <jakkalin91@gmail.com>\n"
+"PO-Revision-Date: 2023-02-18 07:45+0000\n"
+"Last-Translator: Nuttapong Nut <nuttapong.510123@gmail.com>\n"
"Language-Team: Thai <https://hosted.weblate.org/projects/godot-engine/godot/"
"th/>\n"
"Language: th\n"
@@ -28,7 +29,13 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.15-dev\n"
+"X-Generator: Weblate 4.16-dev\n"
+
+msgid "Unset"
+msgstr "ยกเลิกการตั้งค่า"
+
+msgid "Physical"
+msgstr "ทางกายภาพ"
msgid "Button"
msgstr "ปุ่ม"
@@ -389,12 +396,6 @@ msgstr "ใช้เส้นโค้งเบซิเยร์"
msgid "Create RESET Track(s)"
msgstr "สร้างแทร็กรีเซ็ท"
-msgid "Anim. Optimizer"
-msgstr "ตัวเพิ่มประสิทธิภาพแอนิเมชัน"
-
-msgid "Max. Angular Error:"
-msgstr "คลาดเคลื่อนเชิงมุมมากที่สุด:"
-
msgid "Optimize"
msgstr "เพิ่มประสิทธิภาพ"
@@ -5700,9 +5701,6 @@ msgstr "เปลี่ยน Action deadzone"
msgid "Erase Input Action"
msgstr "ลบการกระทำ"
-msgid "Rename Input Action Event"
-msgstr "เปลี่ยนชื่อการกระทำ"
-
msgid "Project Settings (project.godot)"
msgstr "ตัวเลือกโปรเจกต์ (project.godot)"
@@ -6604,9 +6602,6 @@ msgstr "ที่อยู่สำหรับ AnimationPlayer ไม่ได
msgid "The AnimationPlayer root node is not a valid node."
msgstr "โหนดแม่ AnimationPlayer ไม่ใช่โหนดที่ถูกต้อง"
-msgid "Pick a color from the editor window."
-msgstr "เลือกสีจากหน้าต่างตัวแก้ไข"
-
msgid "Switch between hexadecimal and code values."
msgstr "สลับระหว่างค่าฐานสิบหกและโค้ด"
@@ -6634,9 +6629,6 @@ msgstr "แจ้งเตือน!"
msgid "Please Confirm..."
msgstr "กรุณายืนยัน..."
-msgid "Must use a valid extension."
-msgstr "นามสกุลไฟล์ไม่ถูกต้อง"
-
msgid "Enable grid minimap."
msgstr "เปิดเส้นกริดมินิแมพ"
diff --git a/editor/translations/editor/tr.po b/editor/translations/editor/tr.po
index 8710f48c5b..90c4f69b54 100644
--- a/editor/translations/editor/tr.po
+++ b/editor/translations/editor/tr.po
@@ -90,13 +90,16 @@
# alpdenthedev <ekrem_ekrem_45@hotmail.com>, 2022.
# Muhammed Said Gülberk <msgulberk@gmail.com>, 2022.
# Cave Johnson <aperturelabs123@proton.me>, 2023.
+# Atilla Yiğit Şimşekoğlu <yigitsimsekoglu@gmail.com>, 2023.
+# Muhammed Mustafa Özbay <muhammed.ozby@outlook.com>, 2023.
+# Tolunay Mutlu <tlnymtlu@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-09 09:37+0000\n"
-"Last-Translator: Cave Johnson <aperturelabs123@proton.me>\n"
+"PO-Revision-Date: 2023-02-20 00:45+0000\n"
+"Last-Translator: Tolunay Mutlu <tlnymtlu@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/godot-engine/"
"godot/tr/>\n"
"Language: tr\n"
@@ -125,7 +128,7 @@ msgid "Mouse Wheel Up"
msgstr "Fare Tekerleği Yukarı"
msgid "Mouse Wheel Down"
-msgstr "Fare Tekerleği Aşağı."
+msgstr "Fare Tekerleği Aşağı"
msgid "Mouse Wheel Left"
msgstr "Sol Fare Tekerlek Düğmesi"
@@ -133,9 +136,54 @@ msgstr "Sol Fare Tekerlek Düğmesi"
msgid "Mouse Wheel Right"
msgstr "Sağ Fare Tekerlek Düğmesi"
+msgid "Mouse Thumb Button 1"
+msgstr "Yan Fare Düğmesi 1"
+
+msgid "Mouse Thumb Button 2"
+msgstr "Yan Fare Düğmesi 2"
+
msgid "Button"
msgstr "Düğme"
+msgid "Double Click"
+msgstr "Çift Tıklama"
+
+msgid "Mouse motion at position (%s) with velocity (%s)"
+msgstr "Fare hareketi (%s) hızıyla (%s) pozisyonunda"
+
+msgid "Left Stick X-Axis, Joystick 0 X-Axis"
+msgstr "Sol Çubuk X-Ekseni, Oyun Çubuğu 0 X-Ekseni"
+
+msgid "Left Stick Y-Axis, Joystick 0 Y-Axis"
+msgstr "Sol Çubuk Y-Ekseni, Oyun Çubuğu 0 Y-Ekseni"
+
+msgid "Right Stick X-Axis, Joystick 1 X-Axis"
+msgstr "Sağ Çubuk X-Ekseni, Oyun Çubuğu 1 X-Ekseni"
+
+msgid "Right Stick Y-Axis, Joystick 1 Y-Axis"
+msgstr "Sağ Çubuk Y-Ekseni, Oyun Çubuğu 1 Y-Ekseni"
+
+msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT"
+msgstr "Oyun Çubuğu 2 X-Ekseni, Sol Tetik, Sony L2, Xbox LT"
+
+msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT"
+msgstr "Oyun Çubuğu 2 Y-Ekseni, Sağ Tetik, Sony R2, Xbox RT"
+
+msgid "Joystick 3 X-Axis"
+msgstr "Oyun Çubuğu 3 X-Ekseni"
+
+msgid "Joystick 3 Y-Axis"
+msgstr "Oyun Çubuğu 3 Y-Ekseni"
+
+msgid "Joystick 4 X-Axis"
+msgstr "Oyun Çubuğu 4 X-Ekseni"
+
+msgid "Joystick 4 Y-Axis"
+msgstr "Oyun Çubuğu 4 Y-Ekseni"
+
+msgid "Unknown Joypad Axis"
+msgstr "Bilinmeyen Oyun Kolu Ekseni"
+
msgid "Select"
msgstr "Seç"
@@ -568,12 +616,6 @@ msgstr "Bezier Eğrileri Kullan"
msgid "Create RESET Track(s)"
msgstr "RESET İz(ler)i oluşturun"
-msgid "Anim. Optimizer"
-msgstr "Anim. Eniyileştirici"
-
-msgid "Max. Angular Error:"
-msgstr "Maks. Açısal Hata:"
-
msgid "Optimize"
msgstr "En İyileştir"
@@ -1370,6 +1412,9 @@ msgstr "3B Fizik"
msgid "Navigation"
msgstr "Gezinim"
+msgid "OpenGL"
+msgstr "OpenGL"
+
msgid "Nodes and Classes:"
msgstr "Düğümler ve Sınıflar:"
@@ -1577,9 +1622,6 @@ msgstr "Aç"
msgid "Select Current Folder"
msgstr "Geçerli Klasörü Seç"
-msgid "File exists, overwrite?"
-msgstr "Dosya var. Üzerine Yazılsın mı?"
-
msgid "Select This Folder"
msgstr "Bu Klasörü Seç"
@@ -1722,6 +1764,9 @@ msgstr "%s'yi geçersiz kılar:"
msgid "default:"
msgstr "varsayılan:"
+msgid "Operators"
+msgstr "Operatörler"
+
msgid "Theme Properties"
msgstr "Tema Özellikleri"
@@ -1756,6 +1801,9 @@ msgstr ""
"Bu özellik için henüz bir açıklama yok. Bize [color=$color][url=$url]katkıda "
"bulunarak[/url][/color] yardım edebilirsiniz!"
+msgid "Constructor Descriptions"
+msgstr "Yapıcı metot açıklaması"
+
msgid "Method Descriptions"
msgstr "Yöntem Açıklamaları"
@@ -2608,6 +2656,9 @@ msgstr "Yeni Betik"
msgid "Extend Script"
msgstr "Betik Aç"
+msgid "Remote Debug"
+msgstr "Uzaktan Hata Ayıklama"
+
msgid ""
"No runnable export preset found for this platform.\n"
"Please add a runnable preset in the Export menu or define an existing preset "
@@ -2618,7 +2669,7 @@ msgstr ""
"bir ön ayarı çalıştırılabilir olarak tanımlayın."
msgid "Project Run"
-msgstr "Proje Koşusu"
+msgstr "Projeyi Çalıştır"
msgid "Write your logic in the _run() method."
msgstr "Mantığınızı _run() metoduna yazın."
@@ -7344,9 +7395,6 @@ msgstr "Eylem Değiştir ölübölgesi"
msgid "Erase Input Action"
msgstr "Girdi Eylemini Sil"
-msgid "Rename Input Action Event"
-msgstr "Girdi Eylem Olayını Yeniden Adlandır"
-
msgid "Project Settings (project.godot)"
msgstr "Proje Ayarları (proje.godot)"
@@ -8519,9 +8567,6 @@ msgstr ""
msgid "The AnimationPlayer root node is not a valid node."
msgstr "AnimationOynatıcı kök düğümü geçerli bir düğüm değil."
-msgid "Pick a color from the editor window."
-msgstr "Düzenleme penceresinden renk seç."
-
msgid "Switch between hexadecimal and code values."
msgstr "Hex ve kod değerleri arasında geçiş yap."
@@ -8552,9 +8597,6 @@ msgstr "Uyarı!"
msgid "Please Confirm..."
msgstr "Lütfen Doğrulayın..."
-msgid "Must use a valid extension."
-msgstr "Geçerli bir uzantı kullanılmalı."
-
msgid "Enable grid minimap."
msgstr "Izgara haritasını etkinleştir."
diff --git a/editor/translations/editor/uk.po b/editor/translations/editor/uk.po
index 9c1363c20f..52cf7aeb71 100644
--- a/editor/translations/editor/uk.po
+++ b/editor/translations/editor/uk.po
@@ -20,20 +20,21 @@
# KazanskiyMaks <kazanskiy.maks@gmail.com>, 2022, 2023.
# Мирослав <hlopukmyroslav@gmail.com>, 2022.
# Ostap <ostapbataj79@gmail.com>, 2022.
-# Wald Sin <naaveranos@gmail.com>, 2022.
+# Wald Sin <naaveranos@gmail.com>, 2022, 2023.
# Гліб Соколов <ramithes@i.ua>, 2022.
# Max Donchenko <maxx.donchenko@gmail.com>, 2022.
# Artem <artem@molotov.work>, 2022.
# Teashrock <kajitsu22@gmail.com>, 2022, 2023.
# kirill7606 <k7606irill@gmail.com>, 2022.
# Alex <anna.loban@yahoo.com>, 2023.
+# Ivan Nosatlev <maxonyt2@gmail.com>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: Ukrainian (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-01-08 09:47+0000\n"
-"Last-Translator: KazanskiyMaks <kazanskiy.maks@gmail.com>\n"
+"PO-Revision-Date: 2023-02-14 23:41+0000\n"
+"Last-Translator: Wald Sin <naaveranos@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot/uk/>\n"
"Language: uk\n"
@@ -42,14 +43,108 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.15.1-dev\n"
+"X-Generator: Weblate 4.16-dev\n"
+
+msgid "Unset"
+msgstr "Зняти"
msgid "Physical"
msgstr "Фізичний"
+msgid "Left Mouse Button"
+msgstr "Ліва Кнопка Миші"
+
+msgid "Right Mouse Button"
+msgstr "Права Кнопка миші"
+
+msgid "Middle Mouse Button"
+msgstr "Середня Кнопка Миши"
+
+msgid "Mouse Wheel Up"
+msgstr "Коліщатко вгору"
+
+msgid "Mouse Wheel Down"
+msgstr "Коліщатко вниз"
+
msgid "Button"
msgstr "Кнопка"
+msgid "Mouse motion at position (%s) with velocity (%s)"
+msgstr "Рух миші в положенні (%s) зі швидкістю (%s)"
+
+msgid "Left Stick X-Axis, Joystick 0 X-Axis"
+msgstr "Лівий стік X-осі, Джойстик 0 X-осі"
+
+msgid "Left Stick Y-Axis, Joystick 0 Y-Axis"
+msgstr "Лівий стіл Y-осі, Джойстик 0 Y-осі"
+
+msgid "Right Stick X-Axis, Joystick 1 X-Axis"
+msgstr "Правий стік X-осі, Джойстик 1 X-осі"
+
+msgid "Right Stick Y-Axis, Joystick 1 Y-Axis"
+msgstr "Правий стік Y-осі, Джойстик 1 Y-осі"
+
+msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT"
+msgstr "Джойстик 2 X-осі, Лівий Тригер, Sony L2, Xbox LT"
+
+msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT"
+msgstr "Джойстик 2 Y-осі, Правий Тригер, Sony R2, Xbox RT"
+
+msgid "Unknown Joypad Axis"
+msgstr "Невідома вісь джойстика"
+
+msgid "Joypad Motion on Axis %d (%s) with Value %.2f"
+msgstr "Рух джойпада по осі %d (%s) зі значенням %.2f"
+
+msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B"
+msgstr "Нижня дія, Sony Cross, Xbox A, Nintendo B"
+
+msgid "Right Action, Sony Circle, Xbox B, Nintendo A"
+msgstr "Права дія, Sony Circle, Xbox B, Nintendo A"
+
+msgid "Left Action, Sony Square, Xbox X, Nintendo Y"
+msgstr "Ліва дія, Sony Square, Xbox X, Nintendo Y"
+
+msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X"
+msgstr "Верхня дія, Sony Triangle, Xbox Y, Nintendo X"
+
+msgid "Back, Sony Select, Xbox Back, Nintendo -"
+msgstr "Назад, Sony Select, Xbox Back, Nintendo -"
+
+msgid "Guide, Sony PS, Xbox Home"
+msgstr "Посібник, Sony PS, Xbox Home"
+
+msgid "Start, Nintendo +"
+msgstr "Старт, Nintendo +"
+
+msgid "Left Stick, Sony L3, Xbox L/LS"
+msgstr "Лівий стік, Sony L3, Xbox L/LS"
+
+msgid "Right Stick, Sony R3, Xbox R/RS"
+msgstr "Правий стік, Sony R3, Xbox R/RS"
+
+msgid "D-pad Up"
+msgstr "D-pad Вгору"
+
+msgid "D-pad Down"
+msgstr "D-pad Вниз"
+
+msgid "PS4/5 Touchpad"
+msgstr "PS4/5 Тачпад"
+
+msgid "touched"
+msgstr "торкнувся"
+
+msgid "Screen %s at (%s) with %s touch points"
+msgstr "Екран %s в (%s) з сенсорними точками %s"
+
+msgid ""
+"Screen dragged with %s touch points at position (%s) with velocity of (%s)"
+msgstr "Екран перетягнуто з %s точок дотику на позицію (%s) зі швидкістю (%s)"
+
+msgid "MIDI Input on Channel=%s Message=%s"
+msgstr "MIDI Вхід на каналі=%s Повідомлення=%s"
+
msgid "Select"
msgstr "Виділити"
@@ -86,21 +181,36 @@ msgstr "Скасувати"
msgid "Redo"
msgstr "Повернути"
+msgid "New Blank Line"
+msgstr "Новий порожній рядок"
+
msgid "Indent"
msgstr "Відступ"
+msgid "Backspace Word"
+msgstr "Стерти слово"
+
+msgid "Backspace all to Left"
+msgstr "Стерти все вліво"
+
msgid "Delete"
msgstr "Вилучити"
msgid "Select All"
msgstr "Виділити все"
+msgid "Select Word Under Caret"
+msgstr "Виділити слово під вказівником"
+
msgid "Duplicate Nodes"
msgstr "Дублювати вузли"
msgid "Delete Nodes"
msgstr "Вилучити вузли"
+msgid "Go Up One Level"
+msgstr "Підніміться на рівень вище"
+
msgid "Refresh"
msgstr "Оновити"
@@ -148,6 +258,15 @@ msgstr "ПіБ"
msgid "EiB"
msgstr "ЕіБ"
+msgid "Example: %s"
+msgstr "Приклад: %s"
+
+msgid "%d item"
+msgid_plural "%d items"
+msgstr[0] "%d елемент"
+msgstr[1] "%d елемента"
+msgstr[2] "%d елементів"
+
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
@@ -158,12 +277,18 @@ msgstr ""
msgid "An action with the name '%s' already exists."
msgstr "Дія із назвою «%s» вже існує."
+msgid "Cannot Revert - Action is same as initial"
+msgstr "Неможливо повернути - дія така ж, як і початкова"
+
msgid "Add Event"
msgstr "Додати подію"
msgid "Add"
msgstr "Додати"
+msgid "Show Built-in Actions"
+msgstr "Показати вбудовані дії"
+
msgid "Action"
msgstr "Дія"
@@ -200,6 +325,12 @@ msgstr "Змінити тривалість анімації"
msgid "Change Animation Loop"
msgstr "Змінити цикл анімації"
+msgid "Can't change loop mode on animation instanced from imported scene."
+msgstr "Неможливо змінити режим циклу для анімації з імпортованої сцени."
+
+msgid "Can't change loop mode on animation embedded in another scene."
+msgstr "Неможливо змінити режим циклу для анімації, вбудованої в іншу сцену."
+
msgid "Property Track"
msgstr "Доріжка властивостей"
@@ -496,12 +627,6 @@ msgstr "Використовувати криві Безьє"
msgid "Create RESET Track(s)"
msgstr "Створити доріжки RESET"
-msgid "Anim. Optimizer"
-msgstr "Оптимізатор Анімації"
-
-msgid "Max. Angular Error:"
-msgstr "Макс. кутова похибка:"
-
msgid "Optimize"
msgstr "Оптимізувати"
@@ -1518,9 +1643,6 @@ msgstr "Відкрити"
msgid "Select Current Folder"
msgstr "Вибрати поточну теку"
-msgid "File exists, overwrite?"
-msgstr "Файл вже існує. Перезаписати?"
-
msgid "Select This Folder"
msgstr "Вибрати цю теку"
@@ -7437,9 +7559,6 @@ msgstr "Змінити «мертву» зону дії"
msgid "Erase Input Action"
msgstr "Витерти запис дії"
-msgid "Rename Input Action Event"
-msgstr "Перейменувати подію за вхідною дією"
-
msgid "Project Settings (project.godot)"
msgstr "Параметри проєкту (project.godot)"
@@ -8849,9 +8968,6 @@ msgstr ""
"Ліва кнопка: застосувати колір\n"
"Права кнопка: вилучити взірець"
-msgid "Pick a color from the editor window."
-msgstr "Вибрати колір з вікна редактора."
-
msgid "Switch between hexadecimal and code values."
msgstr "Перемикання між шістнадцятковими значеннями і кодами."
@@ -8885,9 +9001,6 @@ msgstr "Увага!"
msgid "Please Confirm..."
msgstr "Будь ласка, підтвердьте..."
-msgid "Must use a valid extension."
-msgstr "Необхідно використовувати допустиме розширення."
-
msgid "Enable grid minimap."
msgstr "Увімкнути мінікарту ґратки."
diff --git a/editor/translations/editor/vi.po b/editor/translations/editor/vi.po
index 481d9bad69..6d995bafe6 100644
--- a/editor/translations/editor/vi.po
+++ b/editor/translations/editor/vi.po
@@ -416,12 +416,6 @@ msgstr "Áp dụng đặt lại"
msgid "Use Bezier Curves"
msgstr "Sử dụng đường cong Bezier"
-msgid "Anim. Optimizer"
-msgstr "Bộ tối ưu hóa hoạt hình"
-
-msgid "Max. Angular Error:"
-msgstr "Sai lệch góc lớn nhất:"
-
msgid "Optimize"
msgstr "Tối ưu"
@@ -1249,9 +1243,6 @@ msgstr "Mở"
msgid "Select Current Folder"
msgstr "Chọn thư mục hiện tại"
-msgid "File exists, overwrite?"
-msgstr "Tệp đã tồn tại, ghi đè chứ?"
-
msgid "Select This Folder"
msgstr "Chọn thư mục này"
@@ -5789,18 +5780,12 @@ msgstr "Animation vô hiệu: '%s'."
msgid "Nothing connected to input '%s' of node '%s'."
msgstr "Không có kết nối đến input '%s' của node '%s'."
-msgid "Pick a color from the editor window."
-msgstr "Chọn một màu từ cửa sổ biên tập."
-
msgid "Alert!"
msgstr "Cảnh báo!"
msgid "Please Confirm..."
msgstr "Xin hãy xác nhận..."
-msgid "Must use a valid extension."
-msgstr "Sử dụng phần mở rộng hợp lệ."
-
msgid "(Other)"
msgstr "(Khác)"
diff --git a/editor/translations/editor/zh_CN.po b/editor/translations/editor/zh_CN.po
index 918935ec61..1bef0557ed 100644
--- a/editor/translations/editor/zh_CN.po
+++ b/editor/translations/editor/zh_CN.po
@@ -95,8 +95,8 @@ msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2023-02-10 06:54+0000\n"
-"Last-Translator: 风青山 <idleman@yeah.net>\n"
+"PO-Revision-Date: 2023-02-17 10:49+0000\n"
+"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hans/>\n"
"Language: zh_CN\n"
@@ -247,6 +247,12 @@ msgstr "Xbox 拨片 4"
msgid "PS4/5 Touchpad"
msgstr "PS4/5 触控板"
+msgid "Joypad Button %d"
+msgstr "手柄按钮 %d"
+
+msgid "Pressure:"
+msgstr "压力:"
+
msgid "touched"
msgstr "按下"
@@ -425,9 +431,6 @@ msgstr "清除光标和选区"
msgid "Toggle Insert Mode"
msgstr "开关插入模式"
-msgid "Text Submitted"
-msgstr "提交文本"
-
msgid "Duplicate Nodes"
msgstr "复制节点"
@@ -509,6 +512,12 @@ msgstr "无效的动作名称。动作名不能为空,也不能包含“/”
msgid "An action with the name '%s' already exists."
msgstr "名为“%s”的动作已存在。"
+msgid "Cannot Revert - Action is same as initial"
+msgstr "无法还原—动作与初始动作相同"
+
+msgid "Revert Action"
+msgstr "还原动作"
+
msgid "Add Event"
msgstr "添加事件"
@@ -692,6 +701,9 @@ msgstr "修改轨道路径"
msgid "Toggle this track on/off."
msgstr "切换该轨道的开关。"
+msgid "Use Blend"
+msgstr "使用混合"
+
msgid "Update Mode (How this property is set)"
msgstr "更新模式(设置该属性的方式)"
@@ -761,6 +773,9 @@ msgstr "动画剪辑:"
msgid "Toggle Track Enabled"
msgstr "启用/禁用轨道"
+msgid "Don't Use Blend"
+msgstr "禁用混合"
+
msgid "Continuous"
msgstr "连续"
@@ -812,6 +827,9 @@ msgstr "修改动画插值模式"
msgid "Change Animation Loop Mode"
msgstr "修改动画循环模式"
+msgid "Change Animation Use Blend"
+msgstr "修改动画使用混合"
+
msgid ""
"Compressed tracks can't be edited or removed. Re-import the animation with "
"compression disabled in order to edit."
@@ -1052,18 +1070,6 @@ msgstr "使用贝塞尔曲线"
msgid "Create RESET Track(s)"
msgstr "创建 RESET 轨道"
-msgid "Anim. Optimizer"
-msgstr "动画优化器"
-
-msgid "Max. Velocity Error:"
-msgstr "最大速度误差:"
-
-msgid "Max. Angular Error:"
-msgstr "最大角度误差:"
-
-msgid "Max. Precision Error:"
-msgstr "最大精度误差:"
-
msgid "Optimize"
msgstr "优化"
@@ -1088,9 +1094,6 @@ msgstr "缩放比率:"
msgid "Select Transition and Easing"
msgstr "选择过渡和缓动"
-msgid "Anim. Baker"
-msgstr "动画烘焙器"
-
msgid "Select Tracks to Copy"
msgstr "选择要复制的轨道"
@@ -1173,6 +1176,9 @@ msgid ""
"target node."
msgstr "找不到目标方法。请指定一个有效的方法或把脚本附加到目标节点。"
+msgid "Attached Script"
+msgstr "附加脚本"
+
msgid "Connect to Node:"
msgstr "连接到节点:"
@@ -1185,6 +1191,9 @@ msgstr "来自信号:"
msgid "Filter Nodes"
msgstr "筛选节点"
+msgid "Go to Source"
+msgstr "跳转到源"
+
msgid "Scene does not contain any script."
msgstr "场景不包含脚本。"
@@ -1194,6 +1203,15 @@ msgstr "选择方法"
msgid "Filter Methods"
msgstr "筛选方法"
+msgid "No method found matching given filters."
+msgstr "没有找到匹配给定过滤器的方法。"
+
+msgid "Script Methods Only"
+msgstr "仅脚本方法"
+
+msgid "Compatible Methods Only"
+msgstr "仅兼容方法"
+
msgid "Remove"
msgstr "移除"
@@ -1261,6 +1279,9 @@ msgstr "断开连接"
msgid "Connect a Signal to a Method"
msgstr "连接信号到方法"
+msgid "Edit Connection: '%s'"
+msgstr "编辑连接:“%s”"
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "确定要从信号 “%s” 中移除所有连接吗?"
@@ -1452,6 +1473,15 @@ msgstr "错误:"
msgid "%s Error"
msgstr "%s 错误"
+msgid "%s Error:"
+msgstr "%s 错误:"
+
+msgid "%s Source"
+msgstr "%s 源文件"
+
+msgid "%s Source:"
+msgstr "%s 源文件:"
+
msgid "Stack Trace"
msgstr "栈追踪"
@@ -1465,7 +1495,7 @@ msgid "Debug session closed."
msgstr "调试会话结束。"
msgid "Line %d"
-msgstr "行 %d"
+msgstr "第 %d 行"
msgid "Delete Breakpoint"
msgstr "移除断点"
@@ -1519,7 +1549,7 @@ msgid "Collapse All"
msgstr "全部折叠"
msgid "Profiler"
-msgstr "性能分析器"
+msgstr "分析器"
msgid "Visual Profiler"
msgstr "可视分析器"
@@ -1972,6 +2002,9 @@ msgstr "添加自动加载"
msgid "Path:"
msgstr "路径:"
+msgid "Set path or press \"%s\" to create a script."
+msgstr "设置路径或按“%s”创建脚本。"
+
msgid "Node Name:"
msgstr "节点名称:"
@@ -2052,14 +2085,14 @@ msgid ""
"Supports basic text layouts."
msgstr ""
"文本服务器的后备实现\n"
-"支持基本的文本布局。"
+"支持基础排版。"
msgid ""
"Text Server implementation powered by ICU and HarfBuzz libraries.\n"
"Supports complex text layouts, BiDi, and contextual OpenType font features."
msgstr ""
"由 ICU 和 HarfBuzz 库提供支持的文本服务器实现。\n"
-"支持复杂的文本布局、BiDi 和上下文 OpenType 字体功能。"
+"支持复杂排版、BiDi 和上下文 OpenType 字体特性。"
msgid ""
"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType "
@@ -2099,7 +2132,7 @@ msgid "File '%s' format is invalid, import aborted."
msgstr "文件 “%s” 的格式无效,导入中止。"
msgid "Error saving profile to path: '%s'."
-msgstr "将配置文件保存到路径 “%s” 时出错。"
+msgstr "将配置保存到路径 “%s” 时出错。"
msgid "New"
msgstr "新建"
@@ -2108,7 +2141,7 @@ msgid "Save"
msgstr "保存"
msgid "Profile:"
-msgstr "配置文件:"
+msgstr "配置:"
msgid "Reset to Defaults"
msgstr "重置为默认值"
@@ -2120,25 +2153,25 @@ msgid "Actions:"
msgstr "动作:"
msgid "Configure Engine Build Profile:"
-msgstr "配置引擎构建配置文件:"
+msgstr "配置引擎构建配置:"
msgid "Please Confirm:"
msgstr "请确认:"
msgid "Engine Build Profile"
-msgstr "引擎构建配置文件"
+msgstr "引擎构建配置"
msgid "Load Profile"
-msgstr "加载配置文件"
+msgstr "加载配置"
msgid "Export Profile"
-msgstr "导出配置文件"
+msgstr "导出配置"
msgid "Forced classes on detect:"
msgstr "强制检测类:"
msgid "Edit Build Configuration Profile"
-msgstr "编辑构建配置文件"
+msgstr "编辑构建配置"
msgid "Filter Commands"
msgstr "筛选命令"
@@ -2241,13 +2274,13 @@ msgid "(none)"
msgstr "(无)"
msgid "Remove currently selected profile, '%s'? Cannot be undone."
-msgstr "要移除当前所选的配置文件“%s”吗?无法撤销。"
+msgstr "要移除当前所选的配置“%s”吗?无法撤销。"
msgid "Profile must be a valid filename and must not contain '.'"
-msgstr "配置文件必须是有效的文件名,并且不能包含 “.”"
+msgstr "配置必须是有效的文件名,并且不能包含 “.”"
msgid "Profile with this name already exists."
-msgstr "同名的配置文件已经存在。"
+msgstr "同名的配置已经存在。"
msgid "(Editor Disabled, Properties Disabled)"
msgstr "(编辑器已禁用,属性已禁用)"
@@ -2273,22 +2306,22 @@ msgstr "主要特性:"
msgid ""
"Profile '%s' already exists. Remove it first before importing, import "
"aborted."
-msgstr "配置文件“%s”已存在。请在导入之前先移除该配置文件,导入已中止。"
+msgstr "配置“%s”已存在。请在导入之前先移除该配置,导入已中止。"
msgid "Reset to Default"
msgstr "重置为默认值"
msgid "Current Profile:"
-msgstr "当前配置文件:"
+msgstr "当前配置:"
msgid "Create Profile"
-msgstr "创建配置文件"
+msgstr "创建配置"
msgid "Remove Profile"
-msgstr "移除配置文件"
+msgstr "移除配置"
msgid "Available Profiles:"
-msgstr "可用配置文件:"
+msgstr "可用配置:"
msgid "Make Current"
msgstr "设为当前"
@@ -2300,25 +2333,25 @@ msgid "Export"
msgstr "导出"
msgid "Configure Selected Profile:"
-msgstr "配置所选配置文件:"
+msgstr "配置所选配置:"
msgid "Extra Options:"
msgstr "更多选项:"
msgid "Create or import a profile to edit available classes and properties."
-msgstr "创建或导入配置文件以编辑可用的类和属性。"
+msgstr "创建或导入配置以编辑可用的类和属性。"
msgid "New profile name:"
-msgstr "新的配置文件名称:"
+msgstr "新的配置名称:"
msgid "Godot Feature Profile"
-msgstr "Godot 功能配置文件"
+msgstr "Godot 功能配置"
msgid "Import Profile(s)"
-msgstr "导入配置文件"
+msgstr "导入配置"
msgid "Manage Editor Feature Profiles"
-msgstr "管理编辑器功能配置文件"
+msgstr "管理编辑器功能配置"
msgid "Network"
msgstr "网络"
@@ -2329,9 +2362,6 @@ msgstr "打开"
msgid "Select Current Folder"
msgstr "选择当前文件夹"
-msgid "File exists, overwrite?"
-msgstr "文件已存在,是否覆盖?"
-
msgid "Select This Folder"
msgstr "选择此文件夹"
@@ -2511,7 +2541,7 @@ msgstr ""
"color]!"
msgid "Top"
-msgstr "顶部"
+msgstr "顶"
msgid "Class:"
msgstr "类:"
@@ -2819,6 +2849,9 @@ msgstr "修改区域设置地区筛选"
msgid "Changed Locale Filter Mode"
msgstr "修改区域设置筛选模式"
+msgid "[Default]"
+msgstr "[默认]"
+
msgid "Select a Locale"
msgstr "选择区域"
@@ -2834,12 +2867,20 @@ msgstr "编辑筛选器"
msgid "Language:"
msgstr "语言:"
+msgctxt "Locale"
+msgid "Script:"
+msgstr "文字:"
+
msgid "Country:"
msgstr "地区:"
msgid "Language"
msgstr "语言"
+msgctxt "Locale"
+msgid "Script"
+msgstr "文字"
+
msgid "Country"
msgstr "地区"
@@ -3001,14 +3042,14 @@ msgid "Restored the Default layout to its base settings."
msgstr "已将默认布局恢复为原始内容。"
msgid "This object is marked as read-only, so it's not editable."
-msgstr "这个对象被标记为只读,所以它是不可编辑的。"
+msgstr "这个对象被标记为只读,所以无法编辑。"
msgid ""
"This resource belongs to a scene that was imported, so it's not editable.\n"
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
-"这个资源属于已导入的场景,不可编辑。\n"
+"这个资源属于已导入的场景,所以无法编辑。\n"
"请阅读与导入场景相关的文档,以更佳理解此工作流。"
msgid ""
@@ -3021,7 +3062,7 @@ msgstr ""
msgid ""
"This resource was imported, so it's not editable. Change its settings in the "
"import panel and then re-import."
-msgstr "此资源已导入,因此无法编辑。在导入面板中更改设置并重新导入。"
+msgstr "这是导入的资源,因此无法编辑。请在导入面板中更改设置并重新导入。"
msgid ""
"This scene was imported, so changes to it won't be kept.\n"
@@ -3029,8 +3070,8 @@ msgid ""
"Please read the documentation relevant to importing scenes to better "
"understand this workflow."
msgstr ""
-"此场景是导入的,因此不会保留对其所做的更改。\n"
-"实例化或继承它将允许您对其进行更改。\n"
+"这是导入的场景,因此不会保留对其所做的更改。\n"
+"你可以通过实例化或继承对其进行更改。\n"
"请阅读与导入场景相关的文档以更好地理解此工作流程。"
msgid "Changes may be lost!"
@@ -3582,6 +3623,22 @@ msgid "Select Android sources file"
msgstr "选择 Android 源文件"
msgid ""
+"This will set up your project for gradle Android builds by installing the "
+"source template to \"res://android/build\".\n"
+"You can then apply modifications and build your own custom APK on export "
+"(adding modules, changing the AndroidManifest.xml, etc.).\n"
+"Note that in order to make gradle builds instead of using pre-built APKs, "
+"the \"Use Gradle Build\" option should be enabled in the Android export "
+"preset."
+msgstr ""
+"即将为你的项目设置自定义 Android 构建,源码模板会被安装到“res://android/"
+"build”。\n"
+"你可以对其进行修改,在导出时构建自定义的 APK(添加模块、更改 AndroidManifest."
+"xml 等)。\n"
+"请注意,要使用自定义构建替代预先构建的 APK,应该在 Android 导出预设中启用“使"
+"用 Gradle 构建”选项。"
+
+msgid ""
"The Android build template is already installed in this project and it won't "
"be overwritten.\n"
"Remove the \"res://android/build\" directory manually before attempting this "
@@ -3966,6 +4023,9 @@ msgstr "控制杆 4 向上"
msgid "Joystick 4 Down"
msgstr "控制杆 4 向下"
+msgid "Joypad Axis %d %s (%s)"
+msgstr "游戏手柄轴 %d %s (%s)"
+
msgid "All Devices"
msgstr "所有设备"
@@ -3978,6 +4038,16 @@ msgstr "正在监听输入..."
msgid "Filter by event..."
msgstr "按事件筛选..."
+msgid ""
+"Target platform requires 'ETC2/ASTC' texture compression. Enable 'Import "
+"ETC2 ASTC' in Project Settings."
+msgstr "目标平台需要“ETC2/ASTC”纹理压缩。请在项目设置中启用“导入 ETC2 ASTC”。"
+
+msgid ""
+"Target platform requires 'S3TC/BPTC' texture compression. Enable 'Import "
+"S3TC BPTC' in Project Settings."
+msgstr "目标平台需要“S3TC/BPTC”纹理压缩。请在项目设置中启用“导入 S3TC BPTC”。"
+
msgid "Project export for platform:"
msgstr "针对平台导出项目:"
@@ -4014,18 +4084,15 @@ msgstr "无法创建文件“%s”。"
msgid "Failed to export project files."
msgstr "导出项目文件失败。"
-msgid "Can't open file to read from path \"%s\"."
-msgstr "无法打开位于“%s”的文件用于读取。"
-
-msgid "Can't open executable file from path \"%s\"."
-msgstr "无法打开位于“%s”的可执行文件。"
-
msgid "Can't create encrypted file."
msgstr "无法创建加密文件。"
msgid "Can't open encrypted file to write."
msgstr "无法打开加密文件进行写操作。"
+msgid "Can't open file to read from path \"%s\"."
+msgstr "无法打开位于“%s”的文件用于读取。"
+
msgid "Save ZIP"
msgstr "保存 ZIP"
@@ -4781,6 +4848,9 @@ msgstr "新建配置"
msgid "Remove Variation"
msgstr "移除变体"
+msgid "Preloaded glyphs: %d"
+msgstr "预加载字形:%d"
+
msgid ""
"Warning: There are no configurations specified, no glyphs will be pre-"
"rendered."
@@ -4846,7 +4916,7 @@ msgid ""
"Enter a text and select OpenType features to shape and add all required "
"glyphs to pre-render list:"
msgstr ""
-"输入文本并选择 OpenType 功能来塑形,并将所有必需的字形添加到预渲染列表中:"
+"输入文本并选择 OpenType 特性来塑形,并将所有必需的字形添加到预渲染列表中:"
msgid "Shape Text and Add Glyphs"
msgstr "塑形文本并添加字形"
@@ -5149,6 +5219,15 @@ msgid ""
"current platform."
msgstr "根据当前平台,在“Meta”(“Command”)和“Ctrl”之间自动重映射。"
+msgid "Keycode (Latin Equivalent)"
+msgstr "键码(等价拉丁字符)"
+
+msgid "Physical Keycode (Position on US QWERTY Keyboard)"
+msgstr "物理键码(美式 QWERTY 键盘上的位置)"
+
+msgid "Key Label (Unicode, Case-Insensitive)"
+msgstr "键标签(Unicode,不区分大小写)"
+
msgid ""
"The following resources will be duplicated and embedded within this resource/"
"object."
@@ -5762,6 +5841,9 @@ msgstr "从当前位置倒放选中动画(A)"
msgid "Play selected animation backwards from end. (Shift+A)"
msgstr "从结束时间倒放选中动画(Shift+A)"
+msgid "Pause/stop animation playback. (S)"
+msgstr "暂停/停止动画播放。 (S)"
+
msgid "Play selected animation from start. (Shift+D)"
msgstr "从头播放选中动画(Shift+D)"
@@ -6552,9 +6634,6 @@ msgstr "从 %s 实例化场景时出错"
msgid "Change Default Type"
msgstr "修改默认类型"
-msgid "Set target_position"
-msgstr "设置 target_position"
-
msgid "Set Handle"
msgstr "设置处理程序"
@@ -6657,14 +6736,14 @@ msgid ""
"Enable to also set the Expand flag.\n"
"Disable to only set Shrink/Fill flags."
msgstr ""
-"启用,同时设置扩展标志。\n"
-"禁用,只设置收缩/填充标志。"
+"启用时还会设置 Expand 标志。\n"
+"禁用时只设置 Shrink/Fill 标志。"
msgid "Some parents of the selected nodes do not support the Expand flag."
msgstr "所选节点的某些父节点不支持扩展标志。"
msgid "Align with Expand"
-msgstr "对齐展开"
+msgstr "对齐并扩展"
msgid "Change Anchors, Offsets, Grow Direction"
msgstr "更改锚点、偏移、增长方向"
@@ -6884,9 +6963,17 @@ msgstr ""
msgid "Run Multiple Instances"
msgstr "运行多个实例"
+msgid "Run %d Instance"
+msgid_plural "Run %d Instances"
+msgstr[0] "运行 %d 个实例"
+
msgid "Overrides (%d)"
msgstr "覆盖(%d)"
+msgctxt "Locale"
+msgid "Add Script"
+msgstr "添加文字"
+
msgid "Add Locale"
msgstr "添加区域"
@@ -6897,7 +6984,7 @@ msgid "No supported features"
msgstr "不支持的特性"
msgid "Features (%d of %d set)"
-msgstr "功能(%d / %d)"
+msgstr "特性(%d/%d)"
msgid "Add Feature"
msgstr "添加特性"
@@ -7345,6 +7432,12 @@ msgstr "数量:"
msgid "Populate"
msgstr "填充"
+msgid "Set start_position"
+msgstr "设置 start_position"
+
+msgid "Set end_position"
+msgstr "设置 end_position"
+
msgid "Create Navigation Polygon"
msgstr "创建导航多边形"
@@ -7378,6 +7471,12 @@ msgstr "修改粒子 AABB"
msgid "Change Radius"
msgstr "修改半径"
+msgid "Change Probe Size"
+msgstr "修改探针大小"
+
+msgid "Change Decal Size"
+msgstr "修改贴花大小"
+
msgid "Change Capsule Shape Radius"
msgstr "修改胶囊体半径"
@@ -7399,6 +7498,15 @@ msgstr "开始位置"
msgid "End Location"
msgstr "结束位置"
+msgid "Change Start Position"
+msgstr "修改开始位置"
+
+msgid "Change End Position"
+msgstr "修改结束位置"
+
+msgid "Change Fog Volume Size"
+msgstr "修改雾体积大小"
+
msgid "Transform Aborted."
msgstr "变换中止。"
@@ -7929,10 +8037,10 @@ msgid "Perspective FOV (deg.):"
msgstr "透视视角(角度):"
msgid "View Z-Near:"
-msgstr "视图 Z-Near:"
+msgstr "视图近平面 Z:"
msgid "View Z-Far:"
-msgstr "视图 Z-Far:"
+msgstr "视图远平面 Z:"
msgid "Transform Change"
msgstr "修改变换"
@@ -8592,7 +8700,7 @@ msgid "Evaluate Selection"
msgstr "所选内容求值"
msgid "Trim Trailing Whitespace"
-msgstr "移除尾部空格"
+msgstr "移除行尾空格"
msgid "Convert Indent to Spaces"
msgstr "将缩进转为空格"
@@ -8716,7 +8824,7 @@ msgid "Cannot export a SkeletonProfile for a Skeleton3D node with no bones."
msgstr "无法为没有骨骼的 Skeleton3D 节点导出 SkeletonProfile。"
msgid "Export Skeleton Profile As..."
-msgstr "将骨架配置文件导出为..."
+msgstr "将骨架配置导出为..."
msgid "Set Bone Parentage"
msgstr "设置骨骼父子关系"
@@ -8740,7 +8848,7 @@ msgid "Create Physical Skeleton"
msgstr "创建物理骨架"
msgid "Export Skeleton Profile"
-msgstr "导出骨架配置文件"
+msgstr "导出骨架配置"
msgid ""
"Edit Mode\n"
@@ -8881,6 +8989,9 @@ msgstr "(空)"
msgid "Animations:"
msgstr "动画:"
+msgid "Animation Speed"
+msgstr "动画速度"
+
msgid "Filter Animations"
msgstr "筛选动画"
@@ -9667,6 +9778,9 @@ msgstr "绘制图块"
msgid "Paste tiles"
msgstr "粘贴图块"
+msgid "Paint"
+msgstr "绘制"
+
msgid "Shift: Draw line."
msgstr "Shift:画直线。"
@@ -9685,11 +9799,6 @@ msgstr "连续"
msgid "Place Random Tile"
msgstr "放置随机图块"
-msgid ""
-"Defines the probability of painting nothing instead of a randomly selected "
-"tile."
-msgstr "定义不绘制任何内容而不是绘制随机选择的图块的概率。"
-
msgid "Scattering:"
msgstr "散布:"
@@ -9889,9 +9998,6 @@ msgstr "图集设置。图块添加/移除工具(Shift 键创建大图块、Ct
msgid "Select tiles."
msgstr "选择图块。"
-msgid "Paint"
-msgstr "绘制"
-
msgid "Paint properties."
msgstr "绘制属性。"
@@ -10212,6 +10318,11 @@ msgstr "采样器"
msgid "[default]"
msgstr "[默认]"
+msgid ""
+"The 2D preview cannot correctly show the result retrieved from instance "
+"parameter."
+msgstr "2D 预览无法正确显示从实例参数中检索到的结果。"
+
msgid "Add Input Port"
msgstr "添加输入端口"
@@ -11419,6 +11530,9 @@ msgstr "渲染器可以稍后更改,但可能需要调整场景。"
msgid "Version Control Metadata:"
msgstr "版本控制元数据:"
+msgid "Git"
+msgstr "Git"
+
msgid "Missing Project"
msgstr "缺失项目"
@@ -11722,12 +11836,12 @@ msgstr "添加输入动作"
msgid "Change Action deadzone"
msgstr "修改动作死区"
+msgid "Change Input Action Event(s)"
+msgstr "修改输入动作事件"
+
msgid "Erase Input Action"
msgstr "擦除输入动作"
-msgid "Rename Input Action Event"
-msgstr "重命名输入动作事件"
-
msgid "Update Input Action Order"
msgstr "更新输入动作顺序"
@@ -12716,6 +12830,14 @@ msgstr "%d(%s)"
msgid "%s/s"
msgstr "%s/秒"
+msgctxt "Network"
+msgid "Down"
+msgstr "下载"
+
+msgctxt "Network"
+msgid "Up"
+msgstr "上传"
+
msgid "Incoming RPC"
msgstr "传入 RPC"
@@ -12888,7 +13010,7 @@ msgid "Remove action set"
msgstr "移除动作集"
msgid "Add interaction profile"
-msgstr "添加交互配置文件"
+msgstr "添加交互配置"
msgid "Error saving file %s: %s"
msgstr "保存文件 %s 时出错:%s"
@@ -12900,7 +13022,7 @@ msgid "OpenXR Action map:"
msgstr "OpenXR 动作映射:"
msgid "Remove interaction profile"
-msgstr "移除交互配置文件"
+msgstr "移除交互配置"
msgid "Action Map"
msgstr "动作映射"
@@ -12912,10 +13034,10 @@ msgid "Add an action set."
msgstr "添加一个动作集。"
msgid "Add profile"
-msgstr "添加配置文件"
+msgstr "添加配置"
msgid "Add an interaction profile."
-msgstr "添加一个交互配置文件。"
+msgstr "添加一个交互配置。"
msgid "Save this OpenXR action map."
msgstr "保存这个 OpenXR 动作映射。"
@@ -13060,12 +13182,25 @@ msgstr "APK 扩展的公钥无效。"
msgid "Invalid package name:"
msgstr "无效的包名称:"
+msgid "\"Use Gradle Build\" must be enabled to use the plugins."
+msgstr "必须启用“使用 Gradle 构建”才能使用插件。"
+
+msgid "OpenXR requires \"Use Gradle Build\" to be enabled"
+msgstr "OpenXR 需要启用“使用 Gradle 构建”"
+
msgid "\"Hand Tracking\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr "“手部跟踪”只有在当“XR Mode”是“OpenXR”时才有效。"
msgid "\"Passthrough\" is only valid when \"XR Mode\" is \"OpenXR\"."
msgstr "“穿透”只有在当“XR Mode”是“OpenXR”时才有效。"
+msgid "\"Export AAB\" is only valid when \"Use Gradle Build\" is enabled."
+msgstr "“导出 AAB”只有在启用“使用 Gradle 构建”时才有效。"
+
+msgid ""
+"\"Min SDK\" can only be overridden when \"Use Gradle Build\" is enabled."
+msgstr "“最小 SDK”只有在启用“使用 Gradle 构建”时才能覆盖。"
+
msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr "“最小 SDK”应当为有效的整数,但获得了无效的“%s”。"
@@ -13075,6 +13210,10 @@ msgid ""
msgstr "“最小 SDK”不能低于 %d,这是 Godot 库所需要的版本。"
msgid ""
+"\"Target SDK\" can only be overridden when \"Use Gradle Build\" is enabled."
+msgstr "“目标 SDK”只有在启用“使用 Gradle 构建”时才能覆盖。"
+
+msgid ""
"\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid."
msgstr "“目标 SDK”应当为有效的整数,但获得了无效的“%s”。"
@@ -13088,6 +13227,14 @@ msgstr ""
msgid "\"Target SDK\" version must be greater or equal to \"Min SDK\" version."
msgstr "“目标 SDK”版本必须大于等于“最小 SDK”版本。"
+msgid ""
+"The \"%s\" renderer is designed for Desktop devices, and is not suitable for "
+"Android devices."
+msgstr "“%s”渲染器专为桌面设备设计,不适用于 Android 设备。"
+
+msgid "\"Min SDK\" should be greater or equal to %d for the \"%s\" renderer."
+msgstr "“最小 SDK”必须大于等于 %d,才可使用“%s”渲染器。"
+
msgid "Code Signing"
msgstr "代码签名"
@@ -13150,6 +13297,13 @@ msgid "Unsupported export format!"
msgstr "不支持的导出格式!"
msgid ""
+"Trying to build from a gradle built template, but no version info for it "
+"exists. Please reinstall from the 'Project' menu."
+msgstr ""
+"尝试从自定义构建模板构建,但是它所使用的版本信息不存在。请从“项目”菜单中重新"
+"安装。"
+
+msgid ""
"Android build version mismatch: Template installed: %s, Godot version: %s. "
"Please reinstall Android build template from 'Project' menu."
msgstr ""
@@ -13916,6 +14070,11 @@ msgid ""
msgstr "NavigationAgent2D 只能在继承 Node2D 的父节点下使用。"
msgid ""
+"NavigationLink2D start position should be different than the end position to "
+"be useful."
+msgstr "NavigationLink2D 的开始位置应该与结束位置不同,才能发挥作用。"
+
+msgid ""
"The NavigationObstacle2D only serves to provide collision avoidance to a "
"Node2D object."
msgstr "NavigationObstacle2D 只能用于为 Node2D 对象避免碰撞。"
@@ -13992,11 +14151,16 @@ msgstr ""
"的图块一起进行 Y 排序。"
msgid ""
+"A TileMap layer is set as Y-sorted, but Y-sort is not enabled on the TileMap "
+"node itself."
+msgstr "TileMap 图层设置为 Y 排序,但 TileMap 节点本身未启用 Y 排序。"
+
+msgid ""
"Isometric TileSet will likely not look as intended without Y-sort enabled "
"for the TileMap and all of its layers."
msgstr ""
-"如果不对 TileMap 和它的所有层启用 Y-sort,Isometric TileSet 可能看起来不像预"
-"期的那样。"
+"如果不对 TileMap 和它的所有层启用 Y-sort,等轴 TileSet 可能看起来不像预期的那"
+"样。"
msgid ""
"External Skeleton3D node not set! Please set a path to an external "
@@ -14056,6 +14220,16 @@ msgstr ""
"请统一其缩放(即各轴均相同),修改多边形的顶点。"
msgid ""
+"CollisionShape3D only serves to provide a collision shape to a "
+"CollisionObject3D derived node.\n"
+"Please only use it as a child of Area3D, StaticBody3D, RigidBody3D, "
+"CharacterBody3D, etc. to give them a shape."
+msgstr ""
+"CollisionShape3D 节点只能为 CollisionObject3D 的派生节点提供碰撞形状。\n"
+"请将其用作 Area3D、StaticBody3D、RigidBody3D、CharacterBody3D 的子节点以提供"
+"形状。"
+
+msgid ""
"A shape must be provided for CollisionShape3D to function. Please create a "
"shape resource for it."
msgstr "CollisionShape3D 必须有形状才能工作。请先为其创建形状资源。"
@@ -14202,6 +14376,11 @@ msgid ""
msgstr "NavigationAgent3D 只能在继承 Node3D 的父节点下使用。"
msgid ""
+"NavigationLink3D start position should be different than the end position to "
+"be useful."
+msgstr "NavigationLink3D 的开始位置应该与结束位置不同,才能发挥作用。"
+
+msgid ""
"The NavigationObstacle3D only serves to provide collision avoidance to a "
"Node3D inheriting parent object."
msgstr "NavigationObstacle3D 只能用于为继承自 Node3D 的父级对象避免碰撞。"
@@ -14439,9 +14618,6 @@ msgstr ""
"颜色:#%s\n"
"鼠标左键:应用颜色"
-msgid "Pick a color from the editor window."
-msgstr "从编辑器窗口中选择一种颜色。"
-
msgid "Select a picker shape."
msgstr "选择选取器形状。"
@@ -14489,8 +14665,13 @@ msgstr "你无权访问此文件夹的内容。"
msgid "All Files"
msgstr "所有文件"
-msgid "Must use a valid extension."
-msgstr "必须使用有效的扩展名。"
+msgid ""
+"Please be aware that GraphEdit and GraphNode will undergo extensive "
+"refactoring in a future 4.x version involving compatibility-breaking API "
+"changes."
+msgstr ""
+"请注意,GraphEdit 和 GraphNode 将在未来的 4.x 版本中进行重构,会涉及大量破坏"
+"兼容性的 API 更改。"
msgid "Enable grid minimap."
msgstr "启用栅格小地图。"
@@ -14522,7 +14703,7 @@ msgid "Right-to-Left Mark (RLM)"
msgstr "从右至左标志(RLM)"
msgid "Start of Left-to-Right Embedding (LRE)"
-msgstr "从左到右嵌入 (LRE) 的开始"
+msgstr "开始从左至右嵌入(LRE)"
msgid "Start of Right-to-Left Embedding (RLE)"
msgstr "开始从右至左嵌入(RLE)"
@@ -14712,6 +14893,13 @@ msgstr "着色器的源资源无效。"
msgid "Invalid operator for that type."
msgstr "运算符对该类型无效。"
+msgid ""
+"`%s` precision mode is not available for `gl_compatibility` profile.\n"
+"Reverted to `None` precision."
+msgstr ""
+"`%s` 精度模式在 `gl_compatibility` 配置下不可用。\n"
+"已恢复为 `None` 精度。"
+
msgid "Default Color"
msgstr "默认颜色"
@@ -15100,6 +15288,9 @@ msgstr "不允许空结构体。"
msgid "Uniform instances are not yet implemented for '%s' shaders."
msgstr "“%s”着色器尚未实现 uniform 实例。"
+msgid "Uniform instances are not supported in gl_compatibility shaders."
+msgstr "gl_compatibility 着色器尚未支持 uniform 实例。"
+
msgid "Varyings cannot be used in '%s' shaders."
msgstr "Varying 不能在“%s”着色器中使用。"
@@ -15295,7 +15486,7 @@ msgid "Expected a comma in the macro argument list."
msgstr "希望在宏参数列表中添加一个逗号。"
msgid "Unmatched elif."
-msgstr "elif 未配对。"
+msgstr "不匹配的 elif。"
msgid "Missing condition."
msgstr "缺少条件。"
@@ -15304,10 +15495,16 @@ msgid "Condition evaluation error."
msgstr "条件评估错误。"
msgid "Unmatched else."
-msgstr "else 未配对。"
+msgstr "不匹配的 else。"
+
+msgid "Invalid else."
+msgstr "无效的 else。"
msgid "Unmatched endif."
-msgstr "endif 未配对。"
+msgstr "不匹配的 endif。"
+
+msgid "Invalid endif."
+msgstr "无效的 endif。"
msgid "Invalid ifdef."
msgstr "无效的 ifdef。"
@@ -15338,6 +15535,12 @@ msgstr "无效的 undef。"
msgid "Macro expansion limit exceeded."
msgstr "已超出宏展开限制。"
+msgid "Invalid macro argument list."
+msgstr "无效的宏参数列表。"
+
+msgid "Invalid macro argument."
+msgstr "无效的宏参数。"
+
msgid "Invalid macro argument count."
msgstr "无效的宏参数计数。"
diff --git a/editor/translations/editor/zh_TW.po b/editor/translations/editor/zh_TW.po
index 2b54cdefcc..45a7a15afe 100644
--- a/editor/translations/editor/zh_TW.po
+++ b/editor/translations/editor/zh_TW.po
@@ -30,7 +30,7 @@
# Chia-Hsiang Cheng <cche0109@student.monash.edu>, 2021, 2022.
# 曹恩逢 <nelson22768384@gmail.com>, 2022.
# Number18 <secretemail7730@gmail.com>, 2022.
-# Haoyu Qiu <timothyqiu32@gmail.com>, 2022.
+# Haoyu Qiu <timothyqiu32@gmail.com>, 2022, 2023.
# Otis Kao <momoslim@gmail.com>, 2022.
# YuChiang Chang <chiang.c.tw@gmail.com>, 2022.
# 菘菘 <rrt467778@gmail.com>, 2022.
@@ -45,8 +45,8 @@ msgstr ""
"Project-Id-Version: Godot Engine editor interface\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 10:44+0000\n"
-"Last-Translator: abcabcc <xmmandxpp@outlook.com>\n"
+"PO-Revision-Date: 2023-02-18 17:29+0000\n"
+"Last-Translator: Eric K <eric900601@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"godot-engine/godot/zh_Hant/>\n"
"Language: zh_TW\n"
@@ -57,7 +57,7 @@ msgstr ""
"X-Generator: Weblate 4.16-dev\n"
msgid "Unset"
-msgstr "未設置"
+msgstr "未設定"
msgid "Physical"
msgstr "物理"
@@ -83,23 +83,189 @@ msgstr "滑鼠滾輪向左"
msgid "Mouse Wheel Right"
msgstr "滑鼠滾輪向右"
+msgid "Mouse Thumb Button 1"
+msgstr "滑鼠側面鍵 1"
+
+msgid "Mouse Thumb Button 2"
+msgstr "滑鼠側面鍵 2"
+
msgid "Button"
msgstr "按鈕"
+msgid "Double Click"
+msgstr "雙擊"
+
+msgid "Mouse motion at position (%s) with velocity (%s)"
+msgstr "滑鼠於位置 (%s) 以 (%s) 的速度移動"
+
+msgid "Left Stick X-Axis, Joystick 0 X-Axis"
+msgstr "左類比搖桿 X軸、類比搖桿 0 X軸"
+
+msgid "Left Stick Y-Axis, Joystick 0 Y-Axis"
+msgstr "左類比搖桿 Y軸、類比搖桿 0 Y軸"
+
+msgid "Right Stick X-Axis, Joystick 1 X-Axis"
+msgstr "右類比搖桿 X軸、類比搖桿 1 X軸"
+
+msgid "Right Stick Y-Axis, Joystick 1 Y-Axis"
+msgstr "右類比搖桿 Y軸、類比搖桿 1 Y軸"
+
+msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT"
+msgstr "類比搖桿 2 X軸、左肩板機、Sony L2、Xbox LT"
+
+msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT"
+msgstr "類比搖桿 2 Y軸、右肩板機、Sony R2、Xbox RT"
+
+msgid "Joystick 3 X-Axis"
+msgstr "類比搖桿 3 X軸"
+
+msgid "Joystick 3 Y-Axis"
+msgstr "類比搖桿 3 Y軸"
+
+msgid "Joystick 4 X-Axis"
+msgstr "類比搖桿 4 X軸"
+
+msgid "Joystick 4 Y-Axis"
+msgstr "類比搖桿 4 Y軸"
+
+msgid "Unknown Joypad Axis"
+msgstr "未知的搖桿軸"
+
+msgid "Joypad Motion on Axis %d (%s) with Value %.2f"
+msgstr "搖桿於軸 %d (%s) 進行值為 %.2f 的運動"
+
+msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B"
+msgstr "下方動作鍵、Sony 叉鍵 (✕)、Xbox A、Nintendo B"
+
+msgid "Right Action, Sony Circle, Xbox B, Nintendo A"
+msgstr "右方動作鍵、Sony 圓圈 (○)、Xbox B、Nintendo A"
+
+msgid "Left Action, Sony Square, Xbox X, Nintendo Y"
+msgstr "左方動作鍵、Sony 方塊 (□)、Xbox X、Nintendo Y"
+
+msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X"
+msgstr "上方動作鍵、Sony 三角 (△)、Xbox Y、Nintendo X"
+
+msgid "Back, Sony Select, Xbox Back, Nintendo -"
+msgstr "返回、Sony Select、Xbox Back、Nintendo -"
+
+msgid "Guide, Sony PS, Xbox Home"
+msgstr "指南、Sony PS、Xbox Home"
+
+msgid "Start, Nintendo +"
+msgstr "開始、Nintendo +"
+
+msgid "Left Stick, Sony L3, Xbox L/LS"
+msgstr "左類比搖桿、Sony L3、Xbox L/LS"
+
+msgid "Right Stick, Sony R3, Xbox R/RS"
+msgstr "右類比搖桿、Sony R3、Xbox R/RS"
+
+msgid "Left Shoulder, Sony L1, Xbox LB"
+msgstr "左肩鍵、Sony L1、Xbox LB"
+
+msgid "Right Shoulder, Sony R1, Xbox RB"
+msgstr "右肩鍵、Sony R1、Xbox RB"
+
+msgid "D-pad Up"
+msgstr "方向鍵 (D-pad) 上"
+
+msgid "D-pad Down"
+msgstr "方向鍵 (D-pad) 下"
+
+msgid "D-pad Left"
+msgstr "方向鍵 (D-pad) 左"
+
+msgid "D-pad Right"
+msgstr "方向鍵 (D-pad) 右"
+
+msgid "Xbox Share, PS5 Microphone, Nintendo Capture"
+msgstr "Xbox Share、PS5 麥克風、Nintendo 截圖"
+
+msgid "Xbox Paddle 1"
+msgstr "Xbox 撥片 1"
+
+msgid "Xbox Paddle 2"
+msgstr "Xbox 撥片 2"
+
+msgid "Xbox Paddle 3"
+msgstr "Xbox 撥片 3"
+
+msgid "Xbox Paddle 4"
+msgstr "Xbox 撥片 4"
+
+msgid "PS4/5 Touchpad"
+msgstr "PS4/5 觸控板"
+
+msgid "Joypad Button %d"
+msgstr "搖桿按鈕 %d"
+
+msgid "Pressure:"
+msgstr "感壓:"
+
+msgid "touched"
+msgstr "按下"
+
+msgid "released"
+msgstr "放開"
+
+msgid "Screen %s at (%s) with %s touch points"
+msgstr "螢幕 %s 於 (%s) 接收到 %s 個觸控點"
+
+msgid ""
+"Screen dragged with %s touch points at position (%s) with velocity of (%s)"
+msgstr "螢幕上有 %s 個觸控點於位置 (%s) 以速率 (%s) 拖動"
+
+msgid "Magnify Gesture at (%s) with factor %s"
+msgstr "於位置 (%s) 以倍率 %s 使用放大手勢"
+
+msgid "Pan Gesture at (%s) with delta (%s)"
+msgstr "於位置 (%s) 以加速度 (%s) 使用平移手勢"
+
+msgid "MIDI Input on Channel=%s Message=%s"
+msgstr "輸入MIDI,頻道=%s、訊息=%s"
+
+msgid "Input Event with Shortcut=%s"
+msgstr "輸入事件,快捷鍵=%s"
+
+msgid "Accept"
+msgstr "接受"
+
msgid "Select"
msgstr "選擇"
msgid "Cancel"
msgstr "取消"
+msgid "Focus Next"
+msgstr "聚焦下一個"
+
+msgid "Focus Prev"
+msgstr "聚焦上一個"
+
+msgid "Left"
+msgstr "左"
+
+msgid "Right"
+msgstr "右"
+
msgid "Up"
-msgstr "上行"
+msgstr "上"
msgid "Down"
-msgstr "下行"
+msgstr "下"
+
+msgid "Page Up"
+msgstr "畫面上捲"
+
+msgid "Page Down"
+msgstr "畫面下捲"
+
+msgid "Home"
+msgstr "頁首"
msgid "End"
-msgstr "結束"
+msgstr "頁尾"
msgid "Cut"
msgstr "剪下"
@@ -114,26 +280,125 @@ msgid "Undo"
msgstr "復原"
msgid "Redo"
-msgstr "取消復原"
+msgstr "重做"
+
+msgid "Completion Query"
+msgstr "補全請求"
+
+msgid "New Line"
+msgstr "換行"
+
+msgid "New Blank Line"
+msgstr "新增空行"
+
+msgid "New Line Above"
+msgstr "向上換行"
msgid "Indent"
msgstr "縮排"
+msgid "Dedent"
+msgstr "取消縮排"
+
+msgid "Backspace"
+msgstr "退格"
+
+msgid "Backspace Word"
+msgstr "退格一個文字"
+
+msgid "Backspace all to Left"
+msgstr "退格至最左側"
+
msgid "Delete"
msgstr "刪除"
+msgid "Delete Word"
+msgstr "刪除文字"
+
+msgid "Delete all to Right"
+msgstr "刪除右側文字"
+
+msgid "Caret Left"
+msgstr "輸入指標左移"
+
+msgid "Caret Word Left"
+msgstr "輸入指標左移一個字"
+
+msgid "Caret Right"
+msgstr "輸入指標右移"
+
+msgid "Caret Word Right"
+msgstr "輸入指標右移一個字"
+
+msgid "Caret Up"
+msgstr "輸入指標上移"
+
+msgid "Caret Down"
+msgstr "輸入指標下移"
+
+msgid "Caret Line Start"
+msgstr "輸入指標移至最左側"
+
+msgid "Caret Line End"
+msgstr "輸入指標移至最右側"
+
+msgid "Caret Page Up"
+msgstr "輸入指標移至上頁"
+
+msgid "Caret Page Down"
+msgstr "輸入指標移至下頁"
+
+msgid "Caret Document Start"
+msgstr "輸入指標移至文件開頭"
+
+msgid "Caret Document End"
+msgstr "輸入指標移至文件結尾"
+
+msgid "Caret Add Below"
+msgstr "鄉下添加光標"
+
+msgid "Caret Add Above"
+msgstr "鄉上添加光標"
+
+msgid "Scroll Up"
+msgstr "向上滾動"
+
+msgid "Scroll Down"
+msgstr "向下滾動"
+
msgid "Select All"
msgstr "全部選擇"
+msgid "Select Word Under Caret"
+msgstr "選擇光標下的單詞"
+
+msgid "Add Selection for Next Occurrence"
+msgstr "將下一個匹配項添加到選區"
+
+msgid "Clear Carets and Selection"
+msgstr "清除光標和選區"
+
+msgid "Toggle Insert Mode"
+msgstr "開關插入模式"
+
msgid "Duplicate Nodes"
msgstr "重複節點"
msgid "Delete Nodes"
msgstr "刪除節點"
+msgid "Go Up One Level"
+msgstr "向上一級"
+
msgid "Refresh"
msgstr "重新整理"
+msgid "Show Hidden"
+msgstr "顯示隱藏的文件"
+
+msgid "Swap Input Direction"
+msgstr "交換輸入方向"
+
msgid "Invalid input %d (not passed) in expression"
msgstr "運算式的輸入%d 無效(未傳遞)"
@@ -155,6 +420,12 @@ msgstr "用了無效的引數來建置「%s」"
msgid "On call to '%s':"
msgstr "呼叫「%s」時:"
+msgid "Built-in script"
+msgstr "內建腳本"
+
+msgid "Built-in"
+msgstr "內建"
+
msgid "B"
msgstr "B"
@@ -176,6 +447,13 @@ msgstr "PiB"
msgid "EiB"
msgstr "EiB"
+msgid "Example: %s"
+msgstr "示例: %s"
+
+msgid "%d item"
+msgid_plural "%d items"
+msgstr[0] "%d 個項目"
+
msgid ""
"Invalid action name. It cannot be empty nor contain '/', ':', '=', '\\' or "
"'\"'"
@@ -184,12 +462,42 @@ msgstr "無效的操作名稱。名稱不可留空或包含 “/”, “:”,
msgid "An action with the name '%s' already exists."
msgstr "已有名稱「%s」的操作。"
+msgid "Cannot Revert - Action is same as initial"
+msgstr "無法還原 - 動作與初始動作相同"
+
+msgid "Revert Action"
+msgstr "還原動作"
+
msgid "Add Event"
msgstr "新增事件"
+msgid "Remove Action"
+msgstr "移除動作"
+
+msgid "Cannot Remove Action"
+msgstr "無法移除動作"
+
+msgid "Edit Event"
+msgstr "編輯事件"
+
+msgid "Remove Event"
+msgstr "移除事件"
+
+msgid "Filter by name..."
+msgstr "按名稱篩選..."
+
+msgid "Clear All"
+msgstr "全部清除"
+
+msgid "Add New Action"
+msgstr "新增動作"
+
msgid "Add"
msgstr "新增"
+msgid "Show Built-in Actions"
+msgstr "顯示内置動作"
+
msgid "Action"
msgstr "操作"
@@ -202,6 +510,9 @@ msgstr "時間:"
msgid "Value:"
msgstr "數值:"
+msgid "Update Selected Key Handles"
+msgstr "更新所選按鍵控制點"
+
msgid "Insert Key Here"
msgstr "在此插入關鍵畫格"
@@ -211,12 +522,30 @@ msgstr "重複所選關鍵畫格"
msgid "Delete Selected Key(s)"
msgstr "刪除所選關鍵畫格"
+msgid "Make Handles Free"
+msgstr "改爲自由控制柄"
+
+msgid "Make Handles Linear"
+msgstr "改爲綫性控制柄"
+
+msgid "Make Handles Balanced"
+msgstr "改爲平衡控制柄"
+
+msgid "Make Handles Mirrored"
+msgstr "改爲鏡像控制柄"
+
+msgid "Make Handles Balanced (Auto Tangent)"
+msgstr "改爲平衡控制柄 (自動切綫)"
+
msgid "Add Bezier Point"
msgstr "新增貝茲曲線控制點"
msgid "Move Bezier Points"
msgstr "移動貝茲曲線控制點"
+msgid "Animation Change %s"
+msgstr "修改動畫 %s"
+
msgid "Change Animation Length"
msgstr "更改動畫長度"
@@ -262,6 +591,9 @@ msgstr "調整軌道路徑"
msgid "Toggle this track on/off."
msgstr "打開/關閉此軌道。"
+msgid "Use Blend"
+msgstr "使用混合"
+
msgid "Update Mode (How this property is set)"
msgstr "更新模式(屬性設定方法)"
@@ -514,12 +846,6 @@ msgstr "使用貝茲曲線"
msgid "Create RESET Track(s)"
msgstr "貼上關鍵畫格"
-msgid "Anim. Optimizer"
-msgstr "最佳化動畫工具"
-
-msgid "Max. Angular Error:"
-msgstr "最大角度誤差:"
-
msgid "Optimize"
msgstr "最佳化"
@@ -636,6 +962,9 @@ msgstr "新增額外呼叫引數:"
msgid "Extra Call Arguments:"
msgstr "額外呼叫引數:"
+msgid "Unbind Signal Arguments:"
+msgstr "解除綁定訊號引數"
+
msgid "Receiver Method:"
msgstr "接收器方法:"
@@ -682,6 +1011,9 @@ msgstr "斷開訊號連接"
msgid "Connect a Signal to a Method"
msgstr "連接訊號至方法"
+msgid "Edit Connection: '%s'"
+msgstr "編輯連結: '%s'"
+
msgid "Are you sure you want to remove all connections from the \"%s\" signal?"
msgstr "確定要删除所有來自訊號「%s」的連接嗎?"
@@ -828,9 +1160,18 @@ msgstr "錯誤:"
msgid "%s Error"
msgstr "%s 錯誤"
+msgid "%s Error:"
+msgstr "%s 錯誤:"
+
msgid "Stack Trace"
msgstr "堆疊回溯"
+msgid "Stack Trace:"
+msgstr "堆疊追蹤:"
+
+msgid "Delete All Breakpoints in:"
+msgstr "移除所有中斷點:"
+
msgid "Copy Error"
msgstr "複製錯誤"
@@ -1321,9 +1662,15 @@ msgstr "新增"
msgid "Save"
msgstr "儲存"
+msgid "Profile:"
+msgstr "設定:"
+
msgid "Reset to Defaults"
msgstr "重設為預設"
+msgid "Please Confirm:"
+msgstr "請確認:"
+
msgid "Export Profile"
msgstr "匯出設定檔"
@@ -1504,9 +1851,6 @@ msgstr "開啟"
msgid "Select Current Folder"
msgstr "選擇目前資料夾"
-msgid "File exists, overwrite?"
-msgstr "檔案已存在,是否覆蓋?"
-
msgid "Select This Folder"
msgstr "選擇此資料夾"
@@ -1620,6 +1964,9 @@ msgstr "由於有多個匯入器對檔案 %s 提供了不同的型別,已中
msgid "(Re)Importing Assets"
msgstr "(重新)匯入素材"
+msgid "Error codes returned:"
+msgstr "傳回錯誤碼:"
+
msgid "Top"
msgstr "頂端"
@@ -1774,9 +2121,15 @@ msgstr "已解除釘選%s"
msgid "Copy Property Path"
msgstr "複製屬性路徑"
+msgid "Select existing layout:"
+msgstr "選擇既存的畫面佈局:"
+
msgid "Changed Locale Filter Mode"
msgstr "更改地區設定篩選模式"
+msgid "[Default]"
+msgstr "[預設]"
+
msgid "Show All Locales"
msgstr "顯示所有地區"
@@ -1789,6 +2142,16 @@ msgstr "編輯篩選條件"
msgid "Language:"
msgstr "語言:"
+msgctxt "Locale"
+msgid "Script:"
+msgstr "文字:"
+
+msgid "Country:"
+msgstr "國家:"
+
+msgid "Language"
+msgstr "語言"
+
msgid "Variant"
msgstr "變體"
@@ -1971,12 +2334,18 @@ msgstr "當滑鼠按鍵被按下時無法復原。"
msgid "Nothing to undo."
msgstr "無變更以復原。"
+msgid "Remote Undo: %s"
+msgstr "遠端復原: %s"
+
msgid "Can't redo while mouse buttons are pressed."
msgstr "當滑鼠按鍵按下時無法復原。"
msgid "Nothing to redo."
msgstr "無變更以復原。"
+msgid "Remote Redo: %s"
+msgstr "遠端重做: %s"
+
msgid "Can't reload a scene that was never saved."
msgstr "無法重新載入從未儲存過的場景。"
@@ -2511,6 +2880,9 @@ msgstr "在 _run() 方法中填寫邏輯。"
msgid "There is an edited scene already."
msgstr "已有一個已編輯的場景。"
+msgid "Edit Built-in Action"
+msgstr "編輯內建動作"
+
msgid "Common"
msgstr "常見"
@@ -2529,6 +2901,9 @@ msgstr "快捷鍵"
msgid "Binding"
msgstr "綁定"
+msgid "Joypad Axis %d %s (%s)"
+msgstr "搖桿軸 %d %s (%s)"
+
msgid "All Devices"
msgstr "所有裝置"
@@ -2568,6 +2943,9 @@ msgstr "無法建立「%s」檔案。"
msgid "Failed to export project files."
msgstr "無法匯出專案檔。"
+msgid "Can't open encrypted file to write."
+msgstr "無法開啟加密檔案並寫入。"
+
msgid "Can't open file to read from path \"%s\"."
msgstr "無法打開位於「%s」的檔案用於讀取。"
@@ -3134,6 +3512,18 @@ msgstr "重新匯入"
msgid "Offset:"
msgstr "偏移:"
+msgid "Loop:"
+msgstr "循環:"
+
+msgid "Beat Count:"
+msgstr "節拍數:"
+
+msgid "Music Playback:"
+msgstr "音樂播放:"
+
+msgid "Configuration:"
+msgstr "設定:"
+
msgid "Importing Scene..."
msgstr "正在匯入場景..."
@@ -3168,29 +3558,65 @@ msgstr "2D"
msgid "3D"
msgstr "3D"
+msgid "Select folder to extract material resources"
+msgstr "選擇資料夾以擷取材質資源"
+
+msgid "Set paths to save animations as resource files on Reimport"
+msgstr "設定路徑將動畫另存為可導入的資源檔案"
+
+msgid "Can't make material external to file, write error:"
+msgstr "無法另存材質為外部檔案,寫入錯誤:"
+
+msgid "Actions..."
+msgstr "動作..."
+
+msgid "Extract Materials"
+msgstr "擷取材質"
+
+msgid "Set Animation Save Paths"
+msgstr "設定動畫儲存路徑"
+
+msgid "Set Mesh Save Paths"
+msgstr "設定網格儲存路徑"
+
msgid "Meshes"
msgstr "網格"
msgid "Materials"
msgstr "材質"
+msgid "Save Extension:"
+msgstr "儲存副檔名:"
+
+msgid "Text: *.tres"
+msgstr "文本: *.tres"
+
+msgid "Binary: *.res"
+msgstr "二進位檔案: *.res"
+
+msgid "Text Resource"
+msgstr "文本資源"
+
+msgid "Binary Resource"
+msgstr "二進位檔案資源"
+
msgid "Select Importer"
-msgstr "選擇匯入程式"
+msgstr "選擇匯入器"
msgid "Importer:"
-msgstr "匯入程式:"
+msgstr "匯入器:"
msgid "Keep File (No Import)"
-msgstr "保留檔案(不匯入)"
+msgstr "保留檔案 (不匯入)"
msgid "%d Files"
msgstr "%d 個檔案"
msgid "Set as Default for '%s'"
-msgstr "設為「%s」的預設"
+msgstr "設為「%s」的預設值"
msgid "Clear Default for '%s'"
-msgstr "清除「%s」的預設"
+msgstr "清除「%s」的預設值"
msgid ""
"You have pending changes that haven't been applied yet. Click Reimport to "
@@ -3389,7 +3815,7 @@ msgid "Add Animation"
msgstr "新增動畫"
msgid "Add %s"
-msgstr "新增 %"
+msgstr "新增 %s"
msgid "Load..."
msgstr "載入..."
@@ -7195,9 +7621,6 @@ msgstr "修改操作盲區"
msgid "Erase Input Action"
msgstr "清除輸入操作"
-msgid "Rename Input Action Event"
-msgstr "重新命名輸入操作事件"
-
msgid "Project Settings (project.godot)"
msgstr "專案設定 (project.godot)"
@@ -8360,9 +8783,6 @@ msgstr "連接至 AnimationPlayer 的路徑並未連接至 AnimationPlayer 節
msgid "The AnimationPlayer root node is not a valid node."
msgstr "AnimationPlayer 的根節點並非有效節點。"
-msgid "Pick a color from the editor window."
-msgstr "請自編輯器視窗選擇一個顏色。"
-
msgid "Switch between hexadecimal and code values."
msgstr "在 16 進位與代碼值之間切換。"
@@ -8391,9 +8811,6 @@ msgstr "警告!"
msgid "Please Confirm..."
msgstr "請確認..."
-msgid "Must use a valid extension."
-msgstr "必須使用有效的副檔名。"
-
msgid "Enable grid minimap."
msgstr "啟用網格迷你地圖。"
@@ -8465,3 +8882,171 @@ msgstr "指派至均勻。"
msgid "Constants cannot be modified."
msgstr "不可修改常數。"
+
+msgid "Invalid constant type (samplers are not allowed)."
+msgstr "無效的常數型別 (不可使用取樣器)。"
+
+msgid "Invalid function type (samplers are not allowed)."
+msgstr "無效的函式型別 (不可使用取樣器)。"
+
+msgid "Expected a function name after type."
+msgstr "型別後應為函式名稱。"
+
+msgid ""
+"The '%s' qualifier cannot be used within a function parameter declared with "
+"'%s'."
+msgstr "修飾字「%s」不應被用作宣告為「%s」的函式參數。"
+
+msgid "Expected a valid data type for argument."
+msgstr "應以具體的資料型別作為引數。"
+
+msgid "Opaque types cannot be output parameters."
+msgstr "Opaque 型別不應被用作輸出參數。"
+
+msgid "Void type not allowed as argument."
+msgstr "Void 型別不應被用作引數。"
+
+msgid "Expected an identifier for argument name."
+msgstr "應使用辨識字作為引數名稱。"
+
+msgid "Function '%s' expects no arguments."
+msgstr "函式「%s」不應該存在引數。"
+
+msgid "Function '%s' must be of '%s' return type."
+msgstr "函式「%s」的回傳值必須為「%s」型別。"
+
+msgid "Expected a '{' to begin function."
+msgstr "在函式開頭應添加「{」。"
+
+msgid "Expected at least one '%s' statement in a non-void function."
+msgstr "在非 void 函式中應至少有一個「%s」陳述句。"
+
+msgid "uniform buffer"
+msgstr "uniform 緩衝"
+
+msgid "Expected a '%s'."
+msgstr "應添加「%s」。"
+
+msgid "Expected a '%s' or '%s'."
+msgstr "應添加「%s」或「%s」。"
+
+msgid "Expected a '%s' after '%s'."
+msgstr "應添加「%s」於「%s」後方。"
+
+msgid "Redefinition of '%s'."
+msgstr "重複定義了「%s」。"
+
+msgid "Unknown directive."
+msgstr "未知的指令。"
+
+msgid "Invalid macro name."
+msgstr "無效的巨集名稱。"
+
+msgid "Macro redefinition."
+msgstr "巨集重定義。"
+
+msgid "Invalid argument name."
+msgstr "無效的引數名稱。"
+
+msgid "Expected a comma in the macro argument list."
+msgstr "巨集引數列表中應存在一個逗號。"
+
+msgid "Unmatched elif."
+msgstr "無法配對的 elif。"
+
+msgid "Missing condition."
+msgstr "找不到條件。"
+
+msgid "Condition evaluation error."
+msgstr "條件評估錯誤。"
+
+msgid "Unmatched else."
+msgstr "無法配對的 else。"
+
+msgid "Invalid else."
+msgstr "無效的 else。"
+
+msgid "Unmatched endif."
+msgstr "無法配對的 endif。"
+
+msgid "Invalid endif."
+msgstr "無效的 endif。"
+
+msgid "Invalid ifdef."
+msgstr "無效的 ifndef。"
+
+msgid "Invalid ifndef."
+msgstr "無效的 ifndef。"
+
+msgid ""
+"Shader include load failed. Does the shader include exist? Is there a cyclic "
+"dependency?"
+msgstr "著色器的標頭檔讀取失敗。請檢查該標頭檔是否存在,或者是否存在循環依賴?"
+
+msgid "Shader include resource type is wrong."
+msgstr "著色器標頭檔的資源型別不正確。"
+
+msgid "Cyclic include found."
+msgstr "發現了循環 include。"
+
+msgid "Shader max include depth exceeded."
+msgstr "超出著色器的最大包含深度。"
+
+msgid "Invalid pragma directive."
+msgstr "無效的 pragma 指令。"
+
+msgid "Invalid undef."
+msgstr "無效的 undef。"
+
+msgid "Macro expansion limit exceeded."
+msgstr "超出巨集展開的限制。"
+
+msgid "Invalid macro argument list."
+msgstr "無效的巨集引數列表。"
+
+msgid "Invalid macro argument."
+msgstr "無效的巨集引數。"
+
+msgid "Invalid macro argument count."
+msgstr "無效的巨集引數計數。"
+
+msgid "Can't find matching branch directive."
+msgstr "找不到對應的分支指令。"
+
+msgid "Invalid symbols placed before directive."
+msgstr "指令前被放置了無效的符號。"
+
+msgid "Unmatched conditional statement."
+msgstr "條件式沒有完成配對。"
+
+msgid ""
+"Direct floating-point comparison (this may not evaluate to `true` as you "
+"expect). Instead, use `abs(a - b) < 0.0001` for an approximate but "
+"predictable comparison."
+msgstr ""
+"直接進行浮點數的比較(可能不會像你期望的得到「true」)。請改用「abs(a - b) < "
+"0.0001」進行近似但可預測的比較。"
+
+msgid "The const '%s' is declared but never used."
+msgstr "常數「%s」已被宣告,但從未使用。"
+
+msgid "The function '%s' is declared but never used."
+msgstr "函式「%s」已被宣告,但從未使用。"
+
+msgid "The struct '%s' is declared but never used."
+msgstr "結構「%s」已被宣告,但從未使用。"
+
+msgid "The uniform '%s' is declared but never used."
+msgstr "Uniform「%s」已被宣告,但從未使用。"
+
+msgid "The varying '%s' is declared but never used."
+msgstr "Varying「%s」已被宣告,但從未使用。"
+
+msgid "The local variable '%s' is declared but never used."
+msgstr "區域變數「%s」已被宣告,但從未使用。"
+
+msgid ""
+"The total size of the %s for this shader on this device has been exceeded "
+"(%d/%d). The shader may not work correctly."
+msgstr ""
+"這個著色器已經超出此裝置的 %s 的總大小 (%d/%d)。該著色器可能無法正常運作。"
diff --git a/editor/translations/properties/de.po b/editor/translations/properties/de.po
index f66608bcde..b0afd644d8 100644
--- a/editor/translations/properties/de.po
+++ b/editor/translations/properties/de.po
@@ -93,8 +93,8 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-09 01:12+0000\n"
-"Last-Translator: co1inco <colin.meihoefer@gmx.de>\n"
+"PO-Revision-Date: 2023-02-20 00:45+0000\n"
+"Last-Translator: So Wieso <sowieso@dukun.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/de/>\n"
"Language: de\n"
@@ -113,6 +113,9 @@ msgstr "Konfiguration"
msgid "Name"
msgstr "Name"
+msgid "Name Localized"
+msgstr "Name lokalisiert"
+
msgid "Description"
msgstr "Beschreibung"
@@ -149,18 +152,45 @@ msgstr "Fenster"
msgid "Size"
msgstr "Größe"
+msgid "Viewport Width"
+msgstr "Ansichtsfensterbreite"
+
+msgid "Viewport Height"
+msgstr "Ansichtsfensterhöhe"
+
msgid "Mode"
msgstr "Modus"
+msgid "Initial Position Type"
+msgstr "Art der Ausgangsposition"
+
+msgid "Initial Position"
+msgstr "Ausgangsposition"
+
+msgid "Initial Screen"
+msgstr "Anfangsbildschirm"
+
msgid "Resizable"
msgstr "Verstellbar"
msgid "Borderless"
msgstr "Rahmenlos"
+msgid "Always on Top"
+msgstr "Immer im Vordergrund"
+
msgid "Transparent"
msgstr "Transparent"
+msgid "No Focus"
+msgstr "Kein Fokus"
+
+msgid "Window Width Override"
+msgstr "Fensterbreite überschreiben"
+
+msgid "Window Height Override"
+msgstr "Fensterhöhe überschreiben"
+
msgid "Energy Saving"
msgstr "Energiesparen"
@@ -170,18 +200,48 @@ msgstr "Bildschirm an lassen"
msgid "Audio"
msgstr "Audio"
+msgid "Buses"
+msgstr "Busse"
+
+msgid "General"
+msgstr "Allgemein"
+
+msgid "2D Panning Strength"
+msgstr "Stärke der 2D-Verschiebung"
+
+msgid "3D Panning Strength"
+msgstr "Stärke der 3D-Verschiebung"
+
msgid "Editor"
msgstr "Editor"
msgid "Main Run Args"
msgstr "Laufzeitargumente für Main"
+msgid "Script"
+msgstr "Skript"
+
+msgid "Search in File Extensions"
+msgstr "In Dateierweiterungen suchen"
+
+msgid "Templates Search Path"
+msgstr "Vorlagen-Suchpfad"
+
+msgid "Naming"
+msgstr "Namensgebung"
+
+msgid "Default Signal Callback Name"
+msgstr "Standardmäßiger Name der Signalrückruffunktion"
+
msgid "Physics"
msgstr "Physik"
msgid "2D"
msgstr "2D"
+msgid "Run on Separate Thread"
+msgstr "In separatem Thread ausführen"
+
msgid "3D"
msgstr "3D"
@@ -194,6 +254,27 @@ msgstr "Einstellungen"
msgid "Compression"
msgstr "Kompression"
+msgid "Formats"
+msgstr "Formate"
+
+msgid "Zstd"
+msgstr "Zstd"
+
+msgid "Long Distance Matching"
+msgstr "Fernabgleich"
+
+msgid "Compression Level"
+msgstr "Komprimierungsgrad"
+
+msgid "Window Log Size"
+msgstr "Fensterprotokollgröße"
+
+msgid "Zlib"
+msgstr "Zlib"
+
+msgid "Gzip"
+msgstr "Gzip"
+
msgid "Crash Handler"
msgstr "Absturzbehandlung"
@@ -206,12 +287,30 @@ msgstr "Am Rendern"
msgid "Occlusion Culling"
msgstr "Occlusion-Culling"
+msgid "Memory"
+msgstr "Speicher"
+
msgid "Limits"
msgstr "Grenzen"
+msgid "Multithreaded Server"
+msgstr "Multithreading-Server"
+
+msgid "Internationalization"
+msgstr "Internationalisierung"
+
msgid "GUI"
msgstr "GUI"
+msgid "Rendering Device"
+msgstr "Rendering-Gerät"
+
+msgid "Staging Buffer"
+msgstr "Bereitstellungspuffer"
+
+msgid "Block Size (KB)"
+msgstr "Blockgröße (KB)"
+
msgid "Max Size (MB)"
msgstr "Maximale Größe (MB)"
@@ -242,6 +341,18 @@ msgstr "Kumulierte Eingabe verwenden"
msgid "Device"
msgstr "Gerät"
+msgid "Alt Pressed"
+msgstr "Alt gedrückt"
+
+msgid "Shift Pressed"
+msgstr "Umschalt gedrückt"
+
+msgid "Ctrl Pressed"
+msgstr "Strg gedrückt"
+
+msgid "Meta Pressed"
+msgstr "Meta gedrückt"
+
msgid "Pressed"
msgstr "Gedrückt"
@@ -293,6 +404,9 @@ msgstr "Achsenwert"
msgid "Index"
msgstr "Index"
+msgid "Double Tap"
+msgstr "Doppeltippen"
+
msgid "Action"
msgstr "Aktion"
@@ -320,6 +434,9 @@ msgstr "Controllerwert"
msgid "Shortcut"
msgstr "Tastenkürzel"
+msgid "Events"
+msgstr "Ereignisse"
+
msgid "Big Endian"
msgstr "Big-Endian"
@@ -327,14 +444,11 @@ msgid "Network"
msgstr "Netzwerk"
msgid "Page Size"
-msgstr "Page-Größe"
+msgstr "Seitengröße"
msgid "Blocking Mode Enabled"
msgstr "Blockierender Modus aktiviert"
-msgid "Connection"
-msgstr "Verbindung"
-
msgid "Read Chunk Size"
msgstr "Lese-Chunk-Größe"
@@ -353,9 +467,6 @@ msgstr "Maximalgröße des Eingabepuffers"
msgid "Output Buffer Max Size"
msgstr "Maximalgröße des Ausgabepuffers"
-msgid "Stream Peer"
-msgstr "Streampartner"
-
msgid "Resource"
msgstr "Ressource"
@@ -380,8 +491,8 @@ msgstr "Seed"
msgid "State"
msgstr "Status"
-msgid "Source Code"
-msgstr "Quellcode"
+msgid "Max Size (KB)"
+msgstr "Max. Größe (KB)"
msgid "Locale"
msgstr "Gebietsschema"
@@ -464,15 +575,6 @@ msgstr "Zugriff"
msgid "Display Mode"
msgstr "Darstellungsmodus"
-msgid "Current Dir"
-msgstr "Aktuelles Verzeichnis"
-
-msgid "Current File"
-msgstr "Aktuelle Datei"
-
-msgid "Current Path"
-msgstr "Aktueller Pfad"
-
msgid "Show Hidden Files"
msgstr "Versteckte Dateien anzeigen"
@@ -554,18 +656,12 @@ msgstr "Ablenkungsfreier Modus"
msgid "Base Type"
msgstr "Basistyp"
-msgid "Edited Resource"
-msgstr "Bearbeitete Ressource"
-
msgid "Editable"
msgstr "Bearbeitbar"
msgid "Toggle Mode"
msgstr "Modus umschalten"
-msgid "Script Owner"
-msgstr "Skripteigentümer"
-
msgid "Editor Language"
msgstr "Editorsprache"
@@ -609,7 +705,7 @@ msgid "Mouse Extra Buttons Navigate History"
msgstr "Extramaustasten blättern durch Verlauf"
msgid "Theme"
-msgstr "Theme"
+msgstr "Motiv, Design, oder anscheinend Thema¯\\_(ツ)_/¯"
msgid "Preset"
msgstr "Vorlage"
@@ -1232,6 +1328,9 @@ msgstr "Überabtastung"
msgid "Compress"
msgstr "Komprimieren"
+msgid "Language"
+msgstr "Sprache"
+
msgid "Outline Size"
msgstr "Umrissgröße"
@@ -1265,9 +1364,6 @@ msgstr "From erstellen"
msgid "Delimiter"
msgstr "Trennzeichen"
-msgid "Preload"
-msgstr "Vorladen"
-
msgid "Columns"
msgstr "Spalten"
@@ -1449,7 +1545,7 @@ msgid "Available URLs"
msgstr "Verfügbare URLs"
msgid "Unset"
-msgstr "Deaktiviert"
+msgstr "Nicht gesetzt"
msgid "Error"
msgstr "Fehler"
@@ -1520,6 +1616,15 @@ msgstr "Warnungen"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "Textur"
+
+msgid "Separation"
+msgstr "Trennung"
+
+msgid "Speed"
+msgstr "Geschwindigkeit"
+
msgid "Version Control"
msgstr "Versionsverwaltung"
@@ -1598,11 +1703,8 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "Home-Anzeiger verbergen"
-msgid "Input Devices"
-msgstr "Eingabegeräte"
-
-msgid "Pointing"
-msgstr "Zeigend"
+msgid "XR"
+msgstr "XR"
msgid "Boot Splash"
msgstr "Startladebild"
@@ -1610,6 +1712,9 @@ msgstr "Startladebild"
msgid "BG Color"
msgstr "Hintergrundfarbe"
+msgid "Input Devices"
+msgstr "Eingabegeräte"
+
msgid "Environment"
msgstr "Umgebung"
@@ -1637,6 +1742,9 @@ msgstr "Puffern"
msgid "Agile Event Flushing"
msgstr "Bewegliches Ereignis-Flushing"
+msgid "Pointing"
+msgstr "Zeigend"
+
msgid "Emulate Touch From Mouse"
msgstr "Druckberührung mit Maus emulieren"
@@ -1988,9 +2096,6 @@ msgstr "Skin-Wurzel"
msgid "Joints Original"
msgstr "Gelenkoriginal"
-msgid "Inverse Binds"
-msgstr "Bindungen invertieren"
-
msgid "Non Joints"
msgstr "Nicht-Gelenke"
@@ -2855,9 +2960,6 @@ msgstr "Kopiermodus"
msgid "Anchor Mode"
msgstr "Anker Modus"
-msgid "Custom Viewport"
-msgstr "Eigenes Ansichtsfenster"
-
msgid "Left"
msgstr "Links"
@@ -2873,9 +2975,6 @@ msgstr "Unten"
msgid "Smoothed"
msgstr "Geglättet"
-msgid "Speed"
-msgstr "Geschwindigkeit"
-
msgid "Horizontal Enabled"
msgstr "Horizontal aktiviert"
@@ -2957,9 +3056,6 @@ msgstr "Lokale Koordination"
msgid "Draw Order"
msgstr "Zeichenreihenfolge"
-msgid "Texture"
-msgstr "Textur"
-
msgid "Emission Shape"
msgstr "Emissionsform"
@@ -3200,24 +3296,9 @@ msgstr "Reisekosten"
msgid "Estimate Radius"
msgstr "Radius schätzen"
-msgid "Rotation Degrees"
-msgstr "Rotationswinkel"
-
msgid "Skew"
msgstr "Neigung"
-msgid "Global Rotation"
-msgstr "Globale Rotation"
-
-msgid "Global Rotation Degrees"
-msgstr "Globaler Rotationswinkel"
-
-msgid "Global Scale"
-msgstr "Globale Skalierung"
-
-msgid "Global Transform"
-msgstr "Globales Transform"
-
msgid "Scroll"
msgstr "Rollen"
@@ -3998,6 +4079,9 @@ msgstr "Eigenes AABB"
msgid "Lightmap Scale"
msgstr "Lightmap-Skalierung"
+msgid "Visibility Range"
+msgstr "Sichtbarkeitsbereich"
+
msgid "End"
msgstr "Ende"
@@ -4070,15 +4154,6 @@ msgstr "Wurzel-Node"
msgid "Current Animation"
msgstr "Aktuelle Animation"
-msgid "Assigned Animation"
-msgstr "Zugewiesene Animation"
-
-msgid "Current Animation Length"
-msgstr "Aktuelle Animationslänge"
-
-msgid "Current Animation Position"
-msgstr "Aktuelle Animationsposition"
-
msgid "Playback Options"
msgstr "Abspieloptionen"
@@ -4142,6 +4217,9 @@ msgstr "Symbol vergrößern"
msgid "Use Top Left"
msgstr "Oben-Links verwenden"
+msgid "Indentation"
+msgstr "Einrückung"
+
msgid "Edit Alpha"
msgstr "Alpha bearbeiten"
@@ -4493,9 +4571,6 @@ msgstr "Drop-Modus-Optionen"
msgid "Audio Track"
msgstr "Audiospur"
-msgid "Volume"
-msgstr "Volumen"
-
msgid "Paused"
msgstr "Pausiert"
@@ -4505,9 +4580,6 @@ msgstr "Ausdehnen"
msgid "Buffering Msec"
msgstr "Puffer ms"
-msgid "Stream Position"
-msgstr "Streamposition"
-
msgid "Self Modulate"
msgstr "Selbst-Modulieren"
@@ -4556,12 +4628,6 @@ msgstr "Übertragungsmodus"
msgid "Transfer Channel"
msgstr "Transferkanal"
-msgid "Owner"
-msgstr "Besitzer"
-
-msgid "Multiplayer"
-msgstr "Mehrspieler"
-
msgid "Editor Description"
msgstr "Editorbeschreibung"
@@ -4574,15 +4640,6 @@ msgstr "Kollisionshinweise debuggen"
msgid "Debug Navigation Hint"
msgstr "Navigationshinweise debuggen"
-msgid "Edited Scene Root"
-msgstr "bearbeitete Szenenwurzel"
-
-msgid "Current Scene"
-msgstr "Aktuelle Szene"
-
-msgid "Root"
-msgstr "Wurzel"
-
msgid "Multiplayer Poll"
msgstr "Mehrspielerrundfrage"
@@ -4625,9 +4682,6 @@ msgstr "Ansichtsfensterpfad"
msgid "Disable 3D"
msgstr "3D deaktivieren"
-msgid "World 2D"
-msgstr "Welt 2D"
-
msgid "Transparent BG"
msgstr "Transparenter Hintergrund"
@@ -4664,12 +4718,6 @@ msgstr "Quadrat 2"
msgid "Quad 3"
msgstr "Quadrat 3"
-msgid "Canvas Transform"
-msgstr "Leinwand-Transform"
-
-msgid "Global Canvas Transform"
-msgstr "Globales Leinwand-Transform"
-
msgid "Render Target"
msgstr "Renderziel"
@@ -4949,9 +4997,6 @@ msgstr "Schließen-Farbe"
msgid "Resizer Color"
msgstr "Versteller-Farbe"
-msgid "Separation"
-msgstr "Trennung"
-
msgid "Title Offset"
msgstr "Titelversatz"
@@ -5192,6 +5237,9 @@ msgstr "Lichtbeeinflussung"
msgid "AO Channel Affect"
msgstr "AO-Kanal-Beeinflussung"
+msgid "SSIL"
+msgstr "SSIL"
+
msgid "Glow"
msgstr "Leuchten"
@@ -5561,6 +5609,9 @@ msgstr "Sonne"
msgid "Panorama"
msgstr "Panorama"
+msgid "Ground Color"
+msgstr "Bodenfarbe"
+
msgid "Blend"
msgstr "Blenden"
@@ -5612,9 +5663,6 @@ msgstr "Bis"
msgid "Frames"
msgstr "Frames"
-msgid "Current Frame"
-msgstr "Aktueller Frame"
-
msgid "Pause"
msgstr "Pause"
@@ -5660,21 +5708,15 @@ msgstr "Standardwert"
msgid "Color Default"
msgstr "Standardfarbe"
-msgid "Canvas"
-msgstr "Canvas/ Leinwand"
+msgid "Use All Surfaces"
+msgstr "Nutze alle Oberflächen"
-msgid "Navigation Map"
-msgstr "Navigationskarte"
-
-msgid "Direct Space State"
-msgstr "Direkter Raum Zustand"
+msgid "Surface Index"
+msgstr "Oberflächenindex"
msgid "Fallback Environment"
msgstr "Ausweichumgebung"
-msgid "Scenario"
-msgstr "Szenario"
-
msgid "Plane"
msgstr "Ebene"
@@ -5903,6 +5945,9 @@ msgstr "Reflexionen"
msgid "Texture Array Reflections"
msgstr "Textur-Array-Reflexionen"
+msgid "GI"
+msgstr "GI"
+
msgid "Overrides"
msgstr "Überschreibungen"
diff --git a/editor/translations/properties/es.po b/editor/translations/properties/es.po
index 40a4fe1441..2d6db926d3 100644
--- a/editor/translations/properties/es.po
+++ b/editor/translations/properties/es.po
@@ -97,8 +97,8 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 14:12+0000\n"
-"Last-Translator: Damien Monasterios <monasterio13septiembre@gmail.com>\n"
+"PO-Revision-Date: 2023-02-19 06:13+0000\n"
+"Last-Translator: andres gallegos <andresgg.prog@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/es/>\n"
"Language: es\n"
@@ -153,21 +153,42 @@ msgstr "Ventana"
msgid "Size"
msgstr "Tamaño"
+msgid "Viewport Width"
+msgstr "Ancho del Viewport"
+
+msgid "Viewport Height"
+msgstr "Altura del Viewport"
+
msgid "Mode"
msgstr "Modo"
+msgid "Initial Position Type"
+msgstr "Tipo de posición inicial"
+
+msgid "Initial Position"
+msgstr "Posición inicial"
+
+msgid "Initial Screen"
+msgstr "Pantalla inicial"
+
msgid "Resizable"
msgstr "Redimensionable"
msgid "Borderless"
msgstr "Sin bordes"
+msgid "Always on Top"
+msgstr "Siempre encima"
+
msgid "Transparent"
msgstr "Transparente"
msgid "Extend to Title"
msgstr "Extender al Título"
+msgid "No Focus"
+msgstr "Sin foco"
+
msgid "Energy Saving"
msgstr "Ahorro de Energía"
@@ -177,18 +198,42 @@ msgstr "Mantener la Pantalla Activa"
msgid "Audio"
msgstr "Audio"
+msgid "Buses"
+msgstr "Buses"
+
+msgid "General"
+msgstr "General"
+
+msgid "2D Panning Strength"
+msgstr "Fuerza de panoramización 2D"
+
+msgid "3D Panning Strength"
+msgstr "Fuerza de panoramización 3D"
+
msgid "Editor"
msgstr "Editor"
msgid "Main Run Args"
msgstr "Argumentos de la Ejecución Principal"
+msgid "Script"
+msgstr "Script"
+
+msgid "Search in File Extensions"
+msgstr "Buscar en Extensiones de Archivos"
+
+msgid "Templates Search Path"
+msgstr "Ruta de Búsqueda de Plantillas"
+
msgid "Physics"
msgstr "Física"
msgid "2D"
msgstr "2D"
+msgid "Run on Separate Thread"
+msgstr "Ejecutar en Hilo Separado"
+
msgid "3D"
msgstr "3D"
@@ -198,11 +243,26 @@ msgstr "Depurar"
msgid "Settings"
msgstr "Configuración"
+msgid "Max Functions"
+msgstr "Funciones Máximas"
+
msgid "Compression"
msgstr "Compresión"
-msgid "Crash Handler"
-msgstr "Manipulador de Colisiones"
+msgid "Formats"
+msgstr "Formatos"
+
+msgid "Zstd"
+msgstr "Zstd"
+
+msgid "Compression Level"
+msgstr "Nivel de Compresión"
+
+msgid "Zlib"
+msgstr "Zlib"
+
+msgid "Gzip"
+msgstr "Gzip"
msgid "Message"
msgstr "Mensaje"
@@ -213,12 +273,39 @@ msgstr "Renderización"
msgid "Occlusion Culling"
msgstr "Occlusion Culling"
+msgid "Memory"
+msgstr "Memoria"
+
msgid "Limits"
msgstr "Límites"
+msgid "Multithreaded Server"
+msgstr "Servidor Multihilo"
+
+msgid "Internationalization"
+msgstr "Internacionalización"
+
msgid "GUI"
msgstr "GUI"
+msgid "Timers"
+msgstr "Temporizadores"
+
+msgid "Incremental Search Max Interval Msec"
+msgstr "Intervalo Máximo de Busqueda Incremental ms"
+
+msgid "Rendering Device"
+msgstr "Dispositivo de Renderizado"
+
+msgid "Block Size (KB)"
+msgstr "Tamaño del Bloque (KB)"
+
+msgid "Max Size (MB)"
+msgstr "Tamaño Máximo (MB)"
+
+msgid "Vulkan"
+msgstr "Vulkan"
+
msgid "Low Processor Usage Mode"
msgstr "Modo de Bajo Uso del Procesador"
@@ -228,6 +315,9 @@ msgstr "Modo de Bajo Uso del Procesador en Reposo (µseg)"
msgid "Print Error Messages"
msgstr "Imprimir Mensajes de Error"
+msgid "Max FPS"
+msgstr "FPS Máximos"
+
msgid "Time Scale"
msgstr "Escala de Tiempo"
@@ -333,9 +423,6 @@ msgstr "Tamaño de Página"
msgid "Blocking Mode Enabled"
msgstr "Modo de Bloqueo Activado"
-msgid "Connection"
-msgstr "Conexión"
-
msgid "Read Chunk Size"
msgstr "Leer Tamaño del Fragmento"
@@ -354,9 +441,6 @@ msgstr "Tamaño Máximo del Buffer de Entrada"
msgid "Output Buffer Max Size"
msgstr "Tamaño Máximo del Buffer de Salida"
-msgid "Stream Peer"
-msgstr "Stream de Pares"
-
msgid "Resource"
msgstr "Recursos"
@@ -381,8 +465,8 @@ msgstr "Semilla"
msgid "State"
msgstr "Estado"
-msgid "Source Code"
-msgstr "Código Fuente"
+msgid "Use System Threads for Low Priority Tasks"
+msgstr "Usar Hilos del Sistema Para Tareas de Baja Prioridad"
msgid "Locale"
msgstr "Idioma"
@@ -393,6 +477,9 @@ msgstr "Test"
msgid "Fallback"
msgstr "Respaldo"
+msgid "Fake BiDi"
+msgstr "Falso BiDi"
+
msgid "Override"
msgstr "Anular"
@@ -465,15 +552,6 @@ msgstr "Acceso"
msgid "Display Mode"
msgstr "Modo de Visualización"
-msgid "Current Dir"
-msgstr "Dirección Actual"
-
-msgid "Current File"
-msgstr "Archivo Actual"
-
-msgid "Current Path"
-msgstr "Ruta Actual"
-
msgid "Show Hidden Files"
msgstr "Mostrar Archivos Ocultos"
@@ -555,18 +633,12 @@ msgstr "Modo Sin Distracciones"
msgid "Base Type"
msgstr "Tipo Base"
-msgid "Edited Resource"
-msgstr "Recurso Editado"
-
msgid "Editable"
msgstr "Editable"
msgid "Toggle Mode"
msgstr "Cambiar Modo"
-msgid "Script Owner"
-msgstr "Propietario del Script"
-
msgid "Editor Language"
msgstr "Idioma del Editor"
@@ -609,6 +681,9 @@ msgstr "Abrir Capturas De Pantalla Automáticamente"
msgid "Mouse Extra Buttons Navigate History"
msgstr "Botones Extra del Mouse para Navegar por el Historial"
+msgid "Show Low Level OpenType Features"
+msgstr "Mostrar Características de Bajo Nivel de OpenType"
+
msgid "Theme"
msgstr "Theme"
@@ -753,6 +828,9 @@ msgstr "Dibujar Espacios"
msgid "Line Spacing"
msgstr "Espaciado de Línea"
+msgid "Behavior"
+msgstr "Comportamiento"
+
msgid "Navigation"
msgstr "Navegación"
@@ -1269,12 +1347,12 @@ msgstr "Crear Desde"
msgid "Delimiter"
msgstr "Delimitador"
-msgid "Preload"
-msgstr "Precarga"
-
msgid "Columns"
msgstr "Columnas"
+msgid "Rows"
+msgstr "Filas"
+
msgid "Lossy Quality"
msgstr "Con Pérdidas de Calidad"
@@ -1329,6 +1407,9 @@ msgstr "Radio"
msgid "Occluder"
msgstr "Oclusor"
+msgid "Simplification Distance"
+msgstr "Distancia de Simplificación"
+
msgid "Enabled"
msgstr "Activado"
@@ -1404,6 +1485,9 @@ msgstr "Detectar 3D"
msgid "SVG"
msgstr "SVG"
+msgid "Convert Colors With Editor Theme"
+msgstr "Convertir Colores con el Tema del Editor"
+
msgid "Atlas File"
msgstr "Archivo de Atlas"
@@ -1524,6 +1608,15 @@ msgstr "Advertencias"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "Textura"
+
+msgid "Separation"
+msgstr "Separación"
+
+msgid "Speed"
+msgstr "Velocidad"
+
msgid "Version Control"
msgstr "Control de Versiones"
@@ -1542,6 +1635,12 @@ msgstr "Mostrar Selección de la Raíz del Árbol de Escenas"
msgid "Use Favorites Root Selection"
msgstr "Usar Selección de Raíces Favoritas"
+msgid "Max Chars per Second"
+msgstr "Caracteres Máximos por Segundo"
+
+msgid "Max Warnings per Second"
+msgstr "Advertencias Máximas por Segundo"
+
msgid "File Logging"
msgstr "Registro De Archivos"
@@ -1554,6 +1653,12 @@ msgstr "Ruta del Registro"
msgid "Driver"
msgstr "Controlador"
+msgid "Renderer"
+msgstr "Renderizador"
+
+msgid "Include Text Server Data"
+msgstr "Incluir Datos del Servidor de Texto"
+
msgid "DPI"
msgstr "DPI"
@@ -1590,6 +1695,9 @@ msgstr "stdout"
msgid "Print FPS"
msgstr "Imprimir FPS"
+msgid "Print GPU Profile"
+msgstr "Imprimir el Perfil de la GPU"
+
msgid "Verbose stdout"
msgstr "Stdout Extendido"
@@ -1602,11 +1710,11 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "Ocultar Indicador de Inicio"
-msgid "Input Devices"
-msgstr "Dispositivos de Entrada"
+msgid "Hide Status Bar"
+msgstr "Ocultar Barra de Estado"
-msgid "Pointing"
-msgstr "Puntero"
+msgid "View Configuration"
+msgstr "Configuración de la Vista"
msgid "Boot Splash"
msgstr "Pantalla de Splash"
@@ -1614,6 +1722,9 @@ msgstr "Pantalla de Splash"
msgid "BG Color"
msgstr "Color de Fondo"
+msgid "Input Devices"
+msgstr "Dispositivos de Entrada"
+
msgid "Environment"
msgstr "Entorno"
@@ -1635,12 +1746,21 @@ msgstr "Usar Filtro"
msgid "Icon"
msgstr "Icono"
+msgid "macOS Native Icon"
+msgstr "Ícono Nativo de macOS"
+
+msgid "Windows Native Icon"
+msgstr "Ícono Nativo de Windows"
+
msgid "Buffering"
msgstr "Buffering"
msgid "Agile Event Flushing"
msgstr "Evento Ágil de Vaciado"
+msgid "Pointing"
+msgstr "Puntero"
+
msgid "Emulate Touch From Mouse"
msgstr "Emular Toque Desde El Mouse"
@@ -1893,6 +2013,12 @@ msgstr "Esqueletos"
msgid "Animations"
msgstr "Animaciones"
+msgid "Handle Binary Image"
+msgstr "Manejar Imagen Binaria"
+
+msgid "Blender 3 Path"
+msgstr "Ruta de Blender 3"
+
msgid "FBX"
msgstr "FBX"
@@ -1992,9 +2118,6 @@ msgstr "Raíz de la Skin"
msgid "Joints Original"
msgstr "Articulaciones Originales"
-msgid "Inverse Binds"
-msgstr "Enlaces Inversos"
-
msgid "Non Joints"
msgstr "Sin Articulaciones"
@@ -2703,6 +2826,9 @@ msgstr "Puerto HTTP"
msgid "Variant"
msgstr "Variante"
+msgid "Extensions Support"
+msgstr "Soporte de Extensiones"
+
msgid "VRAM Texture Compression"
msgstr "Compresión de Texturas en la VRAM"
@@ -2859,8 +2985,8 @@ msgstr "Modo de Copia"
msgid "Anchor Mode"
msgstr "Modo de Anclaje"
-msgid "Custom Viewport"
-msgstr "Viewport Personalizado"
+msgid "Ignore Rotation"
+msgstr "Ignorar Rotación"
msgid "Left"
msgstr "Izquierda"
@@ -2877,9 +3003,6 @@ msgstr "Inferior"
msgid "Smoothed"
msgstr "Suavizado"
-msgid "Speed"
-msgstr "Velocidad"
-
msgid "Horizontal Enabled"
msgstr "Horizontal Activado"
@@ -2961,9 +3084,6 @@ msgstr "Coordenadas Locales"
msgid "Draw Order"
msgstr "Orden de dibujo"
-msgid "Texture"
-msgstr "Textura"
-
msgid "Emission Shape"
msgstr "Forma de la Emisión"
@@ -3204,24 +3324,9 @@ msgstr "Costo del Viaje"
msgid "Estimate Radius"
msgstr "Estimación del Radio"
-msgid "Rotation Degrees"
-msgstr "Grados de Rotación"
-
msgid "Skew"
msgstr "Sesgo"
-msgid "Global Rotation"
-msgstr "Rotación Global"
-
-msgid "Global Rotation Degrees"
-msgstr "Grados de Rotación Global"
-
-msgid "Global Scale"
-msgstr "Escala Global"
-
-msgid "Global Transform"
-msgstr "Transformación Global"
-
msgid "Scroll"
msgstr "Scroll"
@@ -3309,6 +3414,9 @@ msgstr "Angular"
msgid "Torque"
msgstr "Torsión"
+msgid "Floor"
+msgstr "Suelo"
+
msgid "Max Angle"
msgstr "Ángulo Máximo"
@@ -3444,6 +3552,9 @@ msgstr "Mantener aspecto"
msgid "Cull Mask"
msgstr "Cull Mask"
+msgid "Attributes"
+msgstr "Atributos"
+
msgid "Doppler Tracking"
msgstr "Seguimiento de Doppler"
@@ -3651,6 +3762,9 @@ msgstr "Alineación Vertical"
msgid "Uppercase"
msgstr "Mayúsculas"
+msgid "Temperature"
+msgstr "Temperatura"
+
msgid "Indirect Energy"
msgstr "Energía Indirecta"
@@ -4017,6 +4131,9 @@ msgstr "Pose"
msgid "World Scale"
msgstr "Escala del Mundo"
+msgid "Play Mode"
+msgstr "Modo de Reproducción"
+
msgid "Sync"
msgstr "Sincronizar"
@@ -4074,15 +4191,6 @@ msgstr "Nodo Raíz"
msgid "Current Animation"
msgstr "Animación Actual"
-msgid "Assigned Animation"
-msgstr "Animación Asignada"
-
-msgid "Current Animation Length"
-msgstr "Duración Actual de la Animación"
-
-msgid "Current Animation Position"
-msgstr "Posición Actual de la Animación"
-
msgid "Playback Options"
msgstr "Opciones de Reproducción"
@@ -4194,6 +4302,9 @@ msgstr "Envoltura Automática"
msgid "Mode Overrides Title"
msgstr "Sobreescritura"
+msgid "Root Subfolder"
+msgstr "Subcarpeta raíz"
+
msgid "Filters"
msgstr "Filtros"
@@ -4497,9 +4608,6 @@ msgstr "Indicadores del Modo de Caída"
msgid "Audio Track"
msgstr "Pista de Audio"
-msgid "Volume"
-msgstr "Volumen"
-
msgid "Paused"
msgstr "Pausado"
@@ -4509,9 +4617,6 @@ msgstr "Expandir"
msgid "Buffering Msec"
msgstr "Buffering Msec"
-msgid "Stream Position"
-msgstr "Posición del Stream"
-
msgid "Self Modulate"
msgstr "Modulación Automática"
@@ -4560,12 +4665,6 @@ msgstr "Modo de Transferencia"
msgid "Transfer Channel"
msgstr "Canal de Transferencia"
-msgid "Owner"
-msgstr "Propietario"
-
-msgid "Multiplayer"
-msgstr "Multijugador"
-
msgid "Editor Description"
msgstr "Descripción del Editor"
@@ -4578,15 +4677,6 @@ msgstr "Sugerencia de Depuración de Colisiones"
msgid "Debug Navigation Hint"
msgstr "Sugerencia de Depuración de Navegación"
-msgid "Edited Scene Root"
-msgstr "Escena Raíz Editada"
-
-msgid "Current Scene"
-msgstr "Escena Actual"
-
-msgid "Root"
-msgstr "Raíz"
-
msgid "Multiplayer Poll"
msgstr "Encuesta Multijugador"
@@ -4611,6 +4701,9 @@ msgstr "Antialias"
msgid "Use Debanding"
msgstr "Usar Debanding"
+msgid "Lights and Shadows"
+msgstr "Luces y Sombras"
+
msgid "Atlas Size"
msgstr "Tamaño de Atlas"
@@ -4629,9 +4722,6 @@ msgstr "Ruta del Viewport"
msgid "Disable 3D"
msgstr "Desactivar 3D"
-msgid "World 2D"
-msgstr "Mundo 2D"
-
msgid "Transparent BG"
msgstr "Fondo Transparente"
@@ -4641,6 +4731,9 @@ msgstr "Manejar Entradas Localmente"
msgid "Debug Draw"
msgstr "Depurar Dibujo"
+msgid "Scaling 3D"
+msgstr "Escalado 3D"
+
msgid "Audio Listener"
msgstr "Oyente de Audio"
@@ -4668,12 +4761,6 @@ msgstr "Cuadrángulo 2"
msgid "Quad 3"
msgstr "Cuadrángulo 3"
-msgid "Canvas Transform"
-msgstr "Transformación del Canvas"
-
-msgid "Global Canvas Transform"
-msgstr "Transformación Global del Canvas"
-
msgid "Render Target"
msgstr "Objetivo de Renderizado"
@@ -4953,9 +5040,6 @@ msgstr "Cerrar Color"
msgid "Resizer Color"
msgstr "Cambiar Color"
-msgid "Separation"
-msgstr "Separación"
-
msgid "Title Offset"
msgstr "Offset del Título"
@@ -5148,6 +5232,9 @@ msgstr "Actividad"
msgid "Node"
msgstr "Nodos"
+msgid "Energy Multiplier"
+msgstr "Multiplicador de Energía"
+
msgid "Canvas Max Layer"
msgstr "Max de Capas del Lienzo"
@@ -5556,6 +5643,9 @@ msgstr "Sol"
msgid "Panorama"
msgstr "Panorama"
+msgid "Ground Color"
+msgstr "Color del Suelo"
+
msgid "Blend"
msgstr "Mezcla"
@@ -5607,9 +5697,6 @@ msgstr "A"
msgid "Frames"
msgstr "Fotogramas"
-msgid "Current Frame"
-msgstr "Cuadro Actual"
-
msgid "Pause"
msgstr "Pausa"
@@ -5631,6 +5718,9 @@ msgstr "Modos"
msgid "Input Name"
msgstr "Nombre de Entrada"
+msgid "Parameter Name"
+msgstr "Nombre del Parámetro"
+
msgid "Constant"
msgstr "Constante"
@@ -5655,21 +5745,9 @@ msgstr "Valor Predeterminado"
msgid "Color Default"
msgstr "Color Predeterminado"
-msgid "Canvas"
-msgstr "Lienzo"
-
-msgid "Navigation Map"
-msgstr "Mapa de Navegación"
-
-msgid "Direct Space State"
-msgstr "Estado de Espacio Directo"
-
msgid "Fallback Environment"
msgstr "Entorno de Retorno"
-msgid "Scenario"
-msgstr "Escenario"
-
msgid "Plane"
msgstr "Plano"
@@ -5704,7 +5782,7 @@ msgid "Level dB"
msgstr "Nivel en dB"
msgid "Pan"
-msgstr "Pan"
+msgstr "Paneo"
msgid "Attack (µs)"
msgstr "Ataque (µs)"
@@ -5889,6 +5967,9 @@ msgstr "Reflexiones"
msgid "Texture Array Reflections"
msgstr "Reflejos del Array de Texturas"
+msgid "GI"
+msgstr "GI"
+
msgid "Overrides"
msgstr "Anulaciones"
diff --git a/editor/translations/properties/fr.po b/editor/translations/properties/fr.po
index 74b674aa1c..c59407213d 100644
--- a/editor/translations/properties/fr.po
+++ b/editor/translations/properties/fr.po
@@ -114,8 +114,8 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 14:12+0000\n"
-"Last-Translator: Helix Sir <vincentbarkmann@gmail.com>\n"
+"PO-Revision-Date: 2023-02-11 13:25+0000\n"
+"Last-Translator: Thalya Gauvrit <skar0ps.dev@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/fr/>\n"
"Language: fr\n"
@@ -428,9 +428,6 @@ msgstr "Taille de page"
msgid "Blocking Mode Enabled"
msgstr "Mode de blocage activé"
-msgid "Connection"
-msgstr "Connexion"
-
msgid "Read Chunk Size"
msgstr "Lire la taille des fragment(s)"
@@ -440,12 +437,6 @@ msgstr "Données"
msgid "Object ID"
msgstr "Identifiant de l'Objet"
-msgid "Original Class"
-msgstr "Classe originale"
-
-msgid "Recording Properties"
-msgstr "Propriétés d'enregistrement"
-
msgid "Encode Buffer Max Size"
msgstr "Taille maximale du tampon d'encodage"
@@ -455,9 +446,6 @@ msgstr "Taille maximale du tampon d'entrée"
msgid "Output Buffer Max Size"
msgstr "Taille maximale du tampon de sortie"
-msgid "Stream Peer"
-msgstr "Pair de flux"
-
msgid "Resource"
msgstr "Ressource"
@@ -497,9 +485,6 @@ msgstr "Graine"
msgid "State"
msgstr "État"
-msgid "Source Code"
-msgstr "Code Source"
-
msgid "TLS"
msgstr "TLS"
@@ -632,15 +617,6 @@ msgstr "Mode d'affichage"
msgid "File Mode"
msgstr "Mode fichier"
-msgid "Current Dir"
-msgstr "Répertoire Actuel"
-
-msgid "Current File"
-msgstr "Fichier Actuel"
-
-msgid "Current Path"
-msgstr "Chemin Actuel"
-
msgid "Show Hidden Files"
msgstr "Afficher les fichiers cachés"
@@ -746,18 +722,12 @@ msgstr "Mode Sans Distraction"
msgid "Base Type"
msgstr "Type de base"
-msgid "Edited Resource"
-msgstr "Ressource modifiée"
-
msgid "Editable"
msgstr "Modifiable"
msgid "Toggle Mode"
msgstr "Basculer le mode"
-msgid "Script Owner"
-msgstr "Propriétaire du Script"
-
msgid "Editor Language"
msgstr "Langue de l'éditeur"
@@ -1551,7 +1521,7 @@ msgid "Password"
msgstr "Mot de passe"
msgid "Hinting"
-msgstr "Optimisation de rendu (hinting)"
+msgstr "Suggestion"
msgid "Oversampling"
msgstr "Sur-échantillonnage"
@@ -1592,9 +1562,6 @@ msgstr "Créer à Partir de"
msgid "Delimiter"
msgstr "Délimiteur"
-msgid "Preload"
-msgstr "Précharger"
-
msgid "Columns"
msgstr "Colonnes"
@@ -1776,7 +1743,7 @@ msgid "Available URLs"
msgstr "URLs disponibles"
msgid "Unset"
-msgstr "Vider"
+msgstr "Non défini"
msgid "Error"
msgstr "Erreur"
@@ -1847,6 +1814,15 @@ msgstr "Avertissements"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "Texture"
+
+msgid "Separation"
+msgstr "Séparation"
+
+msgid "Speed"
+msgstr "Vitesse"
+
msgid "Version Control"
msgstr "Contrôle de version"
@@ -1925,18 +1901,15 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "Masquer l'indicateur d’accueil"
-msgid "Input Devices"
-msgstr "Périphériques d'entrée"
-
-msgid "Pointing"
-msgstr "Pointage"
-
msgid "Boot Splash"
msgstr "Écran de démarrage"
msgid "BG Color"
msgstr "Couleur d'arrière-plan"
+msgid "Input Devices"
+msgstr "Périphériques d'entrée"
+
msgid "Environment"
msgstr "Environnement"
@@ -1964,6 +1937,9 @@ msgstr "Mise en mémoire tampon"
msgid "Agile Event Flushing"
msgstr "Purge d'événement agile"
+msgid "Pointing"
+msgstr "Pointage"
+
msgid "Emulate Touch From Mouse"
msgstr "Émuler le toucher tactile avec la souris"
@@ -2315,9 +2291,6 @@ msgstr "Racine de l'enveloppe"
msgid "Joints Original"
msgstr "Jointure à l'original"
-msgid "Inverse Binds"
-msgstr "Inverser les liens"
-
msgid "Non Joints"
msgstr "Non jointures"
@@ -2394,7 +2367,7 @@ msgid "Eye Height"
msgstr "Hauteur de l’œil"
msgid "IOD"
-msgstr "Distance interoculaire"
+msgstr "DP"
msgid "Display Width"
msgstr "Afficher la largeur"
@@ -3182,9 +3155,6 @@ msgstr "Mode copie"
msgid "Anchor Mode"
msgstr "Mode ancre"
-msgid "Custom Viewport"
-msgstr "Vue personnalisée"
-
msgid "Left"
msgstr "Gauche"
@@ -3200,9 +3170,6 @@ msgstr "Bas"
msgid "Smoothed"
msgstr "Adouci"
-msgid "Speed"
-msgstr "Vitesse"
-
msgid "Horizontal Enabled"
msgstr "Horizontal Activé"
@@ -3284,9 +3251,6 @@ msgstr "Coordonnées locales"
msgid "Draw Order"
msgstr "Ordre de rendu"
-msgid "Texture"
-msgstr "Texture"
-
msgid "Emission Shape"
msgstr "Forme d'émission"
@@ -3527,24 +3491,9 @@ msgstr "Coût de déplacement"
msgid "Estimate Radius"
msgstr "Estimer le rayon"
-msgid "Rotation Degrees"
-msgstr "Degrés de Rotation"
-
msgid "Skew"
msgstr "Biseau"
-msgid "Global Rotation"
-msgstr "Rotation Globale"
-
-msgid "Global Rotation Degrees"
-msgstr "Degrés de Rotation Globale"
-
-msgid "Global Scale"
-msgstr "Échelle Globale"
-
-msgid "Global Transform"
-msgstr "Transformation Globale"
-
msgid "Scroll"
msgstr "Défilement"
@@ -4397,15 +4346,6 @@ msgstr "Nœud Racine"
msgid "Current Animation"
msgstr "Animation actuelle"
-msgid "Assigned Animation"
-msgstr "Animation assignée"
-
-msgid "Current Animation Length"
-msgstr "Durée de l’animation actuelle"
-
-msgid "Current Animation Position"
-msgstr "Position dans l'animation actuelle"
-
msgid "Playback Options"
msgstr "Options de Lecture"
@@ -4820,9 +4760,6 @@ msgstr "Options du Mode Abandon"
msgid "Audio Track"
msgstr "Piste Audio"
-msgid "Volume"
-msgstr "Volume"
-
msgid "Paused"
msgstr "En Pause"
@@ -4832,9 +4769,6 @@ msgstr "Développer"
msgid "Buffering Msec"
msgstr "Mise en mémoire tampon ms"
-msgid "Stream Position"
-msgstr "Position Flux"
-
msgid "Self Modulate"
msgstr "Auto-modulation"
@@ -4883,12 +4817,6 @@ msgstr "Mode de Transfert"
msgid "Transfer Channel"
msgstr "Canal de transfert"
-msgid "Owner"
-msgstr "Propriétaire"
-
-msgid "Multiplayer"
-msgstr "Multijoueur"
-
msgid "Editor Description"
msgstr "Description de l'Editeur"
@@ -4901,15 +4829,6 @@ msgstr "Déboguer les indices de collision"
msgid "Debug Navigation Hint"
msgstr "Déboguer les indices de navigation"
-msgid "Edited Scene Root"
-msgstr "Racine de scène modifiée"
-
-msgid "Current Scene"
-msgstr "Scène actuelle"
-
-msgid "Root"
-msgstr "Racine"
-
msgid "Multiplayer Poll"
msgstr "Poll d'attente active (polling) multijoueur"
@@ -4952,9 +4871,6 @@ msgstr "Chemin de la fenêtre d'affichage"
msgid "Disable 3D"
msgstr "Désactiver 3D"
-msgid "World 2D"
-msgstr "Monde 2D"
-
msgid "Transparent BG"
msgstr "Arrière-plan transparent"
@@ -4991,12 +4907,6 @@ msgstr "Quad 2"
msgid "Quad 3"
msgstr "Quad 3"
-msgid "Canvas Transform"
-msgstr "Transformation du canevas"
-
-msgid "Global Canvas Transform"
-msgstr "Transformation du canevas global"
-
msgid "Render Target"
msgstr "Rendre la cible"
@@ -5276,9 +5186,6 @@ msgstr "Couleur du bouton Fermer"
msgid "Resizer Color"
msgstr "Couleur du redimensionneur"
-msgid "Separation"
-msgstr "Séparation"
-
msgid "Title Offset"
msgstr "Décalage du titre"
@@ -5939,9 +5846,6 @@ msgstr "À"
msgid "Frames"
msgstr "Trames"
-msgid "Current Frame"
-msgstr "Trame actuelle"
-
msgid "Pause"
msgstr "Pause"
@@ -5987,21 +5891,9 @@ msgstr "Valeur par défaut"
msgid "Color Default"
msgstr "Couleur par défaut"
-msgid "Canvas"
-msgstr "Canevas"
-
-msgid "Navigation Map"
-msgstr "Carte de navigation"
-
-msgid "Direct Space State"
-msgstr "Etat de l'espace direct"
-
msgid "Fallback Environment"
msgstr "Environnement de repli"
-msgid "Scenario"
-msgstr "Scénario"
-
msgid "Plane"
msgstr "Plan"
@@ -6048,10 +5940,10 @@ msgid "Sidechain"
msgstr "Sidechain"
msgid "Tap 1"
-msgstr "Tap 1"
+msgstr "Appuyez sur 1"
msgid "Tap 2"
-msgstr "Tap 2"
+msgstr "Appuyez sur 2"
msgid "Feedback"
msgstr "Larsen"
@@ -6081,10 +5973,10 @@ msgid "Threshold dB"
msgstr "Seuil de dB"
msgid "Soft Clip dB"
-msgstr "dB de Coupure Douce"
+msgstr "Écrêtage Doux dB"
msgid "Soft Clip Ratio"
-msgstr "Ratio de Coupure Douce"
+msgstr "Ratio Écrêtage Doux"
msgid "Range Min Hz"
msgstr "Borne inférieure de la plage (Hz)"
diff --git a/editor/translations/properties/it.po b/editor/translations/properties/it.po
index b68a503386..87b7a5fe77 100644
--- a/editor/translations/properties/it.po
+++ b/editor/translations/properties/it.po
@@ -82,8 +82,8 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 00:55+0000\n"
-"Last-Translator: gianmarco malandra <giamminho12@gmail.com>\n"
+"PO-Revision-Date: 2023-02-16 02:38+0000\n"
+"Last-Translator: Riteo Siuga <riteo@posteo.net>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/it/>\n"
"Language: it\n"
@@ -102,6 +102,9 @@ msgstr "Configurazione"
msgid "Name"
msgstr "Nome"
+msgid "Name Localized"
+msgstr "Nome Tradotto"
+
msgid "Description"
msgstr "Descrizione"
@@ -138,17 +141,38 @@ msgstr "Finestra"
msgid "Size"
msgstr "Dimensione"
+msgid "Viewport Width"
+msgstr "Larghezza del Viewport"
+
+msgid "Viewport Height"
+msgstr "Altezza del Viewport"
+
msgid "Mode"
msgstr "Modalità"
+msgid "Initial Position"
+msgstr "Posizione Iniziale"
+
+msgid "Initial Screen"
+msgstr "Schermata Iniziale"
+
msgid "Resizable"
msgstr "Ridimensionabile"
msgid "Borderless"
msgstr "Senza contorno"
+msgid "Transparent"
+msgstr "Trasparente"
+
+msgid "Window Width Override"
+msgstr "Sovrascrivi la Larghezza della Finestra"
+
+msgid "Window Height Override"
+msgstr "Sovrascrivi l'Altezza della Finestra"
+
msgid "Energy Saving"
-msgstr "Risparmio Energia"
+msgstr "Risparmio Energetico"
msgid "Keep Screen On"
msgstr "Mantieni lo Schermo Acceso"
@@ -162,12 +186,18 @@ msgstr "Editor"
msgid "Main Run Args"
msgstr "Parametri Principali Eseguiti"
+msgid "Script"
+msgstr "Script"
+
msgid "Physics"
msgstr "Fisica"
msgid "2D"
msgstr "2D"
+msgid "Run on Separate Thread"
+msgstr "Esegui su un Thread Separato"
+
msgid "3D"
msgstr "3D"
@@ -177,9 +207,24 @@ msgstr "Debug"
msgid "Settings"
msgstr "Impostazioni"
+msgid "Profiler"
+msgstr "Profilatore"
+
msgid "Compression"
msgstr "Compressione"
+msgid "Formats"
+msgstr "Formati"
+
+msgid "Compression Level"
+msgstr "Livello di Compressione"
+
+msgid "Zlib"
+msgstr "Zlib"
+
+msgid "Gzip"
+msgstr "Gzip"
+
msgid "Crash Handler"
msgstr "Gestore di Crash"
@@ -189,12 +234,27 @@ msgstr "Messaggio"
msgid "Rendering"
msgstr "Renderer"
+msgid "Memory"
+msgstr "Memoria"
+
msgid "Limits"
msgstr "Limiti"
+msgid "Multithreaded Server"
+msgstr "Server Multithreading"
+
+msgid "Internationalization"
+msgstr "Lingue"
+
msgid "GUI"
msgstr "Interfaccia Grafica"
+msgid "Rendering Device"
+msgstr "Dispositivo per il Rendering"
+
+msgid "Vulkan"
+msgstr "Vulkan"
+
msgid "Low Processor Usage Mode"
msgstr "Modalità Processore a Basso Consumo"
@@ -243,6 +303,9 @@ msgstr "Coefficiente"
msgid "Button Index"
msgstr "Indice Pulsante Mouse"
+msgid "Double Click"
+msgstr "Doppio click"
+
msgid "Tilt"
msgstr "Tilt"
@@ -303,9 +366,6 @@ msgstr "Dimensione Pagina"
msgid "Blocking Mode Enabled"
msgstr "Modalità Blocco Attivata"
-msgid "Connection"
-msgstr "Connessione"
-
msgid "Read Chunk Size"
msgstr "Leggi Dimensione Chunk"
@@ -324,9 +384,6 @@ msgstr "Dimensione Massima Input Buffer"
msgid "Output Buffer Max Size"
msgstr "Dimensione Massima Output Buffer"
-msgid "Stream Peer"
-msgstr "Stream Peer"
-
msgid "Resource"
msgstr "Risorsa"
@@ -351,9 +408,6 @@ msgstr "Seme"
msgid "State"
msgstr "Stato"
-msgid "Source Code"
-msgstr "Codice Sorgente"
-
msgid "Locale"
msgstr "Locale"
@@ -426,15 +480,6 @@ msgstr "Accedi"
msgid "Display Mode"
msgstr "Modalità di visualizzazione"
-msgid "Current Dir"
-msgstr "Cartella Corrente"
-
-msgid "Current File"
-msgstr "File Corrente"
-
-msgid "Current Path"
-msgstr "Percorso Corrente"
-
msgid "Show Hidden Files"
msgstr "Mostra File Nascosti"
@@ -442,7 +487,7 @@ msgid "Disable Overwrite Warning"
msgstr "Disabilita Avviso di Sovrascrittura"
msgid "Import"
-msgstr "Importare"
+msgstr "Importa"
msgid "Reimport Missing Imported Files"
msgstr "Reimporta Files Importati Mancanti"
@@ -516,18 +561,12 @@ msgstr "Modalità senza distrazioni"
msgid "Base Type"
msgstr "Tipo di Base"
-msgid "Edited Resource"
-msgstr "Risorsa Modificata"
-
msgid "Editable"
msgstr "Elemento Modificabile"
msgid "Toggle Mode"
msgstr "Commuta la modalità"
-msgid "Script Owner"
-msgstr "Autore Script"
-
msgid "Editor Language"
msgstr "Lingua dell'Editor"
@@ -1173,6 +1212,9 @@ msgstr "Password"
msgid "Compress"
msgstr "Comprimi"
+msgid "Language"
+msgstr "Lingua"
+
msgid "Transform"
msgstr "Trasformazione"
@@ -1200,9 +1242,6 @@ msgstr "Crea da"
msgid "Delimiter"
msgstr "Delimitatore"
-msgid "Preload"
-msgstr "Pre-carica"
-
msgid "Lossy Quality"
msgstr "Qualità Lossy"
@@ -1369,7 +1408,7 @@ msgid "Available URLs"
msgstr "URLs Disponibili"
msgid "Unset"
-msgstr "Non Impostato"
+msgstr "Non impostato"
msgid "Error"
msgstr "Errore"
@@ -1434,6 +1473,15 @@ msgstr "Avvisi"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "Texture"
+
+msgid "Separation"
+msgstr "Separazione"
+
+msgid "Speed"
+msgstr "Velocità"
+
msgid "Version Control"
msgstr "Controllo della versione"
@@ -1512,11 +1560,8 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "Nascondi Indicatore Home"
-msgid "Input Devices"
-msgstr "Dispositivi Input"
-
-msgid "Pointing"
-msgstr "Puntamento"
+msgid "XR"
+msgstr "XR"
msgid "Boot Splash"
msgstr "Sfondo Di Avvio"
@@ -1524,6 +1569,9 @@ msgstr "Sfondo Di Avvio"
msgid "BG Color"
msgstr "Colore Sfondo"
+msgid "Input Devices"
+msgstr "Dispositivi Input"
+
msgid "Environment"
msgstr "Ambiente"
@@ -1551,6 +1599,9 @@ msgstr "Buffering"
msgid "Agile Event Flushing"
msgstr "Svuotamento degli eventi usando l'algoritmo Agile"
+msgid "Pointing"
+msgstr "Puntamento"
+
msgid "Emulate Touch From Mouse"
msgstr "Emula Tocco Da Mouse"
@@ -2457,6 +2508,9 @@ msgstr "Publisher"
msgid "Landscape"
msgstr "Panorama"
+msgid "Tiles"
+msgstr "Tasselli"
+
msgid "Web"
msgstr "Web"
@@ -2520,11 +2574,14 @@ msgstr "Fotogramma"
msgid "Point"
msgstr "Punto"
+msgid "Left"
+msgstr "Sinistra"
+
msgid "Top"
msgstr "In cima"
-msgid "Speed"
-msgstr "Velocità"
+msgid "Right"
+msgstr "Destra"
msgid "Horizontal Enabled"
msgstr "Orizzontale Abilitato"
@@ -2550,9 +2607,6 @@ msgstr "FPS fisso"
msgid "Drawing"
msgstr "Disegnare"
-msgid "Texture"
-msgstr "Texture"
-
msgid "Sphere Radius"
msgstr "Raggio della Sfera"
@@ -2562,18 +2616,15 @@ msgstr "Punti"
msgid "Colors"
msgstr "Colori"
+msgid "Default Color"
+msgstr "Colore predefinito"
+
msgid "Multimesh"
msgstr "Multimesh"
msgid "Navigation Layers"
msgstr "Livelli Navigazione"
-msgid "Rotation Degrees"
-msgstr "Rotazione in Gradi"
-
-msgid "Global Rotation Degrees"
-msgstr "Rotazione Globale in Gradi"
-
msgid "Scroll"
msgstr "Scorrere"
@@ -2661,6 +2712,9 @@ msgstr "Spostamento"
msgid "End"
msgstr "Fine"
+msgid "Pose"
+msgstr "Posa"
+
msgid "Sync"
msgstr "Sincronizza"
@@ -2682,9 +2736,15 @@ msgstr "Nodo Radice"
msgid "Button Group"
msgstr "Gruppo Pulsanti"
+msgid "Indentation"
+msgstr "Indentazione"
+
msgid "Localization"
msgstr "Localizzazione"
+msgid "Focus"
+msgstr "Seleziona"
+
msgid "Next"
msgstr "Successivo"
@@ -2805,9 +2865,6 @@ msgstr "Disegno"
msgid "Radial Fill"
msgstr "Riempimento Radiale"
-msgid "Volume"
-msgstr "Volume"
-
msgid "Expand"
msgstr "Espandi"
@@ -2826,9 +2883,6 @@ msgstr "Modalità Trasferimento"
msgid "Transfer Channel"
msgstr "Canale Di Trasferimento"
-msgid "Current Scene"
-msgstr "Scena Corrente"
-
msgid "Shapes"
msgstr "Forme"
@@ -2844,6 +2898,12 @@ msgstr "Schermo Attuale"
msgid "Min Size"
msgstr "Dimensione Min"
+msgid "2D Physics"
+msgstr "Fisica 2D"
+
+msgid "3D Physics"
+msgstr "Fisica 3D"
+
msgid "Format"
msgstr "Formato"
@@ -2865,9 +2925,6 @@ msgstr "Separatore"
msgid "Submenu"
msgstr "Sottomenù"
-msgid "Separation"
-msgstr "Separazione"
-
msgid "Cursor"
msgstr "Cursore"
@@ -2883,6 +2940,15 @@ msgstr "Luce Ambientale"
msgid "Source"
msgstr "Sorgente"
+msgid "SSAO"
+msgstr "SSAO"
+
+msgid "SSIL"
+msgstr "SSIL"
+
+msgid "Glow"
+msgstr "Bagliore"
+
msgid "2"
msgstr "2"
@@ -2937,6 +3003,9 @@ msgstr "Normal Texture"
msgid "B"
msgstr "B"
+msgid "Ground Color"
+msgstr "Colore del terreno"
+
msgid "Blend"
msgstr "Fondi"
@@ -2967,6 +3036,12 @@ msgstr "Costante"
msgid "Function"
msgstr "Funzioni"
+msgid "Use All Surfaces"
+msgstr "Usa tutte le superfici"
+
+msgid "Surface Index"
+msgstr "Indice di superficie"
+
msgid "Fallback Environment"
msgstr "Ambiente di ripiego"
@@ -2979,12 +3054,21 @@ msgstr "Vertice"
msgid "Fragment"
msgstr "Frammento"
+msgid "Shadow Atlas"
+msgstr "Atlas delle ombre"
+
msgid "Reflections"
msgstr "Riflessi"
+msgid "GI"
+msgstr "GI"
+
msgid "Overrides"
msgstr "Sovrascrizioni"
+msgid "OpenGL"
+msgstr "OpenGL"
+
msgid "Shaders"
msgstr "Shaders"
diff --git a/editor/translations/properties/ja.po b/editor/translations/properties/ja.po
index 60b30d9404..a185add1a0 100644
--- a/editor/translations/properties/ja.po
+++ b/editor/translations/properties/ja.po
@@ -52,8 +52,8 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 00:55+0000\n"
-"Last-Translator: Saitos <purifyzombie@gmail.com>\n"
+"PO-Revision-Date: 2023-02-18 07:45+0000\n"
+"Last-Translator: ueshita <nalto32@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/ja/>\n"
"Language: ja\n"
@@ -72,6 +72,9 @@ msgstr "構成"
msgid "Name"
msgstr "名前"
+msgid "Name Localized"
+msgstr "ローカライズされた名前"
+
msgid "Description"
msgstr "説明"
@@ -108,9 +111,24 @@ msgstr "ウィンドウ"
msgid "Size"
msgstr "サイズ"
+msgid "Viewport Width"
+msgstr "ビューポートの幅"
+
+msgid "Viewport Height"
+msgstr "ビューポートの高さ"
+
msgid "Mode"
msgstr "モード"
+msgid "Initial Position Type"
+msgstr "初期位置タイプ"
+
+msgid "Initial Position"
+msgstr "初期位置"
+
+msgid "Initial Screen"
+msgstr "初期スクリーン"
+
msgid "Resizable"
msgstr "サイズを変更可能"
@@ -294,9 +312,6 @@ msgstr "ページサイズ"
msgid "Blocking Mode Enabled"
msgstr "ブロッキングモードを有効化"
-msgid "Connection"
-msgstr "接続"
-
msgid "Read Chunk Size"
msgstr "読み取りチャンクサイズ"
@@ -315,9 +330,6 @@ msgstr "入力バッファの上限サイズ"
msgid "Output Buffer Max Size"
msgstr "出力バッファの上限サイズ"
-msgid "Stream Peer"
-msgstr "ストリーム ピア"
-
msgid "Resource"
msgstr "リソース"
@@ -342,9 +354,6 @@ msgstr "シード値"
msgid "State"
msgstr "状態"
-msgid "Source Code"
-msgstr "ソースコード"
-
msgid "TLS"
msgstr "TLS"
@@ -429,15 +438,6 @@ msgstr "アクセス"
msgid "Display Mode"
msgstr "表示モード"
-msgid "Current Dir"
-msgstr "現在のディレクトリ"
-
-msgid "Current File"
-msgstr "現在のファイル"
-
-msgid "Current Path"
-msgstr "現在のパス"
-
msgid "Show Hidden Files"
msgstr "隠しファイルを表示"
@@ -519,18 +519,12 @@ msgstr "集中モード"
msgid "Base Type"
msgstr "基底型"
-msgid "Edited Resource"
-msgstr "編集したリソース"
-
msgid "Editable"
msgstr "編集可能"
msgid "Toggle Mode"
msgstr "モード切り替え"
-msgid "Script Owner"
-msgstr "スクリプトのオーナー"
-
msgid "Editor Language"
msgstr "エディターの言語"
@@ -1503,6 +1497,15 @@ msgstr "警告"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "テクスチャ"
+
+msgid "Separation"
+msgstr "分離"
+
+msgid "Speed"
+msgstr "速さ"
+
msgid "Version Control"
msgstr "バージョンコントロール"
@@ -1581,12 +1584,6 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "ホームインジケーターを隠す"
-msgid "Input Devices"
-msgstr "入力デバイス"
-
-msgid "Pointing"
-msgstr "ポインティング"
-
msgid "XR"
msgstr "XR"
@@ -1596,6 +1593,9 @@ msgstr "ブートスプラッシュ"
msgid "BG Color"
msgstr "背景色"
+msgid "Input Devices"
+msgstr "入力デバイス"
+
msgid "Environment"
msgstr "環境"
@@ -1623,6 +1623,9 @@ msgstr "バッファリング"
msgid "Agile Event Flushing"
msgstr "即座にイベントフラッシュ"
+msgid "Pointing"
+msgstr "ポインティング"
+
msgid "Emulate Touch From Mouse"
msgstr "マウスでタッチ操作をエミュレート"
@@ -2304,9 +2307,6 @@ msgstr "コピーモード"
msgid "Anchor Mode"
msgstr "アンカーモード"
-msgid "Custom Viewport"
-msgstr "カスタムビューポート"
-
msgid "Left"
msgstr "左"
@@ -2322,9 +2322,6 @@ msgstr "下"
msgid "Smoothed"
msgstr "スムージング"
-msgid "Speed"
-msgstr "速さ"
-
msgid "Draw Screen"
msgstr "スクリーンを描画する"
@@ -2364,9 +2361,6 @@ msgstr "ランダム性"
msgid "Lifetime Randomness"
msgstr "生存時間のランダム性"
-msgid "Texture"
-msgstr "テクスチャ"
-
msgid "Points"
msgstr "点"
@@ -2436,12 +2430,6 @@ msgstr "ボーダー"
msgid "Round Precision"
msgstr "丸め精度"
-msgid "Rotation Degrees"
-msgstr "回転角度"
-
-msgid "Global Rotation Degrees"
-msgstr "グローバル回転角度"
-
msgid "Ignore Camera Zoom"
msgstr "カメラのズームを無視"
@@ -2611,7 +2599,7 @@ msgid "Use AABB Center"
msgstr "AABBセンターを使用"
msgid "End"
-msgstr "終り"
+msgstr "End"
msgid "Sync"
msgstr "同期"
@@ -2691,9 +2679,6 @@ msgstr "ドラッグして再配置可能"
msgid "Syntax Highlighter"
msgstr "シンタックスハイライト"
-msgid "Volume"
-msgstr "ボリューム"
-
msgid "Z Index"
msgstr "Zインデックス"
@@ -2715,9 +2700,6 @@ msgstr "転送モード"
msgid "Transfer Channel"
msgstr "転送チャンネル"
-msgid "Current Scene"
-msgstr "現在のシーン"
-
msgid "Screen Space AA"
msgstr "スクリーンスペースAA"
@@ -2781,9 +2763,6 @@ msgstr "サブメニュー"
msgid "Font Separator"
msgstr "フォントセパレータ"
-msgid "Separation"
-msgstr "分離"
-
msgid "Cursor"
msgstr "カーソル"
@@ -2850,9 +2829,6 @@ msgstr "プレビュー"
msgid "Transform Format"
msgstr "変換形式"
-msgid "Transform Array"
-msgstr "Transformの配列"
-
msgid "Parsed Geometry Type"
msgstr "解析されたジオメトリ型"
diff --git a/editor/translations/properties/ko.po b/editor/translations/properties/ko.po
index 9118036e30..a309aeaaf4 100644
--- a/editor/translations/properties/ko.po
+++ b/editor/translations/properties/ko.po
@@ -268,9 +268,6 @@ msgstr "페이지 크기"
msgid "Blocking Mode Enabled"
msgstr "Blocking 모드 활성화"
-msgid "Connection"
-msgstr "연결"
-
msgid "Read Chunk Size"
msgstr "청크 크기 읽기"
@@ -289,9 +286,6 @@ msgstr "입력 버퍼 최대 크기"
msgid "Output Buffer Max Size"
msgstr "출력 버퍼 최대 크기"
-msgid "Stream Peer"
-msgstr "스트림 피어"
-
msgid "Resource"
msgstr "리소스"
@@ -313,9 +307,6 @@ msgstr "시드"
msgid "State"
msgstr "상태"
-msgid "Source Code"
-msgstr "소스 코드"
-
msgid "Locale"
msgstr "위치"
@@ -391,15 +382,6 @@ msgstr "액세스"
msgid "Display Mode"
msgstr "표시 모드"
-msgid "Current Dir"
-msgstr "현재 디렉토리"
-
-msgid "Current File"
-msgstr "현재 파일"
-
-msgid "Current Path"
-msgstr "현재 경로"
-
msgid "Show Hidden Files"
msgstr "숨김 파일 표시"
@@ -481,18 +463,12 @@ msgstr "집중 모드"
msgid "Base Type"
msgstr "기본 타입"
-msgid "Edited Resource"
-msgstr "변경된 리소스"
-
msgid "Editable"
msgstr "편집 가능"
msgid "Toggle Mode"
msgstr "모드 토글"
-msgid "Script Owner"
-msgstr "스크립트 소유자"
-
msgid "Editor Language"
msgstr "에디터 언어"
@@ -1405,6 +1381,15 @@ msgstr "경고"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "텍스쳐"
+
+msgid "Separation"
+msgstr "분리"
+
+msgid "Speed"
+msgstr "속력"
+
msgid "Version Control"
msgstr "버전 컨트롤"
@@ -1483,18 +1468,15 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "홈 표시기 숨기기"
-msgid "Input Devices"
-msgstr "입력 장치"
-
-msgid "Pointing"
-msgstr "포인팅"
-
msgid "Boot Splash"
msgstr "부트 스플래쉬"
msgid "BG Color"
msgstr "배경색"
+msgid "Input Devices"
+msgstr "입력 장치"
+
msgid "Environment"
msgstr "환경"
@@ -1522,6 +1504,9 @@ msgstr "버퍼링"
msgid "Agile Event Flushing"
msgstr "애자일 이벤트 플러싱"
+msgid "Pointing"
+msgstr "포인팅"
+
msgid "Emulate Touch From Mouse"
msgstr "마우스 터치 에뮬레이트"
@@ -1864,9 +1849,6 @@ msgstr "스킨 루트"
msgid "Joints Original"
msgstr "관절 원본"
-msgid "Inverse Binds"
-msgstr "역결합"
-
msgid "Non Joints"
msgstr "비 관절"
@@ -2116,9 +2098,6 @@ msgstr "최대 거리"
msgid "Top"
msgstr "맨 위"
-msgid "Speed"
-msgstr "속력"
-
msgid "Input"
msgstr "입력"
@@ -2128,9 +2107,6 @@ msgstr "시간"
msgid "Randomness"
msgstr "무작위성"
-msgid "Texture"
-msgstr "텍스쳐"
-
msgid "Points"
msgstr "점"
@@ -2155,15 +2131,6 @@ msgstr "내비게이션 레이어"
msgid "Max Speed"
msgstr "최대 속도"
-msgid "Rotation Degrees"
-msgstr "회전 각도"
-
-msgid "Global Rotation Degrees"
-msgstr "전역 회전 각도"
-
-msgid "Global Scale"
-msgstr "전역 스케일"
-
msgid "Base Offset"
msgstr "기본 오프셋"
@@ -2311,9 +2278,6 @@ msgstr "단계"
msgid "Syntax Highlighter"
msgstr "구문 강조"
-msgid "Volume"
-msgstr "볼륨"
-
msgid "Z Index"
msgstr "Z 인덱스"
@@ -2326,9 +2290,6 @@ msgstr "전송 모드"
msgid "Transfer Channel"
msgstr "전송 채널"
-msgid "Current Scene"
-msgstr "현재 씬"
-
msgid "Audio Listener"
msgstr "오디오 리스너"
@@ -2365,9 +2326,6 @@ msgstr "분리 기호"
msgid "Submenu"
msgstr "하위 메뉴"
-msgid "Separation"
-msgstr "분리"
-
msgid "Cursor"
msgstr "커서"
diff --git a/editor/translations/properties/pl.po b/editor/translations/properties/pl.po
index 836a4ac81d..4b87cac56d 100644
--- a/editor/translations/properties/pl.po
+++ b/editor/translations/properties/pl.po
@@ -75,17 +75,17 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-01-20 10:19+0000\n"
-"Last-Translator: RM <synaptykq@gmail.com>\n"
+"PO-Revision-Date: 2023-02-20 10:58+0000\n"
+"Last-Translator: Tomek <kobewi4e@gmail.com>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/godot-engine/"
-"godot/pl/>\n"
+"godot-properties/pl/>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 4.15.1\n"
+"X-Generator: Weblate 4.16-dev\n"
msgid "Application"
msgstr "Aplikacja"
@@ -96,9 +96,18 @@ msgstr "Konfiguracja"
msgid "Name"
msgstr "Nazwa"
+msgid "Name Localized"
+msgstr "Nazwa lokalizowana"
+
+msgid "Description"
+msgstr "Opis"
+
msgid "Run"
msgstr "Uruchom"
+msgid "Main Scene"
+msgstr "Scena główna"
+
msgid "Disable stdout"
msgstr "Wyłączenie stdout"
@@ -126,15 +135,57 @@ msgstr "Okno"
msgid "Size"
msgstr "Rozmiar"
+msgid "Viewport Width"
+msgstr "Szerokość rzutni"
+
+msgid "Viewport Height"
+msgstr "Wysokość rzutni"
+
+msgid "Mode"
+msgstr "Tryb"
+
+msgid "Initial Position Type"
+msgstr "Typ początkowej pozycji"
+
+msgid "Initial Position"
+msgstr "Początkowa pozycja"
+
+msgid "Initial Screen"
+msgstr "Ekran początkowy"
+
msgid "Resizable"
msgstr "Zmienny rozmiar"
msgid "Borderless"
msgstr "Bez obramowania"
+msgid "Always on Top"
+msgstr "Zawsze na wierzchu"
+
+msgid "Transparent"
+msgstr "Przeźroczyste"
+
+msgid "Extend to Title"
+msgstr "Rozszerz do tytułu"
+
+msgid "No Focus"
+msgstr "Bez skupienia"
+
+msgid "Window Width Override"
+msgstr "Nadpisanie szerokości okna"
+
+msgid "Window Height Override"
+msgstr "Nadpisanie wysokości okna"
+
+msgid "Energy Saving"
+msgstr "Oszczędzanie energii"
+
msgid "Keep Screen On"
msgstr "Zachowaj włączony ekran"
+msgid "Audio"
+msgstr "Audio"
+
msgid "Editor"
msgstr "Edytor"
@@ -156,12 +207,33 @@ msgstr "Debugowanie"
msgid "Settings"
msgstr "Ustawienia"
+msgid "Compression"
+msgstr "Kompresja"
+
msgid "Message"
msgstr "Wiadomość"
msgid "Rendering"
msgstr "Renderowanie"
+msgid "Limits"
+msgstr "Limity"
+
+msgid "Internationalization"
+msgstr "Internacjonalizacja"
+
+msgid "Rendering Device"
+msgstr "Urządzenie renderujące"
+
+msgid "Block Size (KB)"
+msgstr "Rozmiar bloku (KB)"
+
+msgid "Max Size (MB)"
+msgstr "Maks. rozmiar (MB)"
+
+msgid "Vulkan"
+msgstr "Vulkan"
+
msgid "Low Processor Usage Mode"
msgstr "Tryb niskiego wykorzystania procesora"
@@ -186,6 +258,9 @@ msgstr "Użyj skumulowanego wejścia"
msgid "Device"
msgstr "Urządzenie"
+msgid "Window ID"
+msgstr "ID Okna"
+
msgid "Pressed"
msgstr "Wciśnięty"
@@ -210,6 +285,9 @@ msgstr "Czynnik"
msgid "Button Index"
msgstr "Indeks przycisków"
+msgid "Double Click"
+msgstr "Podwójne kliknięcie"
+
msgid "Tilt"
msgstr "Pochylenie"
@@ -261,12 +339,15 @@ msgstr "Wartość kontrolera"
msgid "Big Endian"
msgstr "Big endian"
+msgid "Network"
+msgstr "Sieć"
+
+msgid "Page Size"
+msgstr "Rozmiar strony"
+
msgid "Blocking Mode Enabled"
msgstr "Tryb blokowania włączony"
-msgid "Connection"
-msgstr "Połączenie"
-
msgid "Read Chunk Size"
msgstr "Odczytaj rozmiar fragmentu"
@@ -285,9 +366,6 @@ msgstr "Maks. rozmiar bufora wejściowego"
msgid "Output Buffer Max Size"
msgstr "Maksymalna wielkość bufora wyjściowego"
-msgid "Stream Peer"
-msgstr "Członek transmisji"
-
msgid "Resource"
msgstr "Zasób"
@@ -297,9 +375,6 @@ msgstr "Ścieżka"
msgid "Data Array"
msgstr "Tablica danych"
-msgid "Blocking Handshake"
-msgstr "Blokowanie uścisku dłoni"
-
msgid "Max Pending Connections"
msgstr "Maks. liczba połączeń oczekujących"
@@ -309,9 +384,6 @@ msgstr "Ziarno"
msgid "State"
msgstr "Stan"
-msgid "Source Code"
-msgstr "Kod źródłowy"
-
msgid "Locale"
msgstr "Ustawienia regionalne"
@@ -360,15 +432,6 @@ msgstr "Animacja"
msgid "Easing"
msgstr "Wygładzanie"
-msgid "Interface"
-msgstr "Interfejs"
-
-msgid "Editors"
-msgstr "Edytory"
-
-msgid "Network"
-msgstr "Sieć"
-
msgid "Remote Port"
msgstr "Zdalny port"
@@ -387,15 +450,6 @@ msgstr "Dostęp"
msgid "Display Mode"
msgstr "Tryb wyświetlania"
-msgid "Current Dir"
-msgstr "Bieżący katalog"
-
-msgid "Current File"
-msgstr "Bieżący Plik"
-
-msgid "Current Path"
-msgstr "Bieżąca ścieżka"
-
msgid "Show Hidden Files"
msgstr "Pokaż ukryte pliki"
@@ -432,14 +486,14 @@ msgstr "Sprawdzone"
msgid "Keying"
msgstr "Kluczowanie"
-msgid "Main Scene"
-msgstr "Scena główna"
+msgid "Interface"
+msgstr "Interfejs"
msgid "Show Update Spinner"
msgstr "Pokaż suwak aktualizacji"
msgid "Update Continuously"
-msgstr "Aktualizuj ciągle"
+msgstr "Stale aktualizuj"
msgid "Localize Settings"
msgstr "Lokalizuj ustawienia"
@@ -477,18 +531,12 @@ msgstr "Tryb bez rozproszeń"
msgid "Base Type"
msgstr "Typ bazowy"
-msgid "Edited Resource"
-msgstr "Edytowany zasób"
-
msgid "Editable"
msgstr "Edytowalny"
msgid "Toggle Mode"
msgstr "Przełącz tryb"
-msgid "Script Owner"
-msgstr "Właściciel skryptu"
-
msgid "Editor Language"
msgstr "Język edytora"
@@ -535,7 +583,7 @@ msgid "Theme"
msgstr "Motyw"
msgid "Preset"
-msgstr "Profil"
+msgstr "Ustawienia wstępne"
msgid "Base Color"
msgstr "Kolor podstawowy"
@@ -700,7 +748,7 @@ msgid "Sort Members Outline Alphabetically"
msgstr "Posortuj szkic członków alfabetycznie"
msgid "Completion"
-msgstr "Ukończenie"
+msgstr "Uzupełnianie"
msgid "Idle Parse Delay"
msgstr "Opóźnienie interpretacji"
@@ -735,6 +783,9 @@ msgstr "Rozmiar czcionki kodu w pomocy"
msgid "Help Title Font Size"
msgstr "Rozmiar czcionki tytułu w pomocy"
+msgid "Editors"
+msgstr "Edytory"
+
msgid "Grid Map"
msgstr "Siatka"
@@ -1131,9 +1182,21 @@ msgstr "Serwer plików"
msgid "Password"
msgstr "Hasło"
+msgid "Hinting"
+msgstr "Hinting"
+
+msgid "Oversampling"
+msgstr "Nadpróbkowanie"
+
msgid "Compress"
msgstr "Skompresuj"
+msgid "Language"
+msgstr "Język"
+
+msgid "Transform"
+msgstr "Przekształcanie"
+
msgid "Collada"
msgstr "Collada"
@@ -1158,18 +1221,9 @@ msgstr "Utwórz z"
msgid "Delimiter"
msgstr "Separator"
-msgid "Preload"
-msgstr "Ładuj przed"
-
-msgid "Mode"
-msgstr "Tryb"
-
msgid "Lossy Quality"
msgstr "Stratna jakość"
-msgid "BPTC LDR"
-msgstr "LDR BPTC"
-
msgid "Mipmaps"
msgstr "Mipmapy"
@@ -1224,12 +1278,6 @@ msgstr "Optymalizator"
msgid "Max Angular Error"
msgstr "Maks. błąd kątowy"
-msgid "Compression"
-msgstr "Kompresja"
-
-msgid "Page Size"
-msgstr "Rozmiar strony"
-
msgid "Nodes"
msgstr "Węzły"
@@ -1335,6 +1383,9 @@ msgstr "Używaj wątków"
msgid "Available URLs"
msgstr "Dostępne URL"
+msgid "Unset"
+msgstr "Wymaż"
+
msgid "Error"
msgstr "Błąd"
@@ -1386,6 +1437,9 @@ msgstr "Ostrzeżenia"
msgid "ID"
msgstr "ID"
+msgid "Speed"
+msgstr "Prędkość"
+
msgid "Version Control"
msgstr "Kontrola wersji"
@@ -1398,9 +1452,6 @@ msgstr "Ścieżka do publicznego klucza SSH"
msgid "SSH Private Key Path"
msgstr "Ścieżka do prywatnego klucza SSH"
-msgid "Audio"
-msgstr "Audio"
-
msgid "Verbose stdout"
msgstr "Werbalne stdout"
@@ -1413,21 +1464,33 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "Ukryj wskaźnik powitalny"
+msgid "XR"
+msgstr "XR"
+
msgid "Boot Splash"
msgstr "Ekran uruchamiania"
msgid "BG Color"
msgstr "Kolor tła"
+msgid "Defaults"
+msgstr "Domyślne"
+
msgid "Show Image"
msgstr "Pokaż obraz"
+msgid "Image"
+msgstr "Obraz"
+
msgid "Fullsize"
msgstr "Pełny rozmiar"
msgid "Use Filter"
msgstr "Użyj filtra"
+msgid "Icon"
+msgstr "Ikona"
+
msgid "Buffering"
msgstr "Buforowanie"
@@ -1452,6 +1515,12 @@ msgstr "Projekt"
msgid "Assembly Name"
msgstr "Nazwa zespołu"
+msgid "Stretch"
+msgstr "Rozciągnij"
+
+msgid "Aspect"
+msgstr "Aspekt"
+
msgid "Auto Accept Quit"
msgstr "Automatyczne akceptowanie zamknięcia"
@@ -1606,7 +1675,7 @@ msgid "Eye Height"
msgstr "Wysokość oczu"
msgid "IOD"
-msgstr "IOD"
+msgstr "PD"
msgid "Display Width"
msgstr "Szerokość wyświetlacza"
@@ -1647,9 +1716,6 @@ msgstr "Nazwy"
msgid "Strings"
msgstr "Ciągi tekstowe"
-msgid "Limits"
-msgstr "Limity"
-
msgid "Android"
msgstr "Android"
@@ -1662,14 +1728,11 @@ msgstr "Wersja"
msgid "Icons"
msgstr "Ikony"
-msgid "Icon"
-msgstr "Ikona"
-
msgid "Location"
msgstr "Lokalizacja"
-msgid "Description"
-msgstr "Opis"
+msgid "Variant"
+msgstr "Wariant"
msgid "Frame"
msgstr "Klatka"
@@ -1677,11 +1740,14 @@ msgstr "Klatka"
msgid "Point"
msgstr "Punkt"
+msgid "Left"
+msgstr "Lewo"
+
msgid "Top"
msgstr "Góra"
-msgid "Speed"
-msgstr "Prędkość"
+msgid "Right"
+msgstr "Prawo"
msgid "Input"
msgstr "Wejście"
@@ -1713,9 +1779,6 @@ msgstr "Prostokąt widoczności"
msgid "Navigation Layers"
msgstr "Warstwy nawigacji"
-msgid "Transform"
-msgstr "Przekształcanie"
-
msgid "Linear"
msgstr "Liniowy"
@@ -1740,6 +1803,9 @@ msgstr "Obszar"
msgid "Bitmask"
msgstr "Maska bitowa"
+msgid "Cull Mask"
+msgstr "Cull Mask"
+
msgid "Flags"
msgstr "Flagi"
@@ -1791,6 +1857,9 @@ msgstr "Grupa przycisków"
msgid "Localization"
msgstr "Lokalizacja"
+msgid "Focus"
+msgstr "Zaznacz"
+
msgid "Next"
msgstr "Dalej"
@@ -1815,15 +1884,9 @@ msgstr "Tryb ikon"
msgid "Step"
msgstr "Krok"
-msgid "Stretch"
-msgstr "Rozciągnij"
-
msgid "Syntax Highlighter"
msgstr "Podświetlacz składni"
-msgid "Volume"
-msgstr "Głośność"
-
msgid "Z Index"
msgstr "Indeks Z"
@@ -1833,17 +1896,17 @@ msgstr "Powtórz"
msgid "Transfer Mode"
msgstr "Tryb transferu"
-msgid "Current Scene"
-msgstr "Aktualna scena"
-
msgid "Audio Listener"
msgstr "Słuchacz dźwięku"
msgid "Current Screen"
msgstr "Bieżący ekran"
-msgid "Aspect"
-msgstr "Aspekt"
+msgid "2D Physics"
+msgstr "Fizyka 2D"
+
+msgid "3D Physics"
+msgstr "Fizyka 3D"
msgid "Format"
msgstr "Format"
@@ -1923,9 +1986,6 @@ msgstr "Prawy dolny róg"
msgid "Bottom Left"
msgstr "Lewy dolny róg"
-msgid "Image"
-msgstr "Obraz"
-
msgid "Transpose"
msgstr "Transpozycja"
@@ -1935,6 +1995,9 @@ msgstr "Stała"
msgid "Function"
msgstr "Funkcja"
+msgid "Pan"
+msgstr "Pan"
+
msgid "Feedback"
msgstr "Informacja zwrotna"
@@ -1956,6 +2019,9 @@ msgstr "Wierzchołki"
msgid "Fragment"
msgstr "Fragmenty"
+msgid "Cull"
+msgstr "Cull"
+
msgid "Reflections"
msgstr "Odbicia"
diff --git a/editor/translations/properties/pt.po b/editor/translations/properties/pt.po
index f072375d33..7e1502e64d 100644
--- a/editor/translations/properties/pt.po
+++ b/editor/translations/properties/pt.po
@@ -261,9 +261,6 @@ msgstr "Tamanho da Página"
msgid "Blocking Mode Enabled"
msgstr "Modo de Bloqueio Ativado"
-msgid "Connection"
-msgstr "Conexão"
-
msgid "Read Chunk Size"
msgstr "Ler tamanho da parcela/pedaço"
@@ -282,9 +279,6 @@ msgstr "Tamanho máximo do Buffer de entrada"
msgid "Output Buffer Max Size"
msgstr "Tamanho Máximo do Amortecedor de OutPut"
-msgid "Stream Peer"
-msgstr "Fluxo de pares"
-
msgid "Resource"
msgstr "Recurso"
@@ -306,9 +300,6 @@ msgstr "Semente"
msgid "State"
msgstr "Estado"
-msgid "Source Code"
-msgstr "Código Fonte"
-
msgid "Locale"
msgstr "Localização"
@@ -390,15 +381,6 @@ msgstr "Acesso"
msgid "Display Mode"
msgstr "Modo de Visualização"
-msgid "Current Dir"
-msgstr "Dir Atual"
-
-msgid "Current File"
-msgstr "Ficheiro Atual"
-
-msgid "Current Path"
-msgstr "Caminho Atual"
-
msgid "Show Hidden Files"
msgstr "Mostrar arquivos ocultos"
@@ -480,18 +462,12 @@ msgstr "Modo Livre de Distrações"
msgid "Base Type"
msgstr "Mudar tipo base"
-msgid "Edited Resource"
-msgstr "Recurso Editado"
-
msgid "Editable"
msgstr "Item Editável"
msgid "Toggle Mode"
msgstr "Alternar Modo"
-msgid "Script Owner"
-msgstr "Dono do Script"
-
msgid "Editor Language"
msgstr "Linguagem do Editor"
@@ -1182,9 +1158,6 @@ msgstr "Criar à Partir de"
msgid "Delimiter"
msgstr "Delimitador"
-msgid "Preload"
-msgstr "Pré-carregar"
-
msgid "Lossy Quality"
msgstr "Qualidade com Perdas"
@@ -1428,6 +1401,15 @@ msgstr "Avisos"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "Textura"
+
+msgid "Separation"
+msgstr "Separação"
+
+msgid "Speed"
+msgstr "Velocidade"
+
msgid "Version Control"
msgstr "Controle de Versões"
@@ -1506,18 +1488,15 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "Esconder Indicador de Home"
-msgid "Input Devices"
-msgstr "Dispositivos de Entrada"
-
-msgid "Pointing"
-msgstr "Pontuação"
-
msgid "Boot Splash"
msgstr "Plano de Fundo de Inicialização"
msgid "BG Color"
msgstr "Cor de Fundo"
+msgid "Input Devices"
+msgstr "Dispositivos de Entrada"
+
msgid "Environment"
msgstr "Ambiente"
@@ -1545,6 +1524,9 @@ msgstr "Buffering"
msgid "Agile Event Flushing"
msgstr "Liberação Ágil de Eventos"
+msgid "Pointing"
+msgstr "Pontuação"
+
msgid "Emulate Touch From Mouse"
msgstr "Emular Toque do Rato"
@@ -1887,9 +1869,6 @@ msgstr "Raiz da Skin"
msgid "Joints Original"
msgstr "Pontos Originais"
-msgid "Inverse Binds"
-msgstr "Inverter Ligações"
-
msgid "Non Joints"
msgstr "Não-Juntas"
@@ -2682,9 +2661,6 @@ msgstr "Embaixo"
msgid "Smoothed"
msgstr "Suavizado"
-msgid "Speed"
-msgstr "Velocidade"
-
msgid "Horizontal Enabled"
msgstr "Horizontal Ativado"
@@ -2733,9 +2709,6 @@ msgstr "Coordenadas Locais"
msgid "Draw Order"
msgstr "Ordem de Desenho"
-msgid "Texture"
-msgstr "Textura"
-
msgid "Emission Shape"
msgstr "Forma de Emissão"
@@ -2856,18 +2829,6 @@ msgstr "Velocidade Máxima"
msgid "Estimate Radius"
msgstr "Raio Estimado"
-msgid "Rotation Degrees"
-msgstr "Graus de Rotação"
-
-msgid "Global Rotation"
-msgstr "Rotação Global"
-
-msgid "Global Rotation Degrees"
-msgstr "Graus de Rotação Global"
-
-msgid "Global Scale"
-msgstr "Escala Global"
-
msgid "Scroll"
msgstr "Rolagem"
@@ -3432,9 +3393,6 @@ msgstr "Graus de Preenchimento"
msgid "Hide Root"
msgstr "Esconder Raiz"
-msgid "Volume"
-msgstr "Volume"
-
msgid "Paused"
msgstr "Pausado"
@@ -3465,18 +3423,6 @@ msgstr "Modo de Transferência"
msgid "Transfer Channel"
msgstr "Transferir Canal"
-msgid "Owner"
-msgstr "Dono"
-
-msgid "Multiplayer"
-msgstr "Multijogador"
-
-msgid "Current Scene"
-msgstr "Cena Atual"
-
-msgid "Root"
-msgstr "Raiz"
-
msgid "Shapes"
msgstr "Formas"
@@ -3498,9 +3444,6 @@ msgstr "Tempo de Espera"
msgid "Autostart"
msgstr "Início Automático"
-msgid "World 2D"
-msgstr "Mundo 2D"
-
msgid "Transparent BG"
msgstr "Fundo Transparente"
@@ -3576,9 +3519,6 @@ msgstr "Sub-menu"
msgid "V Separation"
msgstr "Separação Vertical"
-msgid "Separation"
-msgstr "Separação"
-
msgid "Port Offset"
msgstr "Deslocamento de Porta"
@@ -3792,9 +3732,6 @@ msgstr "Constante"
msgid "Function"
msgstr "Função"
-msgid "Canvas"
-msgstr "Tela"
-
msgid "Plane"
msgstr "Plano"
diff --git a/editor/translations/properties/pt_BR.po b/editor/translations/properties/pt_BR.po
index d971a31648..37e2a15065 100644
--- a/editor/translations/properties/pt_BR.po
+++ b/editor/translations/properties/pt_BR.po
@@ -162,8 +162,8 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2023-02-08 18:01+0000\n"
-"Last-Translator: Leonardo <leotada523@gmail.com>\n"
+"PO-Revision-Date: 2023-02-20 00:45+0000\n"
+"Last-Translator: Elizandro Baldin <ejbaldin@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"godot-engine/godot-properties/pt_BR/>\n"
"Language: pt_BR\n"
@@ -389,9 +389,6 @@ msgstr "Tamanho da Página"
msgid "Blocking Mode Enabled"
msgstr "Modo de bloqueio Ativado"
-msgid "Connection"
-msgstr "Conexão"
-
msgid "Read Chunk Size"
msgstr "Ler o tamanho do pedaço"
@@ -410,9 +407,6 @@ msgstr "Tamanho máximo do buffer de entrada"
msgid "Output Buffer Max Size"
msgstr "Tamanho máximo do buffer de saída"
-msgid "Stream Peer"
-msgstr "Par de stream"
-
msgid "Resource"
msgstr "Recurso"
@@ -434,9 +428,6 @@ msgstr "Semente"
msgid "State"
msgstr "Estado"
-msgid "Source Code"
-msgstr "Código fonte"
-
msgid "Locale"
msgstr "Localidade"
@@ -518,15 +509,6 @@ msgstr "Acesso"
msgid "Display Mode"
msgstr "Modo de Exibição"
-msgid "Current Dir"
-msgstr "Diretório Atual"
-
-msgid "Current File"
-msgstr "Arquivo Atual"
-
-msgid "Current Path"
-msgstr "Caminho Atual"
-
msgid "Show Hidden Files"
msgstr "Mostrar Arquivos Ocultos"
@@ -608,18 +590,12 @@ msgstr "Modo Sem Distrações"
msgid "Base Type"
msgstr "Tipo Base"
-msgid "Edited Resource"
-msgstr "Recurso Editado"
-
msgid "Editable"
msgstr "Editável"
msgid "Toggle Mode"
msgstr "Alternar Modo"
-msgid "Script Owner"
-msgstr "Proprietário do Script"
-
msgid "Editor Language"
msgstr "Linguagem do Editor"
@@ -1277,6 +1253,9 @@ msgstr "Senha"
msgid "Compress"
msgstr "Comprimir"
+msgid "Language"
+msgstr "Dialeto"
+
msgid "Outline Size"
msgstr "Tamanho do Contorno"
@@ -1310,9 +1289,6 @@ msgstr "Criar à Partir de"
msgid "Delimiter"
msgstr "Delimitador"
-msgid "Preload"
-msgstr "Pré Carregar"
-
msgid "Lossy Quality"
msgstr "Com Perda de Qualidade"
@@ -1487,6 +1463,9 @@ msgstr "Usar Threads"
msgid "Available URLs"
msgstr "URLs disponíveis"
+msgid "Unset"
+msgstr "Desativar"
+
msgid "Error"
msgstr "Erro"
@@ -1556,6 +1535,15 @@ msgstr "Avisos"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "Textura"
+
+msgid "Separation"
+msgstr "Separação"
+
+msgid "Speed"
+msgstr "Velocidade"
+
msgid "Version Control"
msgstr "Controle de Versão"
@@ -1634,18 +1622,15 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "Esconder Indicador de Home"
-msgid "Input Devices"
-msgstr "Dispositivos de Entrada"
-
-msgid "Pointing"
-msgstr "Apontando"
-
msgid "Boot Splash"
msgstr "Imagem de Exibição ao Iniciar"
msgid "BG Color"
msgstr "Cor do Plano de Fundo"
+msgid "Input Devices"
+msgstr "Dispositivos de Entrada"
+
msgid "Environment"
msgstr "Ambiente"
@@ -1673,6 +1658,9 @@ msgstr "Buffering"
msgid "Agile Event Flushing"
msgstr "Limpeza de Eventos Agil"
+msgid "Pointing"
+msgstr "Apontando"
+
msgid "Emulate Touch From Mouse"
msgstr "Simular Toque à Partir do Mouse"
@@ -2018,9 +2006,6 @@ msgstr "Raiz da Skin"
msgid "Joints Original"
msgstr "Pontos Originais"
-msgid "Inverse Binds"
-msgstr "Designações invertidas"
-
msgid "Non Joints"
msgstr "Não-Juntas"
@@ -2723,9 +2708,6 @@ msgstr "Embaixo"
msgid "Smoothed"
msgstr "Suavizado"
-msgid "Speed"
-msgstr "Velocidade"
-
msgid "Horizontal Enabled"
msgstr "Horizontal Habilitado"
@@ -2774,9 +2756,6 @@ msgstr "Coordenadas Locais"
msgid "Draw Order"
msgstr "Ordem de Desenho"
-msgid "Texture"
-msgstr "Textura"
-
msgid "Emission Shape"
msgstr "Forma de Emissão"
@@ -2897,18 +2876,6 @@ msgstr "Velocidade Máxima"
msgid "Estimate Radius"
msgstr "Raio Estimado"
-msgid "Rotation Degrees"
-msgstr "Graus de Rotação"
-
-msgid "Global Rotation"
-msgstr "Rotação Global"
-
-msgid "Global Rotation Degrees"
-msgstr "Graus de Rotação Global"
-
-msgid "Global Scale"
-msgstr "Escala Global"
-
msgid "Scroll"
msgstr "Rolagem"
@@ -3389,6 +3356,9 @@ msgstr "Deslocamento do Pivô"
msgid "Localization"
msgstr "Localização"
+msgid "Focus"
+msgstr "Foco"
+
msgid "Next"
msgstr "Próximo"
@@ -3473,9 +3443,6 @@ msgstr "Graus de Preenchimento"
msgid "Hide Root"
msgstr "Esconder Raiz"
-msgid "Volume"
-msgstr "Volume"
-
msgid "Paused"
msgstr "Pausado"
@@ -3506,18 +3473,6 @@ msgstr "Modo de Transferência"
msgid "Transfer Channel"
msgstr "Transferir Canal"
-msgid "Owner"
-msgstr "Dono"
-
-msgid "Multiplayer"
-msgstr "Multijogador"
-
-msgid "Current Scene"
-msgstr "Cena Atual"
-
-msgid "Root"
-msgstr "Raiz"
-
msgid "Shapes"
msgstr "Formas"
@@ -3539,9 +3494,6 @@ msgstr "Tempo de Espera"
msgid "Autostart"
msgstr "Início Automático"
-msgid "World 2D"
-msgstr "Mundo 2D"
-
msgid "Transparent BG"
msgstr "Fundo Transparente"
@@ -3617,9 +3569,6 @@ msgstr "Submenu"
msgid "V Separation"
msgstr "Separação Vertical"
-msgid "Separation"
-msgstr "Separação"
-
msgid "Port Offset"
msgstr "Deslocamento de Porta"
@@ -3833,9 +3782,6 @@ msgstr "Constante"
msgid "Function"
msgstr "Função"
-msgid "Canvas"
-msgstr "Tela"
-
msgid "Plane"
msgstr "Plano"
diff --git a/editor/translations/properties/ru.po b/editor/translations/properties/ru.po
index f792cd0b43..b14a9c3feb 100644
--- a/editor/translations/properties/ru.po
+++ b/editor/translations/properties/ru.po
@@ -132,7 +132,7 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 10:44+0000\n"
+"PO-Revision-Date: 2023-02-13 07:39+0000\n"
"Last-Translator: Danil Alexeev <danil@alexeev.xyz>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/ru/>\n"
@@ -366,9 +366,6 @@ msgstr "Размер страницы"
msgid "Blocking Mode Enabled"
msgstr "Блокирующий режим включён"
-msgid "Connection"
-msgstr "Соединение"
-
msgid "Read Chunk Size"
msgstr "Размер чанка чтения"
@@ -387,9 +384,6 @@ msgstr "Максимальный размер входящего буфера"
msgid "Output Buffer Max Size"
msgstr "Максимальный размер исходящего буфера"
-msgid "Stream Peer"
-msgstr "Узел потоковой передачи"
-
msgid "Resource"
msgstr "Ресурс"
@@ -414,9 +408,6 @@ msgstr "Зерно"
msgid "State"
msgstr "Состояние"
-msgid "Source Code"
-msgstr "Исходный код"
-
msgid "Locale"
msgstr "Локаль"
@@ -495,15 +486,6 @@ msgstr "Доступ"
msgid "Display Mode"
msgstr "Режим отображения"
-msgid "Current Dir"
-msgstr "Текущая директория"
-
-msgid "Current File"
-msgstr "Текущий файл"
-
-msgid "Current Path"
-msgstr "Текущий путь"
-
msgid "Show Hidden Files"
msgstr "Показывать скрытые файлы"
@@ -585,18 +567,12 @@ msgstr "Режим без отвлечения"
msgid "Base Type"
msgstr "Базовый тип"
-msgid "Edited Resource"
-msgstr "Редактируемый ресурс"
-
msgid "Editable"
msgstr "Редактируемый"
msgid "Toggle Mode"
msgstr "Режим отображения"
-msgid "Script Owner"
-msgstr "Владелец скрипта"
-
msgid "Editor Language"
msgstr "Язык редактора"
@@ -1284,9 +1260,6 @@ msgstr "Сотворить из"
msgid "Delimiter"
msgstr "Разделитель"
-msgid "Preload"
-msgstr "Предзагрузить"
-
msgid "Columns"
msgstr "Колонки"
@@ -1533,6 +1506,15 @@ msgstr "Предупреждения"
msgid "ID"
msgstr "Идентификатор"
+msgid "Texture"
+msgstr "Текстура"
+
+msgid "Separation"
+msgstr "Разделение"
+
+msgid "Speed"
+msgstr "Скорость"
+
msgid "Version Control"
msgstr "Контроль версий"
@@ -1611,11 +1593,8 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "Скрыть индикатор «Домой»"
-msgid "Input Devices"
-msgstr "Устройства ввода"
-
-msgid "Pointing"
-msgstr "Указывающие"
+msgid "XR"
+msgstr "XR"
msgid "Boot Splash"
msgstr "Загрузочная заставка"
@@ -1623,6 +1602,9 @@ msgstr "Загрузочная заставка"
msgid "BG Color"
msgstr "Цвет фона"
+msgid "Input Devices"
+msgstr "Устройства ввода"
+
msgid "Environment"
msgstr "Окружение"
@@ -1650,6 +1632,9 @@ msgstr "Буферизация"
msgid "Agile Event Flushing"
msgstr "Быстрая отправка событий"
+msgid "Pointing"
+msgstr "Указывающие"
+
msgid "Emulate Touch From Mouse"
msgstr "Эмулировать сенсорный ввод мышью"
@@ -1962,9 +1947,6 @@ msgstr "Корни"
msgid "Godot Bone Node"
msgstr "Узел кости Godot"
-msgid "Inverse Binds"
-msgstr "Инвертировать Связи"
-
msgid "Godot Skin"
msgstr "Скин Godot"
@@ -2547,9 +2529,6 @@ msgstr "Режим копирования"
msgid "Anchor Mode"
msgstr "Режим якорей"
-msgid "Custom Viewport"
-msgstr "Пользовательское окно просмотра"
-
msgid "Left"
msgstr "Влево"
@@ -2562,9 +2541,6 @@ msgstr "Вправо"
msgid "Bottom"
msgstr "Внизу"
-msgid "Speed"
-msgstr "Скорость"
-
msgid "Input"
msgstr "Вход"
@@ -2607,9 +2583,6 @@ msgstr "Фиксированный FPS"
msgid "Local Coords"
msgstr "Локальные координаты"
-msgid "Texture"
-msgstr "Текстура"
-
msgid "Emission Shape"
msgstr "Форма излучения"
@@ -2760,18 +2733,6 @@ msgstr "Включить уклонение"
msgid "Max Speed"
msgstr "Макс скорость"
-msgid "Global Rotation"
-msgstr "Глобальный поворот"
-
-msgid "Global Rotation Degrees"
-msgstr "Глобальный поворот градусы"
-
-msgid "Global Scale"
-msgstr "Глобальный масштаб"
-
-msgid "Global Transform"
-msgstr "Глобальное преобразование"
-
msgid "Scroll"
msgstr "Прокрутка"
@@ -3291,15 +3252,6 @@ msgstr "Корневой узел"
msgid "Current Animation"
msgstr "Текущая анимация"
-msgid "Assigned Animation"
-msgstr "Привязанная анимация"
-
-msgid "Current Animation Length"
-msgstr "Длина текущей анимации"
-
-msgid "Current Animation Position"
-msgstr "Позиция текущей анимации"
-
msgid "Default Blend Time"
msgstr "Время смешения по умолчанию"
@@ -3555,9 +3507,6 @@ msgstr "Скрывать корень"
msgid "Audio Track"
msgstr "Аудиотрек"
-msgid "Volume"
-msgstr "Объём"
-
msgid "Paused"
msgstr "Остановлен"
@@ -3591,12 +3540,6 @@ msgstr "Режим передачи"
msgid "Transfer Channel"
msgstr "Канал передачи"
-msgid "Owner"
-msgstr "Владелец"
-
-msgid "Multiplayer"
-msgstr "Мультиплеер"
-
msgid "Editor Description"
msgstr "Редактировать описание"
@@ -3606,12 +3549,6 @@ msgstr "Осталось времени"
msgid "Debug Navigation Hint"
msgstr "Подсказка режима навигации"
-msgid "Edited Scene Root"
-msgstr "Редактировать корень сцены"
-
-msgid "Current Scene"
-msgstr "Текущая сцена"
-
msgid "Contact Color"
msgstr "Цвет контакта"
@@ -3639,9 +3576,6 @@ msgstr "Путь окна предпросмотра"
msgid "Disable 3D"
msgstr "Отключить 3D"
-msgid "World 2D"
-msgstr "Мир 2D"
-
msgid "Transparent BG"
msgstr "Прозрачный фон"
@@ -3666,12 +3600,6 @@ msgstr "Выбор объектов"
msgid "Disable Input"
msgstr "Отключить ввод"
-msgid "Canvas Transform"
-msgstr "Преобразование полотна"
-
-msgid "Global Canvas Transform"
-msgstr "Глобальное преобразование полотна"
-
msgid "Clear Mode"
msgstr "Режим очистки"
@@ -3792,9 +3720,6 @@ msgstr "Разделитель шрифта"
msgid "V Separation"
msgstr "V Разделение"
-msgid "Separation"
-msgstr "Разделение"
-
msgid "Title Offset"
msgstr "Смещение заголовка"
@@ -4113,9 +4038,6 @@ msgstr "До"
msgid "Frames"
msgstr "Кадры"
-msgid "Current Frame"
-msgstr "Текущий кадр"
-
msgid "Pause"
msgstr "Пауза"
@@ -4152,12 +4074,6 @@ msgstr "Значение по умолчанию"
msgid "Color Default"
msgstr "Цвет по умолчанию"
-msgid "Canvas"
-msgstr "Холст"
-
-msgid "Navigation Map"
-msgstr "Карта навигации"
-
msgid "Plane"
msgstr "Плоскость"
diff --git a/editor/translations/properties/uk.po b/editor/translations/properties/uk.po
index cce1dbb94c..3a8c69fae5 100644
--- a/editor/translations/properties/uk.po
+++ b/editor/translations/properties/uk.po
@@ -32,8 +32,8 @@ msgstr ""
"Project-Id-Version: Ukrainian (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-09 01:12+0000\n"
-"Last-Translator: Богдан Матвіїв <bomtvv@gmail.com>\n"
+"PO-Revision-Date: 2023-02-10 17:27+0000\n"
+"Last-Translator: Ivan Nosatlev <maxonyt2@gmail.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/godot-engine/"
"godot-properties/uk/>\n"
"Language: uk\n"
@@ -263,9 +263,6 @@ msgstr "Розмір сторінки"
msgid "Blocking Mode Enabled"
msgstr "Увімкнено режим блокування"
-msgid "Connection"
-msgstr "З'єднання"
-
msgid "Read Chunk Size"
msgstr "Розмір фрагмента читання"
@@ -284,9 +281,6 @@ msgstr "Макс. розмір буфера введення"
msgid "Output Buffer Max Size"
msgstr "Макс. розмір буфера виведення"
-msgid "Stream Peer"
-msgstr "Вузол потоку даних"
-
msgid "Resource"
msgstr "Ресурс"
@@ -311,9 +305,6 @@ msgstr "База"
msgid "State"
msgstr "Стан"
-msgid "Source Code"
-msgstr "Початковий код"
-
msgid "Locale"
msgstr "Мова"
@@ -395,15 +386,6 @@ msgstr "Доступ"
msgid "Display Mode"
msgstr "Режим показу"
-msgid "Current Dir"
-msgstr "Поточний каталог"
-
-msgid "Current File"
-msgstr "Поточний файл"
-
-msgid "Current Path"
-msgstr "Поточний шлях"
-
msgid "Show Hidden Files"
msgstr "Показувати приховані файли"
@@ -485,18 +467,12 @@ msgstr "Режим без відволікання"
msgid "Base Type"
msgstr "Базовий тип"
-msgid "Edited Resource"
-msgstr "Редагований ресурс"
-
msgid "Editable"
msgstr "Можна редагувати"
msgid "Toggle Mode"
msgstr "Перемкнути режим"
-msgid "Script Owner"
-msgstr "Власник скрипту"
-
msgid "Editor Language"
msgstr "Мова редактора"
@@ -1195,9 +1171,6 @@ msgstr "Створити на основі"
msgid "Delimiter"
msgstr "Роздільник"
-msgid "Preload"
-msgstr "Попередньо завантажити"
-
msgid "Columns"
msgstr "Стовпчики"
@@ -1378,6 +1351,9 @@ msgstr "Використовувати потоки обробки"
msgid "Available URLs"
msgstr "Доступні адреси"
+msgid "Unset"
+msgstr "Зняти"
+
msgid "Error"
msgstr "Помилка"
@@ -1447,6 +1423,15 @@ msgstr "Попередження"
msgid "ID"
msgstr "Ідентифікатор"
+msgid "Texture"
+msgstr "Текстура"
+
+msgid "Separation"
+msgstr "Розділення"
+
+msgid "Speed"
+msgstr "Швидкість"
+
msgid "Version Control"
msgstr "Керування версіями"
@@ -1525,18 +1510,15 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "Приховати індикатор домівки"
-msgid "Input Devices"
-msgstr "Пристрої вводу"
-
-msgid "Pointing"
-msgstr "Фокус"
-
msgid "Boot Splash"
msgstr "Вітання системи"
msgid "BG Color"
msgstr "Колір тла"
+msgid "Input Devices"
+msgstr "Пристрої вводу"
+
msgid "Environment"
msgstr "Середовище"
@@ -1564,6 +1546,9 @@ msgstr "Буферизація"
msgid "Agile Event Flushing"
msgstr "Зріле витирання подій"
+msgid "Pointing"
+msgstr "Фокус"
+
msgid "Emulate Touch From Mouse"
msgstr "Емулювати дотик з миші"
@@ -1909,9 +1894,6 @@ msgstr "Корінь оболонки"
msgid "Joints Original"
msgstr "Початок з'єднання"
-msgid "Inverse Binds"
-msgstr "Зворотні зв'язки"
-
msgid "Non Joints"
msgstr "Без з'єднань"
@@ -2632,9 +2614,6 @@ msgstr "Режим копіювання"
msgid "Anchor Mode"
msgstr "Режим піктограм"
-msgid "Custom Viewport"
-msgstr "1 панель перегляду"
-
msgid "Left"
msgstr "Ліворуч"
@@ -2650,9 +2629,6 @@ msgstr "Внизу"
msgid "Smoothed"
msgstr "Згладжений"
-msgid "Speed"
-msgstr "Швидкість"
-
msgid "Horizontal Enabled"
msgstr "Увімкнено горизонтально"
@@ -2731,9 +2707,6 @@ msgstr "Локальні координати"
msgid "Draw Order"
msgstr "Порядок малювання"
-msgid "Texture"
-msgstr "Текстура"
-
msgid "Emission Shape"
msgstr "Маска випромінювання"
@@ -2941,21 +2914,6 @@ msgstr "Макс. швидкість"
msgid "Estimate Radius"
msgstr "Оцінка радіуса"
-msgid "Rotation Degrees"
-msgstr "Грудуси обертання"
-
-msgid "Global Rotation"
-msgstr "Загальна стала"
-
-msgid "Global Rotation Degrees"
-msgstr "Градуси загального обертання"
-
-msgid "Global Scale"
-msgstr "Загальний масштаб"
-
-msgid "Global Transform"
-msgstr "Зберегти загальне перетворення"
-
msgid "Scroll"
msgstr "Гортання"
@@ -3613,15 +3571,6 @@ msgstr "Кореневий вузол"
msgid "Current Animation"
msgstr "Встановити анімацію"
-msgid "Assigned Animation"
-msgstr "Додавання анімації"
-
-msgid "Current Animation Length"
-msgstr "Змінити тривалість анімації"
-
-msgid "Current Animation Position"
-msgstr "Додати точку анімації"
-
msgid "Playback Options"
msgstr "Параметри відтворення"
@@ -4018,9 +3967,6 @@ msgstr "Прапорці режиму скидання"
msgid "Audio Track"
msgstr "Доріжка"
-msgid "Volume"
-msgstr "Об'єм"
-
msgid "Paused"
msgstr "Призупинено"
@@ -4030,9 +3976,6 @@ msgstr "Розгорнути"
msgid "Buffering Msec"
msgstr "Буферизація (мс)"
-msgid "Stream Position"
-msgstr "Встановити криву в позиції"
-
msgid "Self Modulate"
msgstr "Самомодуляція"
@@ -4072,12 +4015,6 @@ msgstr "Режим передавання"
msgid "Transfer Channel"
msgstr "Канал перенесення"
-msgid "Owner"
-msgstr "Власник"
-
-msgid "Multiplayer"
-msgstr "Декілька гравців"
-
msgid "Editor Description"
msgstr "Опис"
@@ -4090,15 +4027,6 @@ msgstr "Підказка діагностики зіткнень"
msgid "Debug Navigation Hint"
msgstr "Підказка діагностики навігації"
-msgid "Edited Scene Root"
-msgstr "Новий корінь сцени"
-
-msgid "Current Scene"
-msgstr "Поточна сцена"
-
-msgid "Root"
-msgstr "Корінь"
-
msgid "Multiplayer Poll"
msgstr "Опитування щодо декількох гравців"
@@ -4162,12 +4090,6 @@ msgstr "Вибір об'єктів"
msgid "Disable Input"
msgstr "Вимкнути введення"
-msgid "Canvas Transform"
-msgstr "Перетворення полотна"
-
-msgid "Global Canvas Transform"
-msgstr "Загальне перетворення полотна"
-
msgid "Render Target"
msgstr "Призначення обробки"
@@ -4372,9 +4294,6 @@ msgstr "Фокус коментування"
msgid "Resizer"
msgstr "Засіб зміни розміру"
-msgid "Separation"
-msgstr "Розділення"
-
msgid "Title Offset"
msgstr "Відступ заголовка"
@@ -4885,9 +4804,6 @@ msgstr "HDR"
msgid "Frames"
msgstr "Кадри"
-msgid "Current Frame"
-msgstr "Поточний кадр"
-
msgid "Pause"
msgstr "Пауза"
@@ -4924,15 +4840,9 @@ msgstr "Типове значення"
msgid "Color Default"
msgstr "Завантажити типовий"
-msgid "Canvas"
-msgstr "Полотно"
-
msgid "Fallback Environment"
msgstr "Перегляд середовища"
-msgid "Scenario"
-msgstr "Сценарій"
-
msgid "Plane"
msgstr "Площина"
diff --git a/editor/translations/properties/zh_CN.po b/editor/translations/properties/zh_CN.po
index d623c3ba30..6a8ffd2aa1 100644
--- a/editor/translations/properties/zh_CN.po
+++ b/editor/translations/properties/zh_CN.po
@@ -92,8 +92,8 @@ msgstr ""
"Project-Id-Version: Chinese (Simplified) (Godot Engine)\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: 2018-01-20 12:15+0200\n"
-"PO-Revision-Date: 2023-02-10 10:44+0000\n"
-"Last-Translator: 风青山 <idleman@yeah.net>\n"
+"PO-Revision-Date: 2023-02-17 10:49+0000\n"
+"Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"godot-engine/godot-properties/zh_Hans/>\n"
"Language: zh_CN\n"
@@ -112,6 +112,9 @@ msgstr "配置"
msgid "Name"
msgstr "名称"
+msgid "Name Localized"
+msgstr "名称本地化"
+
msgid "Description"
msgstr "描述"
@@ -148,12 +151,24 @@ msgstr "窗口"
msgid "Size"
msgstr "大小"
+msgid "Viewport Width"
+msgstr "视口宽度"
+
+msgid "Viewport Height"
+msgstr "视口高度"
+
msgid "Mode"
msgstr "模式"
+msgid "Initial Position Type"
+msgstr "初始位置类型"
+
msgid "Initial Position"
msgstr "初始位置"
+msgid "Initial Screen"
+msgstr "初始屏幕"
+
msgid "Resizable"
msgstr "可调整大小"
@@ -172,6 +187,12 @@ msgstr "延伸至标题"
msgid "No Focus"
msgstr "关闭聚焦"
+msgid "Window Width Override"
+msgstr "窗口宽度覆盖"
+
+msgid "Window Height Override"
+msgstr "窗口高度覆盖"
+
msgid "Energy Saving"
msgstr "节能"
@@ -184,12 +205,36 @@ msgstr "音频"
msgid "Buses"
msgstr "总线"
+msgid "Default Bus Layout"
+msgstr "默认总线布局"
+
+msgid "General"
+msgstr "常规"
+
+msgid "2D Panning Strength"
+msgstr "2D 平移强度"
+
+msgid "3D Panning Strength"
+msgstr "3D 平移强度"
+
msgid "Editor"
msgstr "编辑器"
msgid "Main Run Args"
msgstr "主运行参数"
+msgid "Script"
+msgstr "脚本"
+
+msgid "Search in File Extensions"
+msgstr "搜索文件扩展名"
+
+msgid "Templates Search Path"
+msgstr "模板搜索路径"
+
+msgid "Naming"
+msgstr "命名"
+
msgid "Default Signal Callback Name"
msgstr "默认信号回调名称"
@@ -214,9 +259,36 @@ msgstr "调试"
msgid "Settings"
msgstr "设置"
+msgid "Profiler"
+msgstr "分析器"
+
+msgid "Max Functions"
+msgstr "最大函数数"
+
msgid "Compression"
msgstr "压缩"
+msgid "Formats"
+msgstr "格式"
+
+msgid "Zstd"
+msgstr "Zstd"
+
+msgid "Long Distance Matching"
+msgstr "长距离匹配"
+
+msgid "Compression Level"
+msgstr "压缩级别"
+
+msgid "Window Log Size"
+msgstr "窗口对数大小"
+
+msgid "Zlib"
+msgstr "Zlib"
+
+msgid "Gzip"
+msgstr "Gzip"
+
msgid "Crash Handler"
msgstr "崩溃处理器"
@@ -229,9 +301,21 @@ msgstr "渲染"
msgid "Occlusion Culling"
msgstr "遮挡剔除"
+msgid "BVH Build Quality"
+msgstr "BVH 构建质量"
+
+msgid "Memory"
+msgstr "内存"
+
msgid "Limits"
msgstr "限制"
+msgid "Multithreaded Server"
+msgstr "多线程服务器"
+
+msgid "RID Pool Prealloc"
+msgstr "RID 池预分配"
+
msgid "Internationalization"
msgstr "国际化"
@@ -241,6 +325,12 @@ msgstr "强制从右至左的布局方向"
msgid "GUI"
msgstr "GUI"
+msgid "Timers"
+msgstr "计时器"
+
+msgid "Incremental Search Max Interval Msec"
+msgstr "增量搜索最大间隔(毫秒)"
+
msgid "Rendering Device"
msgstr "渲染设备"
@@ -260,7 +350,7 @@ msgid "Vulkan"
msgstr "Vulkan"
msgid "Max Descriptors per Pool"
-msgstr "各池最大描述符数"
+msgstr "单池最大描述符数"
msgid "Low Processor Usage Mode"
msgstr "低处理器使用模式"
@@ -418,15 +508,18 @@ msgstr "大端序"
msgid "Network"
msgstr "网络"
+msgid "Remote FS"
+msgstr "远程文件系统"
+
msgid "Page Size"
msgstr "页大小"
+msgid "Page Read Ahead"
+msgstr "预读页数"
+
msgid "Blocking Mode Enabled"
msgstr "启用阻塞模式"
-msgid "Connection"
-msgstr "连接"
-
msgid "Read Chunk Size"
msgstr "读取块大小"
@@ -436,12 +529,6 @@ msgstr "数据"
msgid "Object ID"
msgstr "对象 ID"
-msgid "Original Class"
-msgstr "原始类"
-
-msgid "Recording Properties"
-msgstr "记录属性"
-
msgid "Encode Buffer Max Size"
msgstr "编码缓冲区最大大小"
@@ -451,9 +538,6 @@ msgstr "输入缓冲区最大大小"
msgid "Output Buffer Max Size"
msgstr "输出缓冲区最大大小"
-msgid "Stream Peer"
-msgstr "流对等体"
-
msgid "Resource"
msgstr "资源"
@@ -493,12 +577,30 @@ msgstr "种子"
msgid "State"
msgstr "状态"
-msgid "Source Code"
-msgstr "源代码"
+msgid "Message Queue"
+msgstr "消息队列"
+
+msgid "Max Size (KB)"
+msgstr "最大大小(KB)"
+
+msgid "TCP"
+msgstr "TCP"
+
+msgid "Connect Timeout Seconds"
+msgstr "连接超时秒数"
+
+msgid "Packet Peer Stream"
+msgstr "数据包对等体流"
+
+msgid "Max Buffer (Power of 2)"
+msgstr "最大缓冲区(2 的幂)"
msgid "TLS"
msgstr "TLS"
+msgid "Certificate Bundle Override"
+msgstr "证书捆绑包覆盖"
+
msgid "Threading"
msgstr "多线程"
@@ -623,7 +725,7 @@ msgid "Profiler Frame Max Functions"
msgstr "性能分析器帧最大函数数"
msgid "Default Feature Profile"
-msgstr "默认功能配置文件"
+msgstr "默认功能配置"
msgid "Access"
msgstr "访问"
@@ -634,15 +736,6 @@ msgstr "显示模式"
msgid "File Mode"
msgstr "文件模式"
-msgid "Current Dir"
-msgstr "当前目录"
-
-msgid "Current File"
-msgstr "当前文件"
-
-msgid "Current Path"
-msgstr "当前路径"
-
msgid "Show Hidden Files"
msgstr "显示隐藏文件"
@@ -688,6 +781,9 @@ msgstr "制作关键帧"
msgid "Deletable"
msgstr "可删除"
+msgid "Scene Name Casing"
+msgstr "场景名称大小写"
+
msgid "Interface"
msgstr "界面"
@@ -748,18 +844,12 @@ msgstr "专注模式"
msgid "Base Type"
msgstr "基础类型"
-msgid "Edited Resource"
-msgstr "编辑资源"
-
msgid "Editable"
msgstr "可编辑"
msgid "Toggle Mode"
msgstr "切换模式"
-msgid "Script Owner"
-msgstr "脚本所有者"
-
msgid "Editor Language"
msgstr "编辑器语言"
@@ -788,7 +878,7 @@ msgid "Code Font Contextual Ligatures"
msgstr "代码字体上下文连字"
msgid "Code Font Custom OpenType Features"
-msgstr "代码字体自定义 OpenType 功能"
+msgstr "代码字体自定义 OpenType 特性"
msgid "Code Font Custom Variations"
msgstr "代码字体自定义变体"
@@ -842,7 +932,7 @@ msgid "Max Array Dictionary Items per Page"
msgstr "每页最大数组字典条目数"
msgid "Show Low Level OpenType Features"
-msgstr "显示低级 OpenType 功能"
+msgstr "显示低阶 OpenType 特性"
msgid "Theme"
msgstr "主题"
@@ -850,6 +940,9 @@ msgstr "主题"
msgid "Preset"
msgstr "预设"
+msgid "Enable Touchscreen Touch Area"
+msgstr "启用触摸屏触摸区"
+
msgid "Icon and Font Color"
msgstr "图标与字体颜色"
@@ -998,7 +1091,7 @@ msgid "Line Length Guideline Hard Column"
msgstr "行长度硬参考线列数"
msgid "Gutters"
-msgstr "装订线"
+msgstr "边栏"
msgid "Show Line Numbers"
msgstr "显示行号"
@@ -1202,10 +1295,10 @@ msgid "Default FOV"
msgstr "默认 FOV"
msgid "Default Z Near"
-msgstr "默认 Z Near"
+msgstr "默认近平面 Z"
msgid "Default Z Far"
-msgstr "默认 Z Far"
+msgstr "默认远平面 Z"
msgid "Invert X Axis"
msgstr "翻转 X 轴"
@@ -1249,6 +1342,9 @@ msgstr "环绕惯性"
msgid "Translation Inertia"
msgstr "平移惯性"
+msgid "Zoom Inertia"
+msgstr "缩放惯性"
+
msgid "Freelook"
msgstr "自由观看"
@@ -1744,9 +1840,6 @@ msgstr "创建自"
msgid "Delimiter"
msgstr "分隔符"
-msgid "Preload"
-msgstr "预加载"
-
msgid "Character Ranges"
msgstr "字符范围"
@@ -1762,6 +1855,9 @@ msgstr "图片边距"
msgid "Character Margin"
msgstr "字符边距"
+msgid "High Quality"
+msgstr "高质量"
+
msgid "Lossy Quality"
msgstr "有损质量"
@@ -1831,12 +1927,45 @@ msgstr "高级"
msgid "Precision"
msgstr "精度"
+msgid "Max Concavity"
+msgstr "最大凹度"
+
msgid "Symmetry Planes Clipping Bias"
msgstr "对称平面裁剪偏置"
+msgid "Revolution Axes Clipping Bias"
+msgstr "旋转轴裁剪偏置"
+
+msgid "Min Volume per Convex Hull"
+msgstr "单凸包最小体积"
+
+msgid "Resolution"
+msgstr "解析度"
+
+msgid "Max Num Vertices per Convex Hull"
+msgstr "单凸包最大顶点数"
+
+msgid "Plane Downsampling"
+msgstr "平面降采样"
+
+msgid "Convexhull Downsampling"
+msgstr "凸包降采样"
+
msgid "Normalize Mesh"
msgstr "归一化网格"
+msgid "Convexhull Approximation"
+msgstr "凸包近似"
+
+msgid "Max Convex Hulls"
+msgstr "最大凸包数"
+
+msgid "Project Hull Vertices"
+msgstr "投射包顶点"
+
+msgid "Primitive"
+msgstr "图元"
+
msgid "Height"
msgstr "高度"
@@ -1855,15 +1984,15 @@ msgstr "保存为文件"
msgid "Enabled"
msgstr "启用"
+msgid "Make Streamable"
+msgstr "使可流式传输"
+
msgid "Shadow Meshes"
msgstr "阴影网格"
msgid "Lightmap UV"
msgstr "光照贴图 UV"
-msgid "Lods"
-msgstr "LOD"
-
msgid "Normal Split Angle"
msgstr "法线拆分角度"
@@ -1918,9 +2047,6 @@ msgstr "网格"
msgid "Ensure Tangents"
msgstr "确保切线"
-msgid "Generate Lods"
-msgstr "生成 LOD"
-
msgid "Create Shadow Meshes"
msgstr "创建阴影网格"
@@ -1939,6 +2065,12 @@ msgstr "使用具名蒙皮"
msgid "FPS"
msgstr "FPS"
+msgid "Trimming"
+msgstr "修剪"
+
+msgid "Remove Immutable Tracks"
+msgstr "移除不可修改的轨道"
+
msgid "Import Script"
msgstr "导入脚本"
@@ -2000,13 +2132,13 @@ msgid "Trim Alpha Border From Region"
msgstr "从区域修剪 Alpha 边框"
msgid "Force"
-msgstr "力"
+msgstr "强制"
msgid "8 Bit"
msgstr "8 位"
msgid "Mono"
-msgstr "Mono"
+msgstr "单声道"
msgid "Max Rate"
msgstr "最大频率"
@@ -2038,6 +2170,18 @@ msgstr "使用线程"
msgid "Available URLs"
msgstr "可用 URL"
+msgid "Current Group Idx"
+msgstr "当前分组索引"
+
+msgid "Current Bone Idx"
+msgstr "当前骨骼索引"
+
+msgid "Bone Mapper"
+msgstr "骨骼映射器"
+
+msgid "Handle Colors"
+msgstr "手柄颜色"
+
msgid "Unset"
msgstr "未设置"
@@ -2077,6 +2221,12 @@ msgstr "贴花"
msgid "Voxel GI"
msgstr "体素 GI"
+msgid "Lightmap Lines"
+msgstr "光照贴图线"
+
+msgid "Lightprobe Lines"
+msgstr "光照探针线"
+
msgid "Joint Body A"
msgstr "关节实体 A"
@@ -2101,6 +2251,9 @@ msgstr "显示视口导航小工具"
msgid "Auto Reload and Parse Scripts on Save"
msgstr "保存时自动重新加载并解析脚本"
+msgid "Open Dominant Script on Scene Change"
+msgstr "场景变化时打开主要脚本"
+
msgid "External"
msgstr "外部"
@@ -2137,6 +2290,9 @@ msgstr "选中骨骼"
msgid "Gizmo Settings"
msgstr "小工具设置"
+msgid "Bone Axis Length"
+msgstr "骨骼轴长度"
+
msgid "Bone Shape"
msgstr "骨骼形状"
@@ -2152,6 +2308,15 @@ msgstr "将警告当作错误"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "纹理"
+
+msgid "Separation"
+msgstr "间距"
+
+msgid "Speed"
+msgstr "速度"
+
msgid "Version Control"
msgstr "版本控制"
@@ -2170,9 +2335,6 @@ msgstr "SSH 公钥路径"
msgid "SSH Private Key Path"
msgstr "SSH 私钥路径"
-msgid "Edited Property"
-msgstr "编辑的属性"
-
msgid "Show Scene Tree Root Selection"
msgstr "显示场景树根选择"
@@ -2185,6 +2347,18 @@ msgstr "使用收藏根选择"
msgid "Flush stdout on Print"
msgstr "打印时清空标准输出"
+msgid "Max Chars per Second"
+msgstr "每秒最大字符数"
+
+msgid "Max Queued Messages"
+msgstr "最大排队消息数"
+
+msgid "Max Errors per Second"
+msgstr "每秒最大错误数"
+
+msgid "Max Warnings per Second"
+msgstr "每秒最大警告数"
+
msgid "File Logging"
msgstr "文件日志"
@@ -2194,6 +2368,9 @@ msgstr "启用文件日志"
msgid "Log Path"
msgstr "日志路径"
+msgid "Max Log Files"
+msgstr "最大日志文件数"
+
msgid "Driver"
msgstr "驱动"
@@ -2254,6 +2431,9 @@ msgstr "输出 GPU 配置"
msgid "Verbose stdout"
msgstr "冗长标准输出"
+msgid "Frame Delay Msec"
+msgstr "帧延迟(毫秒)"
+
msgid "Low Processor Mode"
msgstr "低处理器模式"
@@ -2269,11 +2449,8 @@ msgstr "隐藏 Home 指示条"
msgid "Hide Status Bar"
msgstr "隐藏状态栏"
-msgid "Input Devices"
-msgstr "输入设备"
-
-msgid "Pointing"
-msgstr "指点"
+msgid "Suppress UI Gesture"
+msgstr "抑制 UI 手势"
msgid "XR"
msgstr "XR"
@@ -2281,15 +2458,33 @@ msgstr "XR"
msgid "OpenXR"
msgstr "OpenXR"
+msgid "Default Action Map"
+msgstr "默认动作映射"
+
+msgid "Form Factor"
+msgstr "构成因素"
+
+msgid "View Configuration"
+msgstr "视图配置"
+
+msgid "Reference Space"
+msgstr "参照空间"
+
msgid "Submit Depth Buffer"
msgstr "提交深度缓冲区"
+msgid "In Editor"
+msgstr "在编辑器中"
+
msgid "Boot Splash"
-msgstr "启动页"
+msgstr "启动画面"
msgid "BG Color"
msgstr "背景色"
+msgid "Input Devices"
+msgstr "输入设备"
+
msgid "Pen Tablet"
msgstr "数位板"
@@ -2317,12 +2512,21 @@ msgstr "使用过滤"
msgid "Icon"
msgstr "图标"
+msgid "macOS Native Icon"
+msgstr "macOS 原生图标"
+
+msgid "Windows Native Icon"
+msgstr "Windows 原生图标"
+
msgid "Buffering"
msgstr "缓冲"
msgid "Agile Event Flushing"
msgstr "敏捷事件处理"
+msgid "Pointing"
+msgstr "指点"
+
msgid "Emulate Touch From Mouse"
msgstr "用鼠标模拟触摸"
@@ -2335,12 +2539,18 @@ msgstr "文本驱动"
msgid "Mouse Cursor"
msgstr "鼠标光标"
+msgid "Custom Image"
+msgstr "自定义图像"
+
msgid "Custom Image Hotspot"
msgstr "自定义图像热区"
msgid "Tooltip Position Offset"
msgstr "工具提示位置偏移"
+msgid "Minimum Display Time"
+msgstr "最短显示时间"
+
msgid "Dotnet"
msgstr ".NET"
@@ -2389,8 +2599,11 @@ msgstr "使用过采样"
msgid "Textures"
msgstr "纹理"
+msgid "Canvas Textures"
+msgstr "画布纹理"
+
msgid "Default Texture Filter"
-msgstr "默认纹理过滤器"
+msgstr "默认纹理过滤"
msgid "Default Texture Repeat"
msgstr "默认纹理重复"
@@ -2515,6 +2728,9 @@ msgstr "注解颜色"
msgid "String Name Color"
msgstr "StringName 颜色"
+msgid "Max Call Stack"
+msgstr "最大调用堆栈"
+
msgid "Exclude Addons"
msgstr "排除插件"
@@ -2530,6 +2746,9 @@ msgstr "编辑器中显示原生符号"
msgid "Use Thread"
msgstr "使用线程"
+msgid "Embedded Image Handling"
+msgstr "嵌入图像处理"
+
msgid "Color"
msgstr "颜色"
@@ -2620,15 +2839,27 @@ msgstr "唯一动画名称"
msgid "Skeletons"
msgstr "骨架"
+msgid "Skeleton to Node"
+msgstr "骨架转节点"
+
msgid "Create Animations"
msgstr "创建动画"
msgid "Animations"
msgstr "动画"
+msgid "Handle Binary Image"
+msgstr "处理二进制图像"
+
msgid "Blender"
msgstr "Blender"
+msgid "RPC Port"
+msgstr "RPC 端口"
+
+msgid "RPC Server Uptime"
+msgstr "RPC 服务器在线时间"
+
msgid "Blender 3 Path"
msgstr "Blender 3 路径"
@@ -2698,6 +2929,15 @@ msgstr "透视"
msgid "FOV"
msgstr "FOV"
+msgid "Size Mag"
+msgstr "放大大小"
+
+msgid "Depth Far"
+msgstr "深度远平面"
+
+msgid "Depth Near"
+msgstr "深度近平面"
+
msgid "Blend Weights"
msgstr "混合权重"
@@ -2734,9 +2974,6 @@ msgstr "蒙皮根"
msgid "Joints Original"
msgstr "原关节"
-msgid "Inverse Binds"
-msgstr "反转绑定"
-
msgid "Non Joints"
msgstr "非关节"
@@ -2750,10 +2987,16 @@ msgid "Sampler"
msgstr "采样器"
msgid "Mag Filter"
-msgstr "放大过滤器"
+msgstr "放大过滤"
msgid "Min Filter"
-msgstr "缩小过滤器"
+msgstr "缩小过滤"
+
+msgid "Wrap S"
+msgstr "包裹 S"
+
+msgid "Wrap T"
+msgstr "包裹 T"
msgid "Palette Min Width"
msgstr "调色板最小宽度"
@@ -2819,25 +3062,25 @@ msgid "Bake Performance"
msgstr "烘焙性能"
msgid "Max Rays per Pass"
-msgstr "每个通道的最大射线数"
+msgstr "单通道最大射线数"
msgid "Region Size"
-msgstr "区块大小"
+msgstr "区域大小"
msgid "Low Quality Probe Ray Count"
-msgstr "低等质量探针射线计数"
+msgstr "低等质量探针射线数"
msgid "Medium Quality Probe Ray Count"
-msgstr "中等质量探针射线计数"
+msgstr "中等质量探针射线数"
msgid "High Quality Probe Ray Count"
-msgstr "高等质量探针射线计数"
+msgstr "高等质量探针射线数"
msgid "Ultra Quality Probe Ray Count"
-msgstr "超高质量探针射线计数"
+msgstr "超高质量探针射线数"
msgid "Max Rays per Probe Pass"
-msgstr "探针每个阶段的最大射线数"
+msgstr "探针单阶段最大射线数"
msgid "Primitive Meshes"
msgstr "基本网格"
@@ -2866,6 +3109,9 @@ msgstr "IOD"
msgid "Display Width"
msgstr "显示宽度"
+msgid "Display to Lens"
+msgstr "显示器至镜头"
+
msgid "Oversample"
msgstr "过采样"
@@ -2929,9 +3175,15 @@ msgstr "空隙度"
msgid "Gain"
msgstr "增益"
+msgid "Weighted Strength"
+msgstr "加权强度"
+
msgid "Ping Pong Strength"
msgstr "乒乓强度"
+msgid "Cellular"
+msgstr "细胞"
+
msgid "Distance Function"
msgstr "距离函数"
@@ -2941,18 +3193,39 @@ msgstr "抖动"
msgid "Return Type"
msgstr "返回类型"
+msgid "Domain Warp"
+msgstr "域扭曲"
+
+msgid "Amplitude"
+msgstr "振幅"
+
msgid "Fractal Type"
msgstr "分形类型"
+msgid "Fractal Octaves"
+msgstr "分形倍频"
+
+msgid "Fractal Lacunarity"
+msgstr "分形空隙"
+
+msgid "Fractal Gain"
+msgstr "分形增益"
+
msgid "Width"
msgstr "宽度"
msgid "Invert"
msgstr "翻转"
+msgid "In 3D Space"
+msgstr "在 3D 空间"
+
msgid "Seamless"
msgstr "无缝"
+msgid "Seamless Blend Skirt"
+msgstr "无缝混边"
+
msgid "As Normal Map"
msgstr "作为法线贴图"
@@ -2971,9 +3244,27 @@ msgstr "本地化名称"
msgid "Action Type"
msgstr "动作类型"
+msgid "Toplevel Paths"
+msgstr "顶层路径"
+
+msgid "Paths"
+msgstr "路径"
+
msgid "Interaction Profile Path"
msgstr "交互配置路径"
+msgid "Display Refresh Rate"
+msgstr "显示刷新率"
+
+msgid "Hand"
+msgstr "手别"
+
+msgid "Motion Range"
+msgstr "运动范围"
+
+msgid "Hand Skeleton"
+msgstr "手骨架"
+
msgid "Subject"
msgstr "对象"
@@ -3091,6 +3382,12 @@ msgstr "自适应前景 432×432"
msgid "Adaptive Background 432 X 432"
msgstr "自适应背景 432×432"
+msgid "Gradle Build"
+msgstr "Gradle 构建"
+
+msgid "Use Gradle Build"
+msgstr "使用 Gradle 构建"
+
msgid "Export Format"
msgstr "导出格式"
@@ -3290,7 +3587,7 @@ msgid "App Store Team ID"
msgstr "App Store 团队 ID"
msgid "Provisioning Profile UUID Debug"
-msgstr "调试配置文件 UUID"
+msgstr "调试配置 UUID"
msgid "Code Sign Identity Debug"
msgstr "调试代码签名身份"
@@ -3299,7 +3596,7 @@ msgid "Export Method Debug"
msgstr "调试导出方法"
msgid "Provisioning Profile UUID Release"
-msgstr "发布配置文件 UUID"
+msgstr "发布配置 UUID"
msgid "Code Sign Identity Release"
msgstr "发布代码签名身份"
@@ -3790,6 +4087,9 @@ msgstr "文件描述"
msgid "Trademarks"
msgstr "商标"
+msgid "Sprite Frames"
+msgstr "精灵帧"
+
msgid "Frame"
msgstr "帧号"
@@ -3820,6 +4120,9 @@ msgstr "空间覆盖"
msgid "Point"
msgstr "点"
+msgid "Point Unit Distance"
+msgstr "点单位距离"
+
msgid "Point Center"
msgstr "点中心"
@@ -3880,9 +4183,6 @@ msgstr "锚点模式"
msgid "Ignore Rotation"
msgstr "忽略旋转"
-msgid "Custom Viewport"
-msgstr "自定义视口"
-
msgid "Process Callback"
msgstr "处理回调"
@@ -3890,13 +4190,13 @@ msgid "Left"
msgstr "左"
msgid "Top"
-msgstr "顶部"
+msgstr "顶"
msgid "Right"
msgstr "右"
msgid "Bottom"
-msgstr "底部"
+msgstr "底"
msgid "Smoothed"
msgstr "平滑"
@@ -3913,9 +4213,6 @@ msgstr "位置平滑速度"
msgid "Rotation Smoothing"
msgstr "旋转平滑"
-msgid "Speed"
-msgstr "速度"
-
msgid "Drag"
msgstr "拖动"
@@ -4027,9 +4324,6 @@ msgstr "本地坐标"
msgid "Draw Order"
msgstr "绘制顺序"
-msgid "Texture"
-msgstr "纹理"
-
msgid "Emission Shape"
msgstr "发射形状"
@@ -4186,6 +4480,12 @@ msgstr "可见矩形"
msgid "Trails"
msgstr "尾迹"
+msgid "Sections"
+msgstr "节"
+
+msgid "Section Subdivisions"
+msgstr "节细分"
+
msgid "Node A"
msgstr "节点 A"
@@ -4241,7 +4541,7 @@ msgid "Shadow"
msgstr "阴影"
msgid "Filter Smooth"
-msgstr "过滤器平滑"
+msgstr "过滤平滑"
msgid "Texture Scale"
msgstr "纹理缩放"
@@ -4327,6 +4627,9 @@ msgstr "避障"
msgid "Avoidance Enabled"
msgstr "启用避障"
+msgid "Neighbor Distance"
+msgstr "邻接距离"
+
msgid "Max Neighbors"
msgstr "最大相邻数"
@@ -4342,6 +4645,9 @@ msgstr "双向的"
msgid "Start Position"
msgstr "开始位置"
+msgid "End Position"
+msgstr "结束位置"
+
msgid "Enter Cost"
msgstr "进入消耗"
@@ -4354,27 +4660,9 @@ msgstr "估算半径"
msgid "Navigation Polygon"
msgstr "导航多边形"
-msgid "Rotation Degrees"
-msgstr "旋转角度"
-
msgid "Skew"
msgstr "偏斜"
-msgid "Global Rotation"
-msgstr "全局旋转"
-
-msgid "Global Rotation Degrees"
-msgstr "全局旋转角度"
-
-msgid "Global Scale"
-msgstr "全局缩放"
-
-msgid "Global Skew"
-msgstr "全局倾斜"
-
-msgid "Global Transform"
-msgstr "全局变换"
-
msgid "Scroll"
msgstr "滚动"
@@ -4573,6 +4861,9 @@ msgstr "排除父节点"
msgid "Target Position"
msgstr "目标位置"
+msgid "Hit From Inside"
+msgstr "从内部命中"
+
msgid "Collide With"
msgstr "参与碰撞"
@@ -4669,6 +4960,9 @@ msgstr "经过点击"
msgid "Visibility Mode"
msgstr "可见模式"
+msgid "Enabling"
+msgstr "启用"
+
msgid "Node Path"
msgstr "节点路径"
@@ -4751,10 +5045,10 @@ msgid "Frustum Offset"
msgstr "视锥偏移"
msgid "Near"
-msgstr "Near"
+msgstr "近平面"
msgid "Far"
-msgstr "Far"
+msgstr "远平面"
msgid "Ray Pickable"
msgstr "射线可拾取"
@@ -4793,7 +5087,7 @@ msgid "Albedo"
msgstr "反照率"
msgid "Normal"
-msgstr "法线"
+msgstr "正常"
msgid "Orm"
msgstr "Orm"
@@ -4819,6 +5113,12 @@ msgstr "法线淡化"
msgid "Vertical Fade"
msgstr "垂直淡化"
+msgid "Upper Fade"
+msgstr "上侧淡出"
+
+msgid "Lower Fade"
+msgstr "下侧淡出"
+
msgid "Distance Fade"
msgstr "距离淡出"
@@ -4858,6 +5158,9 @@ msgstr "骨架路径"
msgid "Solver Priority"
msgstr "求解器优先级"
+msgid "Exclude Nodes From Collision"
+msgstr "从碰撞中排除节点"
+
msgid "Params"
msgstr "参数"
@@ -4978,6 +5281,9 @@ msgstr "Alpha 切除"
msgid "Alpha Scissor Threshold"
msgstr "Alpha 裁剪阈值"
+msgid "Alpha Hash Scale"
+msgstr "Alpha 哈希比例"
+
msgid "Alpha Antialiasing Mode"
msgstr "Alpha 抗锯齿模式"
@@ -4985,7 +5291,7 @@ msgid "Alpha Antialiasing Edge"
msgstr "边缘 Alpha 抗锯齿"
msgid "Texture Filter"
-msgstr "纹理过滤器"
+msgstr "纹理过滤"
msgid "Render Priority"
msgstr "渲染优先级"
@@ -5062,6 +5368,9 @@ msgstr "法线偏置"
msgid "Reverse Cull Face"
msgstr "反转剔除表面"
+msgid "Transmittance Bias"
+msgstr "透射率偏置"
+
msgid "Opacity"
msgstr "不透明度"
@@ -5137,6 +5446,9 @@ msgstr "自定义能量"
msgid "Camera Attributes"
msgstr "相机属性"
+msgid "Gen Probes"
+msgstr "生成探针"
+
msgid "Subdiv"
msgstr "细分"
@@ -5332,6 +5644,9 @@ msgstr "色彩能量"
msgid "Bones"
msgstr "骨骼"
+msgid "Motion Scale"
+msgstr "运动缩放"
+
msgid "Show Rest Only"
msgstr "仅显示放松"
@@ -5554,6 +5869,12 @@ msgstr "淡入淡出时间"
msgid "Xfade Curve"
msgstr "淡入淡出曲线"
+msgid "Allow Transition to Self"
+msgstr "允许自我过渡"
+
+msgid "Input Count"
+msgstr "输入数"
+
msgid "Request"
msgstr "请求"
@@ -5566,6 +5887,9 @@ msgstr "叠加量"
msgid "Blend Amount"
msgstr "混合量"
+msgid "Seek Request"
+msgstr "检索请求"
+
msgid "Current Index"
msgstr "当前索引"
@@ -5593,24 +5917,18 @@ msgstr "条件"
msgid "Expression"
msgstr "表达式"
+msgid "Libraries"
+msgstr "库"
+
msgid "Root Node"
msgstr "根节点"
msgid "Current Animation"
msgstr "当前动画"
-msgid "Assigned Animation"
-msgstr "分配动画"
-
msgid "Reset on Save"
msgstr "保存时重置"
-msgid "Current Animation Length"
-msgstr "当前动画长度"
-
-msgid "Current Animation Position"
-msgstr "当前动画位置"
-
msgid "Playback Options"
msgstr "播放选项"
@@ -5623,6 +5941,9 @@ msgstr "默认混合时间"
msgid "Method Call Mode"
msgstr "方法调用模式"
+msgid "Audio Max Polyphony"
+msgstr "音频最大复音数"
+
msgid "Movie Quit on Finish"
msgstr "结束时退出电影"
@@ -5677,12 +5998,21 @@ msgstr "快捷键反馈"
msgid "Shortcut in Tooltip"
msgstr "工具提示显示快捷键"
+msgid "Button Shortcut Feedback Highlight Time"
+msgstr "按钮快捷键反馈高亮时间"
+
+msgid "Text Behavior"
+msgstr "文本行为"
+
msgid "Text Overrun Behavior"
msgstr "文本超限行为"
msgid "Clip Text"
msgstr "裁剪文本"
+msgid "Icon Behavior"
+msgstr "图标行为"
+
msgid "Icon Alignment"
msgstr "图标对齐"
@@ -5749,6 +6079,9 @@ msgstr "自动补全大括号"
msgid "Highlight Matching"
msgstr "高亮匹配项"
+msgid "Pairs"
+msgstr "成对符号"
+
msgid "Edit Alpha"
msgstr "编辑 Alpha"
@@ -5822,7 +6155,7 @@ msgid "Auto Translate"
msgstr "自动翻译"
msgid "Localize Numeral System"
-msgstr "本地化数字系统"
+msgstr "本地化记数系统"
msgid "Tooltip"
msgstr "工具提示"
@@ -6178,6 +6511,9 @@ msgstr "相对索引"
msgid "Bbcode Enabled"
msgstr "启用 Bbcode"
+msgid "Fit Content"
+msgstr "适配内容"
+
msgid "Scroll Active"
msgstr "滚动激活"
@@ -6292,6 +6628,9 @@ msgstr "选项卡"
msgid "Tabs Visible"
msgstr "选项卡可见"
+msgid "All Tabs in Front"
+msgstr "所有选项卡前置"
+
msgid "Use Hidden Tabs for Min Size"
msgstr "最小大小考虑隐藏选项卡"
@@ -6322,6 +6661,12 @@ msgstr "右键点击时移动"
msgid "Multiple"
msgstr "多个"
+msgid "Text Edit Idle Detect (sec)"
+msgstr "TextEdit 空闲检测(秒)"
+
+msgid "Text Edit Undo Stack Max Size"
+msgstr "TextEdit 撤消栈最大大小"
+
msgid "Hover"
msgstr "悬停"
@@ -6394,9 +6739,6 @@ msgstr "启用垂直滚动"
msgid "Audio Track"
msgstr "音频轨道"
-msgid "Volume"
-msgstr "体积"
-
msgid "Paused"
msgstr "暂停"
@@ -6406,9 +6748,6 @@ msgstr "扩展"
msgid "Buffering Msec"
msgstr "缓冲毫秒"
-msgid "Stream Position"
-msgstr "流位置"
-
msgid "Self Modulate"
msgstr "自我调制"
@@ -6472,23 +6811,17 @@ msgstr "最大跳转"
msgid "Timeout"
msgstr "超时"
-msgid "Multiplayer Peer"
-msgstr "多人对等体"
-
msgid "Transfer Mode"
msgstr "传输模式"
msgid "Transfer Channel"
msgstr "传输通道"
-msgid "Scene File Path"
-msgstr "场景文件路径"
-
-msgid "Owner"
-msgstr "拥有者"
+msgid "Node Name Num Separator"
+msgstr "节点名称编号分隔符"
-msgid "Multiplayer"
-msgstr "多人"
+msgid "Node Name Casing"
+msgstr "节点名称大小写"
msgid "Editor Description"
msgstr "编辑器描述"
@@ -6505,15 +6838,6 @@ msgstr "调试路径提示"
msgid "Debug Navigation Hint"
msgstr "调试导航提示"
-msgid "Edited Scene Root"
-msgstr "编辑场景根"
-
-msgid "Current Scene"
-msgstr "当前场景"
-
-msgid "Root"
-msgstr "根"
-
msgid "Multiplayer Poll"
msgstr "多人轮询"
@@ -6532,6 +6856,9 @@ msgstr "几何体颜色"
msgid "Geometry Width"
msgstr "几何体宽度"
+msgid "Max Contacts Displayed"
+msgstr "最大显示接触数"
+
msgid "Draw 2D Outlines"
msgstr "绘制 2D 轮廓"
@@ -6562,12 +6889,24 @@ msgstr "使用去条带"
msgid "Use Occlusion Culling"
msgstr "使用遮挡剔除"
+msgid "Mesh LOD"
+msgstr "网格 LOD"
+
+msgid "LOD Change"
+msgstr "LOD 更改"
+
+msgid "Threshold Pixels"
+msgstr "阈值像素"
+
msgid "Snap 2D Transforms to Pixel"
msgstr "将 2D 变换捕捉到像素"
msgid "Snap 2D Vertices to Pixel"
msgstr "将 2D 顶点吸附到像素"
+msgid "VRS"
+msgstr "VRS"
+
msgid "Lights and Shadows"
msgstr "灯光与阴影"
@@ -6578,7 +6917,19 @@ msgid "Atlas Size"
msgstr "图集大小"
msgid "Atlas 16 Bits"
-msgstr "图集 16 位"
+msgstr "16 位图集"
+
+msgid "Atlas Quadrant 0 Subdiv"
+msgstr "图集象限 0 细分"
+
+msgid "Atlas Quadrant 1 Subdiv"
+msgstr "图集象限 1 细分"
+
+msgid "Atlas Quadrant 2 Subdiv"
+msgstr "图集象限 2 细分"
+
+msgid "Atlas Quadrant 3 Subdiv"
+msgstr "图集象限 3 细分"
msgid "SDF"
msgstr "SDF"
@@ -6586,6 +6937,9 @@ msgstr "SDF"
msgid "Oversize"
msgstr "显示缩放"
+msgid "Default Environment"
+msgstr "默认环境"
+
msgid "Enable Object Picking"
msgstr "启用对象拾取"
@@ -6610,9 +6964,6 @@ msgstr "自有 3D 世界"
msgid "World 3D"
msgstr "3D 世界"
-msgid "World 2D"
-msgstr "2D 世界"
-
msgid "Transparent BG"
msgstr "透明背景"
@@ -6655,6 +7006,9 @@ msgstr "启用 3D"
msgid "Object Picking"
msgstr "对象拾取"
+msgid "Object Picking Sort"
+msgstr "对象拾取排序"
+
msgid "Disable Input"
msgstr "禁用输入"
@@ -6676,15 +7030,12 @@ msgstr "四方形 2"
msgid "Quad 3"
msgstr "四方形 3"
-msgid "Canvas Transform"
-msgstr "画布变换"
-
-msgid "Global Canvas Transform"
-msgstr "全局画布变换"
-
msgid "Canvas Cull Mask"
msgstr "画布剔除遮罩"
+msgid "Tooltip Delay (sec)"
+msgstr "工具提示延迟(毫秒)"
+
msgid "Size 2D Override"
msgstr "2D 大小覆盖"
@@ -6770,7 +7121,7 @@ msgid "Stereo"
msgstr "立体声"
msgid "Profile"
-msgstr "配置文件"
+msgstr "配置"
msgid "Bonemap"
msgstr "骨骼映射"
@@ -6782,7 +7133,7 @@ msgid "Sensitivity"
msgstr "灵敏度"
msgid "Multiplier"
-msgstr "乘数"
+msgstr "倍数"
msgid "Auto Exposure"
msgstr "自动曝光"
@@ -7231,9 +7582,6 @@ msgstr "关闭颜色"
msgid "Resizer Color"
msgstr "大小调整器颜色"
-msgid "Separation"
-msgstr "间距"
-
msgid "Title Offset"
msgstr "标题偏移"
@@ -7550,7 +7898,7 @@ msgid "Node"
msgstr "节点"
msgid "Energy Multiplier"
-msgstr "能量倍增器"
+msgstr "能量倍数"
msgid "Canvas Max Layer"
msgstr "画布最大层"
@@ -7601,7 +7949,7 @@ msgid "SSAO"
msgstr "SSAO"
msgid "Power"
-msgstr "力量"
+msgstr "力度"
msgid "Detail"
msgstr "细节"
@@ -7610,7 +7958,7 @@ msgid "Horizon"
msgstr "地平线"
msgid "Sharpness"
-msgstr "边缘锐度"
+msgstr "锐度"
msgid "Light Affect"
msgstr "光照影响"
@@ -7738,6 +8086,9 @@ msgstr "细节传播"
msgid "Ambient Inject"
msgstr "环境光注入"
+msgid "Temporal Reprojection"
+msgstr "时间重投影"
+
msgid "Adjustments"
msgstr "调整"
@@ -7759,24 +8110,6 @@ msgstr "边缘淡化"
msgid "Density Texture"
msgstr "密度纹理"
-msgid "Font Name"
-msgstr "字体名称"
-
-msgid "Style Name"
-msgstr "样式名称"
-
-msgid "Font Style"
-msgstr "字体样式"
-
-msgid "Font Weight"
-msgstr "字重"
-
-msgid "Font Stretch"
-msgstr "字体拉伸"
-
-msgid "OpenType Feature Overrides"
-msgstr "OpenType 功能覆盖"
-
msgid "Base Font"
msgstr "基础字体"
@@ -7795,6 +8128,12 @@ msgstr "字体名称"
msgid "Font Italic"
msgstr "字体斜体"
+msgid "Font Weight"
+msgstr "字重"
+
+msgid "Font Stretch"
+msgstr "字体拉伸"
+
msgid "Interpolation Mode"
msgstr "插值模式"
@@ -7900,6 +8239,15 @@ msgstr "翻转纹理"
msgid "Subsurface Scattering"
msgstr "次表面散射"
+msgid "Skin Mode"
+msgstr "皮肤模式"
+
+msgid "Transmittance"
+msgstr "透射率"
+
+msgid "Boost"
+msgstr "增强"
+
msgid "Back Lighting"
msgstr "背部照明"
@@ -7933,6 +8281,15 @@ msgstr "采样"
msgid "Shadows"
msgstr "阴影"
+msgid "Disable Receive Shadows"
+msgstr "禁用接收阴影"
+
+msgid "Shadow to Opacity"
+msgstr "阴影到不透明度"
+
+msgid "Keep Scale"
+msgstr "保持比例"
+
msgid "Particles Anim"
msgstr "粒子动画"
@@ -7990,6 +8347,9 @@ msgstr "预览"
msgid "Transform Format"
msgstr "变换格式"
+msgid "Use Colors"
+msgstr "使用颜色"
+
msgid "Use Custom Data"
msgstr "使用自定义数据"
@@ -7999,18 +8359,6 @@ msgstr "实例数"
msgid "Visible Instance Count"
msgstr "可见实例数"
-msgid "Transform Array"
-msgstr "变换数组"
-
-msgid "Transform 2D Array"
-msgstr "变换 2D 数组"
-
-msgid "Color Array"
-msgstr "颜色数组"
-
-msgid "Custom Data Array"
-msgstr "自定义数据数组"
-
msgid "Partition Type"
msgstr "分区类型"
@@ -8047,6 +8395,9 @@ msgstr "边界"
msgid "Max Error"
msgstr "最大误差"
+msgid "Vertices per Polygon"
+msgstr "单多边形顶点数"
+
msgid "Details"
msgstr "细节"
@@ -8095,9 +8446,15 @@ msgstr "最大缩放"
msgid "Scale Curve"
msgstr "缩放曲线"
+msgid "Turbulence"
+msgstr "扰动"
+
msgid "Noise Strength"
msgstr "噪声强度"
+msgid "Noise Scale"
+msgstr "噪声比例"
+
msgid "Noise Speed"
msgstr "噪声速度"
@@ -8110,9 +8467,27 @@ msgstr "最小影响"
msgid "Influence Max"
msgstr "最大影响"
+msgid "Initial Displacement Min"
+msgstr "最小初始位移"
+
+msgid "Initial Displacement Max"
+msgstr "最大初始位移"
+
+msgid "Influence over Life"
+msgstr "随生命周期的影响"
+
+msgid "Amount at End"
+msgstr "结束时数量"
+
+msgid "Amount at Collision"
+msgstr "碰撞时数量"
+
msgid "Keep Velocity"
msgstr "保持速度"
+msgid "Attractor Interaction"
+msgstr "吸引器交互"
+
msgid "Use Scale"
msgstr "使用缩放"
@@ -8155,6 +8530,21 @@ msgstr "从左到右"
msgid "Is Hemisphere"
msgstr "是否半球"
+msgid "Ring Segments"
+msgstr "环段数"
+
+msgid "Radial Steps"
+msgstr "径向步数"
+
+msgid "Section Length"
+msgstr "节长度"
+
+msgid "Section Rings"
+msgstr "节环数"
+
+msgid "Section Segments"
+msgstr "节段数"
+
msgid "Curve Step"
msgstr "曲线步长"
@@ -8164,12 +8554,27 @@ msgstr "A"
msgid "B"
msgstr "B"
+msgid "Slide on Slope"
+msgstr "斜坡滑动"
+
msgid "Custom Solver Bias"
msgstr "自定义求解器偏置"
+msgid "Execution Mode"
+msgstr "执行模式"
+
msgid "Target Nodepath"
msgstr "目标节点路径"
+msgid "Tip Nodepath"
+msgstr "尖端节点路径"
+
+msgid "Jiggle Data Chain Length"
+msgstr "Jiggle 数据链长度"
+
+msgid "Default Joint Settings"
+msgstr "默认关节设置"
+
msgid "Use Gravity"
msgstr "使用重力"
@@ -8179,6 +8584,30 @@ msgstr "骨骼索引"
msgid "Bone 2D Node"
msgstr "Bone2D 节点"
+msgid "Physical Bone Chain Length"
+msgstr "物理骨链长度"
+
+msgid "Target Minimum Distance"
+msgstr "目标最小距离"
+
+msgid "Target Maximum Distance"
+msgstr "目标最大距离"
+
+msgid "Flip Bend Direction"
+msgstr "翻转弯曲方向"
+
+msgid "Modification Count"
+msgstr "修改数"
+
+msgid "Scale Base Bone"
+msgstr "缩放基础骨骼"
+
+msgid "Group Size"
+msgstr "分组大小"
+
+msgid "Bone Size"
+msgstr "骨骼大小"
+
msgid "Bind Count"
msgstr "绑定数"
@@ -8200,6 +8629,12 @@ msgstr "顶部颜色"
msgid "Horizon Color"
msgstr "地平线颜色"
+msgid "Cover"
+msgstr "天穹"
+
+msgid "Cover Modulate"
+msgstr "天穹调制"
+
msgid "Ground"
msgstr "地面"
@@ -8227,9 +8662,15 @@ msgstr "偏心率"
msgid "Turbidity"
msgstr "浊度"
+msgid "Sun Disk Scale"
+msgstr "太阳盘缩放"
+
msgid "Ground Color"
msgstr "地面颜色"
+msgid "Night Sky"
+msgstr "夜空"
+
msgid "Content Margins"
msgstr "内容边距"
@@ -8272,6 +8713,24 @@ msgstr "关键词颜色"
msgid "Member Keyword Colors"
msgstr "成员关键词颜色"
+msgid "Color Regions"
+msgstr "着色区域"
+
+msgid "Preserve Invalid"
+msgstr "保留无效字符"
+
+msgid "Preserve Control"
+msgstr "保留控制字符"
+
+msgid "Custom Punctuation"
+msgstr "自定义标点"
+
+msgid "Break Flags"
+msgstr "断行标志"
+
+msgid "Justification Flags"
+msgstr "调整标志"
+
msgid "Size Override"
msgstr "尺寸覆盖"
@@ -8314,9 +8773,6 @@ msgstr "终点"
msgid "Frames"
msgstr "帧"
-msgid "Current Frame"
-msgstr "当前帧"
-
msgid "Pause"
msgstr "暂停"
@@ -8335,6 +8791,9 @@ msgstr "默认字体"
msgid "Default Font Size"
msgstr "默认字体大小"
+msgid "Terrains"
+msgstr "地形"
+
msgid "Tile Shape"
msgstr "图块形状"
@@ -8365,12 +8824,12 @@ msgstr "自定义数据层"
msgid "Transpose"
msgstr "转置"
+msgid "Texture Origin"
+msgstr "纹理原点"
+
msgid "Y Sort Origin"
msgstr "Y 排序原点"
-msgid "Terrains"
-msgstr "地形"
-
msgid "Terrain Set"
msgstr "地形集"
@@ -8437,36 +8896,63 @@ msgstr "默认值"
msgid "Color Default"
msgstr "颜色默认"
+msgid "Texture Repeat"
+msgstr "纹理重复"
+
+msgid "Texture Source"
+msgstr "纹理源"
+
+msgid "Billboard Type"
+msgstr "公告板类型"
+
+msgid "Mode 2D"
+msgstr "2D 模式"
+
msgid "Use All Surfaces"
msgstr "使用所有表面"
msgid "Surface Index"
msgstr "表面索引"
-msgid "Canvas"
-msgstr "画布"
-
-msgid "Navigation Map"
-msgstr "导航地图"
-
-msgid "Direct Space State"
-msgstr "DirectSpaceState"
+msgid "Degrees Mode"
+msgstr "度数模式"
msgid "Fallback Environment"
msgstr "回退环境"
-msgid "Scenario"
-msgstr "场景"
-
msgid "Plane"
msgstr "平面"
+msgid "Default Theme Scale"
+msgstr "默认主题缩放"
+
+msgid "Custom"
+msgstr "自定义"
+
+msgid "Custom Font"
+msgstr "自定义字体"
+
+msgid "Default Font Antialiasing"
+msgstr "默认字体抗锯齿"
+
+msgid "Default Font Hinting"
+msgstr "默认字体微调"
+
+msgid "Default Font Subpixel Positioning"
+msgstr "默认字体次像素定位"
+
+msgid "Default Font Multichannel Signed Distance Field"
+msgstr "默认字体多通道带符号距离场"
+
+msgid "Default Font Generate Mipmaps"
+msgstr "默认字体生成 Mipmap"
+
+msgid "LCD Subpixel Layout"
+msgstr "LCD 次像素布局"
+
msgid "Fallback values"
msgstr "回退值"
-msgid "Stylebox"
-msgstr "样式盒"
-
msgid "Streams"
msgstr "流"
@@ -8599,6 +9085,9 @@ msgstr "输出延迟"
msgid "Channel Disable Threshold dB"
msgstr "声道禁用阈值 dB"
+msgid "Channel Disable Time"
+msgstr "声道禁用时间"
+
msgid "Video"
msgstr "视频"
@@ -8608,6 +9097,12 @@ msgstr "视频延迟补偿(毫秒)"
msgid "Bus Count"
msgstr "总线数量"
+msgid "Output Device"
+msgstr "输出设备"
+
+msgid "Input Device"
+msgstr "输入设备"
+
msgid "Playback Speed Scale"
msgstr "播放速度缩放"
@@ -8620,6 +9115,12 @@ msgstr "是否激活"
msgid "Movie Writer"
msgstr "Movie Writer"
+msgid "Speaker Mode"
+msgstr "扬声器模式"
+
+msgid "MJPEG Quality"
+msgstr "MJPEG 质量"
+
msgid "Movie File"
msgstr "电影文件"
@@ -8651,7 +9152,7 @@ msgid "Default Edge Connection Margin"
msgstr "默认边界连接边距"
msgid "Default Link Connection Radius"
-msgstr "默认链接连接边距"
+msgstr "默认链接连接半径"
msgid "Edge Connection Color"
msgstr "边界连接颜色"
@@ -8668,6 +9169,45 @@ msgstr "几何体边禁用颜色"
msgid "Geometry Face Disabled Color"
msgstr "几何体面禁用颜色"
+msgid "Link Connection Color"
+msgstr "链接连接颜色"
+
+msgid "Link Connection Disabled Color"
+msgstr "链接连接禁用颜色"
+
+msgid "Agent Path Color"
+msgstr "代理路径颜色"
+
+msgid "Enable Edge Connections"
+msgstr "启用边界连接"
+
+msgid "Enable Edge Connections X-Ray"
+msgstr "启用边界连接 X 光"
+
+msgid "Enable Edge Lines"
+msgstr "启用边界线"
+
+msgid "Enable Edge Lines X-Ray"
+msgstr "启用边界线 X 光"
+
+msgid "Enable Geometry Face Random Color"
+msgstr "启用几何体面随机颜色"
+
+msgid "Enable Link Connections"
+msgstr "启用链接连接"
+
+msgid "Enable Link Connections X-Ray"
+msgstr "启用链接连接 X 光"
+
+msgid "Enable Agent Paths"
+msgstr "启用代理路径"
+
+msgid "Enable Agent Paths X-Ray"
+msgstr "启用代理路径 X 光"
+
+msgid "Agent Path Point Size"
+msgstr "代理路径点大小"
+
msgid "Inverse Mass"
msgstr "逆转质量"
@@ -8683,6 +9223,9 @@ msgstr "总线性阻尼"
msgid "Total Gravity"
msgstr "总重力"
+msgid "Center of Mass Local"
+msgstr "局部质心"
+
msgid "Exclude"
msgstr "排除"
@@ -8692,30 +9235,78 @@ msgstr "与实体碰撞"
msgid "Collide With Areas"
msgstr "与区域碰撞"
+msgid "Canvas Instance ID"
+msgstr "画布实例 ID"
+
msgid "Shape RID"
msgstr "形状 RID"
+msgid "Collide Separation Ray"
+msgstr "碰撞分离射线"
+
+msgid "Exclude Bodies"
+msgstr "排除实体"
+
msgid "Exclude Objects"
msgstr "排除对象"
+msgid "Recovery as Collision"
+msgstr "恢复记为碰撞"
+
msgid "Default Gravity"
msgstr "默认重力"
msgid "Default Gravity Vector"
msgstr "默认重力向量"
+msgid "Default Linear Damp"
+msgstr "默认线性阻尼"
+
+msgid "Default Angular Damp"
+msgstr "默认角度阻尼"
+
msgid "Sleep Threshold Linear"
msgstr "睡眠线速度阈值"
msgid "Sleep Threshold Angular"
msgstr "睡眠角速度阈值"
+msgid "Time Before Sleep"
+msgstr "睡眠前时间"
+
+msgid "Solver"
+msgstr "求解器"
+
+msgid "Solver Iterations"
+msgstr "求解器迭代数"
+
+msgid "Contact Recycle Radius"
+msgstr "接触重迭代半径"
+
+msgid "Contact Max Separation"
+msgstr "接触最大分离"
+
+msgid "Contact Max Allowed Penetration"
+msgstr "接触最大允许穿透"
+
+msgid "Default Contact Bias"
+msgstr "默认接触偏置"
+
+msgid "Default Constraint Bias"
+msgstr "默认约束偏置"
+
msgid "Physics Engine"
msgstr "物理引擎"
+msgid "Inverse Inertia Tensor"
+msgstr "反向惯性张量"
+
msgid "Principal Inertia Axes"
msgstr "主惯性轴"
+msgid "Hit Back Faces"
+msgstr "命中背面"
+
msgid "Max Collisions"
msgstr "最大碰撞数"
@@ -8725,9 +9316,48 @@ msgstr "顶点"
msgid "Fragment"
msgstr "片段"
+msgid "Tesselation Control"
+msgstr "镶嵌控制"
+
+msgid "Tesselation Evaluation"
+msgstr "镶嵌评估"
+
+msgid "Compute"
+msgstr "计算"
+
+msgid "Syntax"
+msgstr "语法"
+
+msgid "Bytecode"
+msgstr "字节码"
+
+msgid "Compile Error"
+msgstr "编译错误"
+
+msgid "Base Error"
+msgstr "基础错误"
+
+msgid "IDs"
+msgstr "ID"
+
+msgid "Constant ID"
+msgstr "常量 ID"
+
+msgid "Sample Masks"
+msgstr "采样掩码"
+
msgid "Depth Draw"
msgstr "深度绘制"
+msgid "Depth Prepass Alpha"
+msgstr "深度前置阶段"
+
+msgid "Depth Test Disabled"
+msgstr "禁用深度测试"
+
+msgid "SSS Mode Skin"
+msgstr "SSS 模式蒙皮"
+
msgid "Cull"
msgstr "剔除"
@@ -8758,6 +9388,21 @@ msgstr "顶点光照"
msgid "Particle Trails"
msgstr "粒子尾迹"
+msgid "Alpha to Coverage"
+msgstr "Alpha 为覆盖面"
+
+msgid "Alpha to Coverage and One"
+msgstr "Alpha 为覆盖并置一"
+
+msgid "Light Only"
+msgstr "仅灯光"
+
+msgid "Collision Use Scale"
+msgstr "碰撞使用缩放"
+
+msgid "Disable Force"
+msgstr "禁用力"
+
msgid "Disable Velocity"
msgstr "禁用速度"
@@ -8779,21 +9424,42 @@ msgstr "启用渲染循环"
msgid "VRAM Compression"
msgstr "VRAM 压缩"
+msgid "Import S3TC BPTC"
+msgstr "导入 S3TC BPTC"
+
+msgid "Import ETC2 ASTC"
+msgstr "导入 ETC2 ASTC"
+
msgid "Lossless Compression"
msgstr "无损压缩"
msgid "Force PNG"
msgstr "强制 PNG"
+msgid "WebP Compression"
+msgstr "WebP 压缩"
+
+msgid "Compression Method"
+msgstr "压缩方法"
+
+msgid "Lossless Compression Factor"
+msgstr "无损压缩系数"
+
+msgid "Time Rollover Secs"
+msgstr "时间翻转秒数"
+
msgid "Use Physical Light Units"
msgstr "使用物理光线单位"
msgid "Soft Shadow Filter Quality"
-msgstr "柔和阴影过滤器质量"
+msgstr "柔和阴影过滤质量"
msgid "Shadow Atlas"
msgstr "阴影图集"
+msgid "Item Buffer Size"
+msgstr "项目缓冲区大小"
+
msgid "Shader Compiler"
msgstr "着色器编译器"
@@ -8812,6 +9478,9 @@ msgstr "反射"
msgid "Sky Reflections"
msgstr "天空反射"
+msgid "Roughness Layers"
+msgstr "粗糙层"
+
msgid "Texture Array Reflections"
msgstr "纹理数组反射"
@@ -8819,7 +9488,7 @@ msgid "GGX Samples"
msgstr "GGX 样本"
msgid "Fast Filter High Quality"
-msgstr "高质量快速过滤器"
+msgstr "高质量快速过滤"
msgid "Reflection Atlas"
msgstr "反射图集"
@@ -8852,29 +9521,131 @@ msgid "Disable for Vendors"
msgstr "针对厂商禁用"
msgid "Default Filters"
-msgstr "默认过滤器"
+msgstr "默认过滤"
msgid "Use Nearest Mipmap Filter"
-msgstr "使用最近 Mipmap 过滤"
+msgstr "使用最近邻 Mipmap 过滤"
+
+msgid "Anisotropic Filtering Level"
+msgstr "各向异性过滤级别"
msgid "Depth of Field"
msgstr "景深"
+msgid "Depth of Field Bokeh Shape"
+msgstr "景深散景形状"
+
+msgid "Depth of Field Bokeh Quality"
+msgstr "景深散景质量"
+
msgid "Depth of Field Use Jitter"
msgstr "景深使用抖动"
+msgid "Half Size"
+msgstr "一半大小"
+
+msgid "Adaptive Target"
+msgstr "适应目标"
+
+msgid "Blur Passes"
+msgstr "模糊通道"
+
+msgid "Fadeout From"
+msgstr "淡出起点"
+
+msgid "Fadeout To"
+msgstr "淡出终点"
+
+msgid "Screen Space Roughness Limiter"
+msgstr "屏幕空间粗糙度限制器"
+
+msgid "Decals"
+msgstr "贴花"
+
+msgid "Light Projectors"
+msgstr "光投影器"
+
msgid "Occlusion Rays per Thread"
msgstr "每线程遮挡射线"
msgid "Upscale Mode"
msgstr "放大模式"
+msgid "Screen Space Reflection"
+msgstr "屏幕空间反射"
+
+msgid "Roughness Quality"
+msgstr "粗糙度质量"
+
+msgid "Subsurface Scattering Quality"
+msgstr "次表面散射质量"
+
+msgid "Subsurface Scattering Scale"
+msgstr "次表面散射比例"
+
+msgid "Subsurface Scattering Depth Scale"
+msgstr "次表面散射深度比例"
+
msgid "Global Shader Variables"
msgstr "全局着色器变量"
msgid "Buffer Size"
msgstr "缓冲区大小"
+msgid "Probe Capture"
+msgstr "探针捕获"
+
+msgid "Update Speed"
+msgstr "更新速度"
+
+msgid "Probe Ray Count"
+msgstr "探针射线数"
+
+msgid "Frames to Converge"
+msgstr "收敛帧数"
+
+msgid "Frames to Update Lights"
+msgstr "更新灯光帧数"
+
+msgid "Volume Size"
+msgstr "体积尺寸"
+
+msgid "Volume Depth"
+msgstr "体积深度"
+
+msgid "Spatial Indexer"
+msgstr "空间索引器"
+
+msgid "Update Iterations per Frame"
+msgstr "每帧更新迭代次数"
+
+msgid "Threaded Cull Minimum Instances"
+msgstr "多线程剔除最小实例数"
+
+msgid "Forward Renderer"
+msgstr "前向渲染器"
+
+msgid "Threaded Render Minimum Instances"
+msgstr "多线程渲染最小实例数"
+
+msgid "Cluster Builder"
+msgstr "集群构建器"
+
+msgid "Max Clustered Elements"
+msgstr "最大集群元素数"
+
+msgid "OpenGL"
+msgstr "OpenGL"
+
+msgid "Max Renderable Elements"
+msgstr "最大可渲染元素数"
+
+msgid "Max Renderable Lights"
+msgstr "最大可渲染光源数"
+
+msgid "Max Lights per Object"
+msgstr "单对象最大光源数"
+
msgid "Shaders"
msgstr "着色器"
diff --git a/editor/translations/properties/zh_TW.po b/editor/translations/properties/zh_TW.po
index 93130d6ec7..a8109570ee 100644
--- a/editor/translations/properties/zh_TW.po
+++ b/editor/translations/properties/zh_TW.po
@@ -44,8 +44,8 @@ msgstr ""
"Project-Id-Version: Godot Engine properties\n"
"Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2023-02-10 10:44+0000\n"
-"Last-Translator: abcabcc <xmmandxpp@outlook.com>\n"
+"PO-Revision-Date: 2023-02-18 17:29+0000\n"
+"Last-Translator: Eric K <eric900601@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"godot-engine/godot-properties/zh_Hant/>\n"
"Language: zh_TW\n"
@@ -226,6 +226,9 @@ msgstr "因素"
msgid "Button Index"
msgstr "按鍵索引"
+msgid "Double Click"
+msgstr "雙擊"
+
msgid "Tilt"
msgstr "傾斜"
@@ -289,9 +292,6 @@ msgstr "分頁大小"
msgid "Blocking Mode Enabled"
msgstr "啟用阻塞模式"
-msgid "Connection"
-msgstr "連接"
-
msgid "Read Chunk Size"
msgstr "讀取區塊大小"
@@ -310,9 +310,6 @@ msgstr "輸入緩衝區大小上限"
msgid "Output Buffer Max Size"
msgstr "輸出緩衝區大小上限"
-msgid "Stream Peer"
-msgstr "串流使用者"
-
msgid "Resource"
msgstr "資源"
@@ -337,9 +334,6 @@ msgstr "種子"
msgid "State"
msgstr "狀態"
-msgid "Source Code"
-msgstr "原始碼"
-
msgid "Worker Pool"
msgstr "工作池"
@@ -430,15 +424,6 @@ msgstr "存取"
msgid "Display Mode"
msgstr "顯示模式"
-msgid "Current Dir"
-msgstr "目前目錄"
-
-msgid "Current File"
-msgstr "所在檔案"
-
-msgid "Current Path"
-msgstr "所在目錄"
-
msgid "Show Hidden Files"
msgstr "顯示隱藏的檔案"
@@ -520,18 +505,12 @@ msgstr "專注模式"
msgid "Base Type"
msgstr "基礎型別"
-msgid "Edited Resource"
-msgstr "已經編輯資"
-
msgid "Editable"
msgstr "可編輯"
msgid "Toggle Mode"
msgstr "切換模式"
-msgid "Script Owner"
-msgstr "腳本所有者"
-
msgid "Editor Language"
msgstr "編輯器語言"
@@ -676,6 +655,9 @@ msgstr "顏色主題"
msgid "Appearance"
msgstr "外觀"
+msgid "Caret"
+msgstr "輸入指標"
+
msgid "Caret Blink"
msgstr "插入符閃爍"
@@ -1201,6 +1183,9 @@ msgstr "密碼"
msgid "Compress"
msgstr "壓縮"
+msgid "Language"
+msgstr "語言"
+
msgid "Outline Size"
msgstr "輪廓尺寸"
@@ -1397,7 +1382,7 @@ msgid "Available URLs"
msgstr "可用 URL"
msgid "Unset"
-msgstr "未設置"
+msgstr "未設定"
msgid "Error"
msgstr "錯誤"
@@ -1468,6 +1453,15 @@ msgstr "警告"
msgid "ID"
msgstr "ID"
+msgid "Texture"
+msgstr "紋理貼圖"
+
+msgid "Separation"
+msgstr "間距"
+
+msgid "Speed"
+msgstr "速度"
+
msgid "Version Control"
msgstr "版本控制"
@@ -1546,18 +1540,15 @@ msgstr "iOS"
msgid "Hide Home Indicator"
msgstr "隱藏 Home 橫條"
-msgid "Input Devices"
-msgstr "輸入裝置"
-
-msgid "Pointing"
-msgstr "指點"
-
msgid "Boot Splash"
msgstr "啟動畫面"
msgid "BG Color"
msgstr "背景顏色"
+msgid "Input Devices"
+msgstr "輸入裝置"
+
msgid "Environment"
msgstr "環境"
@@ -1585,6 +1576,9 @@ msgstr "緩衝"
msgid "Agile Event Flushing"
msgstr "敏捷事件刷新"
+msgid "Pointing"
+msgstr "指點"
+
msgid "Emulate Touch From Mouse"
msgstr "以滑鼠模擬觸控"
@@ -1952,7 +1946,7 @@ msgid "Reference Space Type"
msgstr "參照空間類型"
msgid "Android"
-msgstr "安卓"
+msgstr "Android"
msgid "Android SDK Path"
msgstr "Android SDK 路徑"
@@ -2128,6 +2122,9 @@ msgstr "憑證"
msgid "Splash Screen"
msgstr "啟動畫面"
+msgid "Web"
+msgstr "Web"
+
msgid "HTTP Host"
msgstr "HTTP 主機"
@@ -2167,11 +2164,14 @@ msgstr "目前"
msgid "Max Distance"
msgstr "最大距離"
+msgid "Left"
+msgstr "左"
+
msgid "Top"
msgstr "頂端"
-msgid "Speed"
-msgstr "速度"
+msgid "Right"
+msgstr "右"
msgid "Horizontal Enabled"
msgstr "已啟用水平"
@@ -2194,9 +2194,6 @@ msgstr "時間"
msgid "Randomness"
msgstr "隨機性"
-msgid "Texture"
-msgstr "紋理貼圖"
-
msgid "Sphere Radius"
msgstr "球體半徑"
@@ -2227,15 +2224,6 @@ msgstr "路徑最大距離"
msgid "Max Speed"
msgstr "最大速度"
-msgid "Rotation Degrees"
-msgstr "旋轉角度"
-
-msgid "Global Rotation Degrees"
-msgstr "全域旋轉角度"
-
-msgid "Global Scale"
-msgstr "全域縮放"
-
msgid "Base Offset"
msgstr "基礎偏移"
@@ -2378,7 +2366,7 @@ msgid "Extra Cull Margin"
msgstr "額外剔除邊距"
msgid "End"
-msgstr "結束"
+msgstr "頁尾"
msgid "World Scale"
msgstr "世界縮放"
@@ -2509,9 +2497,6 @@ msgstr "填充角度"
msgid "Hide Root"
msgstr "隱藏根節點"
-msgid "Volume"
-msgstr "體積"
-
msgid "Z Index"
msgstr "Z 索引"
@@ -2527,15 +2512,6 @@ msgstr "傳輸模式"
msgid "Transfer Channel"
msgstr "傳輸通道"
-msgid "Owner"
-msgstr "擁有者"
-
-msgid "Multiplayer"
-msgstr "多人"
-
-msgid "Current Scene"
-msgstr "目前場景"
-
msgid "Autostart"
msgstr "自動開始"
@@ -2602,9 +2578,6 @@ msgstr "分隔線字體"
msgid "V Separation"
msgstr "垂直分隔"
-msgid "Separation"
-msgstr "間距"
-
msgid "Title Offset"
msgstr "標題偏移量"