Importar traducciones

Juegos e internacionalización

El mundo está lleno de diferentes mercados y culturas y, para maximizar profits™, hoy en día los juegos se lanzan en varios idiomas. Para resolver esto, el texto internacionalizado debe ser soportado en cualquier motor de juegos moderno.

En las aplicaciones normales de escritorio o móviles, el texto internacionalizado se encuentra normalmente en archivos fuente (o archivos .po para asuntos de GNU). Sin embargo, los juegos pueden necesitar un volumen de texto mayor que las aplicaciones en diferentes órdenes de magnitud, por lo que deben ser compatibles con métodos eficaces para manejar una gran cantidad de texto multilingüe.

Existen dos enfoques para generar juegos y aplicaciones multilingües. Ambos se basan en un sistema key:value. La primera es usar uno de los idiomas como clave (generalmente inglés), la segunda es usar un identificador específico. El primer enfoque es probablemente más fácil para el desarrollo si un juego se lanza primero en inglés y luego en otros idiomas, pero es una completa pesadilla si se trabaja con varios idiomas al mismo tiempo.

En general, los juegos utilizan el segundo método y se utiliza un ID único para cada cadena. Esto le permite revisar el texto mientras se está traduciendo a otros idiomas. El ID único puede ser un número, una cadena o una cadena con un número (de todos modos es sólo una cadena única).

Nota

Si necesitas un formato de archivo más poderoso, Godot también soporta la carga de traducciones en el formato gettext .po. Ver Localización usando gettext para más detalles.

Formato de traducción

Para completar la imagen y permitir un soporte eficiente para las traducciones, Godot tiene un importador especial que puede leer archivos CSV. Todos los editores de hojas de cálculo (ya sea Libreoffice, Microsoft Office, Google Docs, etc.) pueden exportar a este formato, por lo que el único requisito es que los archivos tengan una estructura concreta. Los archivos CSV deben guardarse en codificación UTF-8 sin una marca de orden de bytes.

Advertencia

Por defecto, Microsoft Excel siempre guarda archivos CSV en una codificación ANSI en lugar de UTF-8. No hay modo integrado para hacer esto, pero hay soluciones alternas como se describe aquí.

Recomendamos usar LibreOffice o Google Sheets en su lugar.

Los archivos CSV deben ser formateados así:

keys <lang1> <lang2> <langN>
KEY1 string string string
KEY2 string string string
KEYN string string string

Las etiquetas "lang" deben representar un lenguaje, el cual debe ser uno de los locales válidos soportados por el motor. Las etiquetas "KEY" deben ser únicas y representar una cadena universalmente (normalmente están en mayúsculas, para diferenciarse de otras cadenas). Estas claves será reemplazadas en tiempo de ejecución por la cadena traducida. Nota que las mayúsculas son importantes, "KEY1" y "Key1" son claves distintas. La celda de arriba a la izquierda es ignorada y puede dejarse vacía o tener cualquier contenido. Aquí hay un ejemplo:

keys en es ja
GREET Hello, friend! Hola, amigo! こんにちは
ASK How are you? Cómo está? 元気ですか
BYE Goodbye Adiós さようなら
QUOTE "Hello" said the man. "Hola" dijo el hombre. 「こんにちは」男は言いました

El mismo ejemplo es mostrado debajo como un archivo de texto plano separado por comas, lo que debería ser el resultado de editar lo anterior en una hoja de cálculo. Cuando se edita la versión de texto plano, asegúrate de cerrar entre comillas cualquier mensaje que contenga comas, saltos de línea o comillas, así las comas no son interpretadas como delimitadores, los saltos de línea no crean nuevas entradas y las comillas no son interpretadas como caracteres envolventes. Asegúrate de escapar de cualquier entrecomillado que pueda contenerse precediéndolo con comillas. De modo alternativo puedes seleccionar otros delimitadores aparte de comas en las opciones de importación.

keys,en,es,ja
GREET,"Hello, friend!","Hola, amigo!",こんにちは
ASK,How are you?,Cómo está?,元気ですか
BYE,Goodbye,Adiós,さようなら
QUOTE,"""Hello"" said the man.","""Hola"" dijo el hombre.",「こんにちは」男は言いました

Importador CSV

Godot tratará los archivos CSV como traducciones por defecto. Los importará y generará uno o más archivos de recursos de traducción comprimidos junto a ellos.

La importación también agregará la traducción a la lista de traducciones a cargar cuando se ejecute el juego, especificado en project.godot (o en los ajustes del proyecto). Godot también permite cargar y eliminar traducciones en tiempo de ejecución.

Selecciona el archivo .csv y ve al panel Importar para definir las opciones de importación. Puedes cambiar la compresión de las traducciones importadas y seleccionar el limitador cuando interpretas un archivo CSV.

../../../_images/import_csv.png

Asegúrate de hacer clic en Reimportar después de cambiar esas opciones.