Skip to content

Commit dc654e2

Browse files
committed
sync languages
1 parent 5393bff commit dc654e2

280 files changed

Lines changed: 11696 additions & 553 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎docs/en/en.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1480,7 +1480,7 @@
14801480
"name": "Text nodes"
14811481
},
14821482
{
1483-
"path": "/manuals/labels",
1483+
"path": "/manuals/label",
14841484
"name": "Label components"
14851485
}
14861486
]

‎docs/es/manuals/addressing.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Defold usa direcciones (o URL, cómo se mostrará más adelante) para referencia
1414

1515
```lua
1616
local id = factory.create("#enemy_factory")
17-
label.set_text("my_gameobject#my_label", "Hello World!")
17+
go.set("my_gameobject#my_label", "text", "Hello World!")
1818

1919
local pos = go.get_position("my_gameobject")
2020
go.set_position(pos, "/level/stuff/other_gameobject")

‎docs/es/manuals/android.md‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,41 @@ Para que esta funcionalidad funcione, necesitarás tener *ADB* instalado y *USB
8585

8686
Un archivo *.aab* se puede subir a Google Play mediante la [consola para desarrolladores de Google Play](https://play.google.com/apps/publish/). También es posible generar un archivo *`.apk`* a partir de un archivo *.aab* para instalarlo localmente usando [Android bundletool](https://developer.android.com/studio/command-line/bundletool).
8787

88+
## Reducir el código Java con R8 {#shrinking-java-code-with-r8}
89+
90+
R8 reduce el tamaño del código Java mediante eliminación de código no usado, optimización y ofuscación.
91+
92+
### Activar R8 {#enabling-r8}
93+
94+
Selecciona `/builtins/manifests/android/dmengine.keep` en **Android ▸ R8 Keep Rules** en *game.project*. Esto usa directamente las reglas predeterminadas de Defold:
95+
96+
```ini
97+
[android]
98+
r8_keep_rules = /builtins/manifests/android/dmengine.keep
99+
```
100+
101+
Asegúrate de que cada extensión con código Java proporcione un archivo `.keep` para las clases que necesita en runtime. Las reglas de las extensiones se combinan con las reglas del proyecto seleccionadas al compilar. Prueba una build de release en un dispositivo después de activar R8.
102+
103+
Dejar **R8 Keep Rules** vacío usa D8 sin eliminar código. Al activar R8 se usa el servicio de compilación de extensiones nativas, incluso en un proyecto sin extensiones nativas.
104+
105+
### Agregar reglas a una extensión {#adding-rules-to-an-extension}
106+
107+
Las reglas de conservación de una extensión van en su directorio `manifests/android`, junto a `build.gradle`. Consulta [reglas de conservación de R8 para extensiones de Android](/manuals/extensions/#r8-keep-rules-for-android) para saber cómo agregar un archivo y conservar las clases Java de la extensión.
108+
109+
### Conservar el mapa de ofuscación {#keeping-the-obfuscation-mapping}
110+
111+
Activa **Generate debug symbols** en el diálogo de bundle de Android, o pasa `--with-symbols` a Bob, para conservar el archivo `mapping.txt` de R8 cuando la build lo genere. Por ejemplo, desde el directorio del proyecto:
112+
113+
```sh
114+
java -jar bob.jar --platform arm64-android --variant release \
115+
--archive --with-symbols --bundle-output build/android \
116+
resolve build bundle
117+
```
118+
119+
El mapa se guarda como `<binary-name>.apk.symbols/mapping.txt` junto al APK o AAB generado. Por ejemplo, con el título de proyecto `My Game`, el comando anterior genera `build/android/MyGame/MyGame.apk.symbols/mapping.txt`.
120+
121+
Guarda el archivo de mapa junto a la release exacta de la que procede. Permite relacionar los nombres Java ofuscados con los originales para interpretar trazas de pila; un mapa de otra build puede dar resultados incorrectos.
122+
88123
## Permisos
89124

90125
El motor Defold requiere varios permisos para que funcionen todas sus funcionalidades. Los permisos se definen en `AndroidManifest.xml`, especificado en el [archivo de configuración del proyecto](/manuals/project-settings/#android) *game.project*. Puedes leer más sobre los permisos de Android en [la documentación oficial](https://developer.android.com/guide/topics/permissions/overview). En el manifiesto predeterminado se solicitan los siguientes permisos:

‎docs/es/manuals/app-manifest.md‎

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,21 @@ Incluye soporte para recursos de sonido Ogg Opus. El decodificador Opus se exclu
7676
Excluye todo el manejo de input del motor.
7777

7878

79+
## Excluir GUI (`Exclude GUI`) {#exclude-gui}
80+
81+
Elimina del motor los recursos, componentes y soporte Lua de GUI. Activa esta opción solo si el proyecto no usa escenas ni scripts GUI. Los componentes Label siguen disponibles. Esta opción está desactivada de forma predeterminada.
82+
83+
84+
## Excluir efectos de partículas (`Exclude Particle FX`) {#exclude-particle-fx}
85+
86+
Elimina los recursos y componentes de efectos de partículas y el módulo Lua `particlefx`. También elimina el soporte de nodos de partículas en escenas GUI; las escenas GUI sin nodos de partículas siguen siendo compatibles. Elimina las referencias a efectos de partículas y las llamadas a sus APIs antes de activar esta opción. Está desactivada de forma predeterminada.
87+
88+
89+
## Excluir tilemaps (`Exclude Tilemaps`) {#exclude-tilemaps}
90+
91+
Elimina los recursos y componentes de tilemap y el módulo Lua `tilemap`. Activa esta opción solo si el proyecto no usa componentes tilemap ni sus APIs. Las tile sources usadas por otros componentes siguen disponibles. Esta opción está desactivada de forma predeterminada.
92+
93+
7994
## Excluir Live Update (`Exclude Live Update`)
8095

8196
Excluye la [funcionalidad Live Update](/manuals/live-update) del motor.
@@ -117,7 +132,12 @@ En Linux ARM64, la opción **OpenGL** usa el backend OpenGL ES. En Android, la o
117132

118133
## Usar el sistema completo de layout de texto (`Use full text layout system`)
119134

120-
Si está activado (`true`), permite usar la generación en runtime para fuentes de tipo SDF al usar True Type Fonts (`.ttf`) en el proyecto. Lee más detalles en el [manual de fuentes](https://defold.com/manuals/font/#enabling-runtime-fonts).
135+
Si está activado (`true`), incluye el sistema completo de layout de texto para dar forma al texto, incluidos los idiomas de derecha a izquierda. Activa esta opción junto con `font.runtime_generation` en *game.project* para usar la generación en runtime de fuentes SDF a partir de recursos TrueType (`.ttf`) u OpenType (`.otf`). La generación en runtime a partir de recursos `.otf` está disponible desde Defold 1.13.2. Lee más en el [manual de fuentes](/manuals/font/#enabling-runtime-fonts).
136+
137+
138+
## Usar texto enriquecido (`Use Rich Text`) {#use-rich-text}
139+
140+
Incluye el análisis de marcado de texto enriquecido y efectos de estilo para labels y texto GUI. Esta opción está activada de forma predeterminada. Desactívala para reducir el tamaño del motor cuando el proyecto solo necesite texto sin formato. Los labels y el texto GUI siguen siendo compatibles, pero el marcado se muestra como texto sin formato en lugar de aplicar formato o efectos.
121141

122142

123143
## Versiones mínimas del navegador

‎docs/es/manuals/editor-http-api.md‎

Lines changed: 53 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ El argumento opcional `--port` o `-p` selecciona el puerto del servidor del edit
3434
C:\path\to\Defold\Defold.exe --port 8181 C:\absolute\path\to\project\game.project
3535
```
3636

37-
El editor es una aplicación gráfica de escritorio. Inícialo en una sesión de usuario interactiva con acceso a la pantalla. Utiliza [Bob](/manuals/bob) cuando no haya una sesión gráfica disponible, como en un entorno de CI headless, o para automatizar únicamente la compilación y crear bundles independientes.
37+
El editor es una aplicación gráfica de escritorio. Inícialo en una sesión de usuario interactiva con acceso a la pantalla. Utiliza [Bob](/manuals/bob) cuando no haya una sesión gráfica disponible, como en un entorno de CI headless, o para crear bundles independientes. Un editor abierto también admite automatizar únicamente la compilación mediante `/command/compile`.
3838

3939
Después de iniciar el editor, espera hasta que el proyecto se haya abierto y exista `.internal/editor.port`. A continuación, consulta periódicamente `/openapi.json` hasta que devuelva un documento válido. No des por sentado que el proyecto está listo solo porque se haya creado el proceso.
4040

@@ -80,39 +80,53 @@ curl -sS "$BASE_URL/openapi.json" |
8080
jq -r '.paths | keys[]'
8181
```
8282

83-
Muestra los comandos disponibles del editor:
83+
Muestra las rutas documentadas de los comandos del editor:
8484

8585
```sh
8686
curl -sS "$BASE_URL/openapi.json" |
87-
jq -r '
88-
.paths["/command/{command}"].post.parameters[]
89-
| select(.name == "command")
90-
| .schema.enum[]
91-
'
87+
jq -r '.paths | keys[] | select(startswith("/command/"))'
9288
```
9389

90+
En Defold 1.13.2 y posteriores, cada comando tiene su propia ruta en el documento OpenAPI. Las versiones anteriores describen los comandos mediante una ruta `/command/{command}` y una enumeración de nombres de comandos.
91+
9492
Una integración que tenga en cuenta la versión debe verificar cada operación necesaria y configurar las solicitudes según el esquema devuelto. No recomendamos mantener una copia supuestamente exhaustiva de los nombres de endpoints o comandos, ya que puede quedar obsoleta.
9593

9694
Las rutas definidas por el proyecto también aparecen en `/openapi.json` cuando sus scripts del editor proporcionan una descripción de la operación OpenAPI.
9795

9896
## Ejecutar comandos del editor
9997

100-
Los comandos del editor se invocan mediante:
98+
Invoca los comandos del editor enviando una solicitud `POST` a la ruta documentada del comando, por ejemplo:
10199

102100
```text
103-
POST /command/{command}
101+
POST /command/compile
102+
POST /command/run
103+
```
104+
105+
Para compilar el proyecto sin ejecutarlo:
106+
107+
```sh
108+
curl -sS \
109+
-X POST \
110+
"$BASE_URL/command/compile" |
111+
jq
104112
```
105113

106-
Por ejemplo, el comando `build` actual compila y ejecuta el proyecto:
114+
Para compilar y ejecutar el proyecto:
107115

108116
```sh
109117
curl -sS \
110118
-X POST \
111-
"$BASE_URL/command/build" |
119+
"$BASE_URL/command/run" |
112120
jq
113121
```
114122

115-
Una build correcta devuelve un resultado estructurado:
123+
Estas tuberías muestran el cuerpo de la respuesta. En los scripts de automatización, comprueba también el estado HTTP y `success`, siguiendo el patrón de [crear una build HTML5](#building-html5).
124+
125+
::: sidenote
126+
Desde Defold 1.13.2, `/command/build` es un alias de compatibilidad obsoleto de `/command/run` y no aparece en OpenAPI. Usa `/command/run` en nuevas integraciones.
127+
:::
128+
129+
Una compilación correcta devuelve el estado HTTP `200` con un resultado estructurado:
116130

117131
```json
118132
{
@@ -150,7 +164,10 @@ Los campos disponibles dependen del error. Utiliza la ruta del recurso y el rang
150164

151165
Entre los comandos que suelen resultar útiles, cuando aparecen en el editor en ejecución, se incluyen:
152166

153-
`build`
167+
`compile`
168+
: Compila el proyecto sin ejecutarlo.
169+
170+
`run`
154171
: Compila y ejecuta el proyecto.
155172

156173
`clean-build`
@@ -177,7 +194,9 @@ Los comandos que operan sobre recursos del proyecto sincronizan los cambios exte
177194

178195
### Respuestas de comandos y trabajo asíncrono
179196

180-
La operación del comando documenta los códigos de respuesta en el esquema OpenAPI actual.
197+
Las respuestas dependen del comando. En Defold 1.13.2 y posteriores, `compile`, `run`, `clean-build`, `build-html5`, `debugger-start` y `hot-reload` esperan a que finalice el comando y devuelven un resultado estructurado con `success` e `issues`, como se muestra arriba. Un resultado correcto devuelve HTTP `200`; un fallo de compilación o validación devuelve `422`.
198+
199+
Otros comandos aún pueden devolver `202`, por ejemplo `debugger-break`. Consulta la operación en el esquema OpenAPI actual y gestiona el estado HTTP real de la respuesta:
181200

182201
| Estado | Significado |
183202
| --- | --- |
@@ -192,21 +211,36 @@ Una respuesta HTTP `202` no demuestra que el resultado solicitado exista. Espera
192211

193212
### Crear una build HTML5 {#building-html5}
194213

195-
Si el documento OpenAPI actual incluye `build-html5`, invócalo mediante la operación del comando:
214+
Si el documento OpenAPI actual incluye `/command/build-html5`, invócalo mediante esa ruta. En un script de shell, captura el estado HTTP por separado del cuerpo de la respuesta y detente si falla la solicitud o la build:
196215

197216
```sh
198-
curl -sS \
217+
build_response_file="$(mktemp)" || exit 1
218+
if ! build_http_status="$(curl -sS \
199219
-X POST \
200-
"$BASE_URL/command/build-html5"
220+
-o "$build_response_file" \
221+
-w '%{http_code}' \
222+
"$BASE_URL/command/build-html5")"; then
223+
cat "$build_response_file"
224+
rm -f "$build_response_file"
225+
exit 1
226+
fi
227+
228+
cat "$build_response_file"
229+
if [ "$build_http_status" != "200" ] ||
230+
! jq -e '.success == true' "$build_response_file" > /dev/null; then
231+
rm -f "$build_response_file"
232+
exit 1
233+
fi
234+
rm -f "$build_response_file"
201235
```
202236

203-
El comando se ejecuta de forma asíncrona y normalmente devuelve el estado HTTP `202`. Una vez finalizada la build, el editor la sirve en:
237+
En Defold 1.13.2 y posteriores, esta solicitud espera a que termine la build y devuelve un resultado estructurado. El ejemplo imprime el cuerpo de la respuesta, incluidas las incidencias de compilación, y continúa solo con HTTP `200` y `success: true`. Después de una build correcta, el editor abre el juego en un navegador y lo sirve en:
204238

205239
```text
206240
http://127.0.0.1:<editor-port>/html5/
207241
```
208242

209-
Espera a que la URL esté disponible antes de iniciar las pruebas de navegador. Consulta [Pruebas de navegador para HTML5](/manuals/automated-testing/#browser-tests-for-html5) para obtener más detalles.
243+
Que la build haya terminado no significa que el juego haya terminado de cargar en el navegador. Espera a que el canvas y la aplicación estén listos antes de enviar input o comprobar el funcionamiento del juego. Consulta [pruebas de navegador para HTML5](/manuals/automated-testing/#browser-tests-for-html5) para obtener más detalles.
210244

211245
## Buscar en la documentación de la API
212246

‎docs/es/manuals/editor-preferences.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ Auto-insert closing parens
6262
: Inserta automáticamente los caracteres de cierre correspondientes al editar código. Esta opción está activada de forma predeterminada.
6363

6464

65+
Format on save
66+
: Ejecuta el formateador del servidor de lenguaje en los archivos de código abiertos y modificados al guardar. Está desactivado de forma predeterminada. El servidor de lenguaje debe admitir el formateo; consulta [formatear código](/manuals/writing-code/#formatting-code) para formatear un documento o una selección manualmente.
67+
68+
6569
### Abrir archivos script en Visual Studio Code {#open-script-files-in-visual-studio-code}
6670

6771
![](images/editor/preferences_vscode.png)

‎docs/es/manuals/editor-scripts-ui.md‎

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ brief: Este manual explica cómo crear elementos de interfaz en el editor usando
55

66
# Scripts del editor e interfaz
77

8-
Este manual explica cómo crear elementos interactivos de interfaz en el editor usando scripts del editor escritos en Lua. Para empezar con los scripts del editor, consulta el [manual de scripts del editor](/manuals/editor-scripts). Puedes encontrar la referencia completa de la API del editor [aquí](/ref/stable/editor-lua/). Actualmente solo es posible crear diálogos interactivos, aunque queremos ampliar el soporte de scripting de interfaz al resto del editor en el futuro.
8+
Este manual explica cómo crear diálogos interactivos y abrir recursos en el editor usando scripts del editor escritos en Lua. Para empezar con los scripts del editor, consulta el [manual de scripts del editor](/manuals/editor-scripts). Puedes encontrar la referencia completa de la API del editor [aquí](/ref/stable/editor-lua/).
99

1010
## Hola mundo
1111

@@ -53,6 +53,32 @@ Finalmente, después de presionar <kbd>Enter</kbd> (o hacer click en el botón `
5353
Perform action: true
5454
```
5555

56+
## Abrir recursos {#opening-resources}
57+
58+
Llama a `editor.ui.open_resource()` desde la función `run` de un comando para abrir un recurso del proyecto. La ruta comienza con `/`. Si omites la vista, se selecciona la vista principal del recurso:
59+
60+
```lua
61+
editor.ui.open_resource("/main/main.script")
62+
```
63+
64+
Las vistas `code` y `text` aceptan como tercer argumento una posición del cursor o una selección. Los números de línea y columna empiezan en `1`; si falta la columna, su valor predeterminado es `1`. Especifica la vista al pasar estos argumentos:
65+
66+
```lua
67+
editor.ui.open_resource("/main/main.script", "code", { line = 10 })
68+
editor.ui.open_resource("/main/main.script", "code", { line = 10, column = 5 })
69+
```
70+
71+
Para seleccionar un rango, proporciona en su lugar las posiciones del cursor `from` y `to`:
72+
73+
```lua
74+
editor.ui.open_resource("/main/main.script", "code", {
75+
from = { line = 10, column = 1 },
76+
to = { line = 12, column = 1 }
77+
})
78+
```
79+
80+
La vista configurada para el recurso puede abrirse en el editor o en una aplicación externa. Las vistas integradas Code y Text admiten los argumentos de cursor y selección. Consulta [`editor.ui.open_resource()`](/ref/beta/editor/#editor.ui.open_resource:resource_path-view-args) para conocer los nombres de vista compatibles.
81+
5682
## Conceptos básicos
5783

5884
### Componentes

‎docs/es/manuals/editor-scripts.md‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,9 +574,13 @@ Ten en cuenta que los hooks de ciclo de vida actualmente son una funcionalidad s
574574

575575
## Servidores de lenguaje {#language-servers}
576576

577-
El editor admite un subconjunto del [Language Server Protocol](https://microsoft.github.io/language-server-protocol/): diagnósticos (lints), sugerencias de completado, información al pasar el cursor, símbolos del documento en el panel Structure, ir a la definición, buscar referencias y cambiar el nombre de símbolos. Pasa el cursor sobre un símbolo para ver información del servidor de lenguaje. Con el cursor sobre un símbolo, usa <kbd>F2</kbd> para cambiarle el nombre, <kbd>F12</kbd> para ir a su definición o <kbd>Shift+F12</kbd> para buscar referencias. Estas acciones también están disponibles en el menú <kbd>Edit</kbd>.
577+
El editor admite un subconjunto del [Language Server Protocol](https://microsoft.github.io/language-server-protocol/): diagnósticos (lints), sugerencias de completado, información al pasar el cursor, símbolos del documento en el panel Structure, ir a la definición, buscar referencias, cambiar el nombre de símbolos y formatear documentos o rangos. Pasa el cursor sobre un símbolo para ver información del servidor de lenguaje. Con el cursor sobre un símbolo, usa <kbd>F2</kbd> para cambiarle el nombre, <kbd>F12</kbd> para ir a su definición o <kbd>Shift+F12</kbd> para buscar referencias. Estas acciones también están disponibles en el menú <kbd>Edit</kbd>.
578578

579-
Para definir el servidor de lenguaje, necesitas editar la función `get_language_servers` de tu script del editor así:
579+
Consulta [formatear código](/manuals/writing-code/#formatting-code) para conocer el comando de formateo y la preferencia para formatear al guardar.
580+
581+
El servidor de lenguaje Lua incluido contiene anotaciones de tipos de Defold para las APIs de runtime y de scripting del editor. En archivos `.editor_script`, el completado y los diagnósticos reconocen las funciones `editor.*` y sus tipos de argumentos y valores de retorno. Consulta [completado de código](/manuals/writing-code/#code-completion).
582+
583+
Para registrar un servidor de lenguaje adicional, define la función `get_language_servers` de tu script del editor así:
580584

581585
```lua
582586
function M.get_language_servers()

0 commit comments

Comments
 (0)