Plantilla de tabla de localización
Una tabla de cadenas con la que pueden trabajar los traductores: una fila por clave, con su contexto, su límite de longitud, la fuente en inglés y cuatro traducciones, además de un glosario y una guía de estilo por idioma. Descárgala como .zip: la tabla es un archivo CSV (UTF-8, separado por comas), el resto es Markdown, y todo se importa en Nodary, donde el CSV se convierte en una hoja que usas como tabla de traducción.
4 archivos en un .zip (Markdown y CSV), 6 kB
Gratis, sin cuenta y sin correo. Úsala, modifícala, compártela.
Lee cada archivo antes de descargarlo
La visión general explica las columnas, cómo nombrar las claves, las variables y los estados de traducción. La tabla tiene 13 cadenas de ejemplo de Saltmarrow, el juego de muestra que este sitio enseña en todas partes; dos celdas están mal a propósito, para mostrar lo que detectan las comprobaciones.
Documentos
Archivo Plantilla de tabla de localización/Tabla de localización.md
Tabla de localización
Cómo usar esta plantilla: las líneas en cursiva son indicaciones. Sustitúyelas por tus palabras y luego bórralas. Los valores entre corchetes los rellenas tú. La tabla en sí es el archivo CSV junto a esta página.
Los archivos
- Cadenas: la tabla en sí, una fila por cadena, una columna por idioma
- Glosario: las palabras que se traducen igual en todas partes, y los nombres que nunca se traducen
- Guía de estilo: cómo habla el juego en cada idioma
Columnas
| Columna | Qué contiene |
|---|---|
| key | Un nombre único para la cadena, que los jugadores nunca ven |
| context | Dónde aparece el texto y quién lo dice: lo que un traductor no puede adivinar |
| max_length | El máximo de caracteres que puede ocupar el texto en pantalla |
| en | El texto fuente |
| fr, de, es, pl | Una columna por idioma, con su código como nombre |
Nombrar las claves
Nombra las claves según dónde vive el texto, de lo general a lo particular, para que las cadenas relacionadas queden juntas.
- Patrón: [pantalla].[elemento].[detalle], como menu.play o hud.tide.warning
- En minúsculas, con puntos entre las partes y sin espacios
- Nunca reutilices una clave para otro texto: añade una nueva
Variables y etiquetas
Los valores que inserta el juego van entre llaves, como {count}; cada traducción conserva cada variable de su fuente. Las etiquetas de formato, como la de negrita en item.crystal.desc, se quedan alrededor de las palabras que marcan.
Estados de traducción
- FaltaBorrador
- BorradorRevisada
- RevisadaFinal
- FinalDesactualizada
- DesactualizadaBorrador
Mermaid
flowchart LR n0["Falta"] n1["Borrador"] n2["Revisada"] n3["Final"] n4["Desactualizada"] n0 --> n1 n1 --> n2 n2 --> n3 n3 --> n4 n4 --> n1
Ejemplo (Saltmarrow, un juego de muestra): Dos celdas del ejemplo están mal a propósito. menu.settings en alemán, Einstellungen, tiene 13 caracteres donde el botón admite 10, así que la comprobación de longitud lo marca; el saludo de la Archivera aún no tiene polaco y cuenta como pendiente.
Puedes usar, modificar y compartir esta plantilla libremente. Viene de Nodary, donde estos archivos se importan como un mapa de documentos enlazados, y el CSV como una hoja.
Archivo Plantilla de tabla de localización/Tabla de localización/Cadenas.csv
Cadenas
| key | context | max_length | en | fr | de | es | pl |
|---|---|---|---|---|---|---|---|
| menu.play | Botón del menú principal | 12 | Play | Jouer | Spielen | Jugar | Graj |
| menu.settings | Botón del menú principal; el botón admite 10 caracteres | 10 | Settings | Paramètres | Einstellungen | Ajustes | Ustawienia |
| menu.quit | Botón del menú principal | 12 | Quit | Quitter | Beenden | Salir | Wyjdź |
| hud.tide.warning | Se muestra en el HUD dos minutos antes de que cambie la marea; {minutes} es un número | 40 | The tide turns in {minutes} min | La marée tourne dans {minutes} min | Gezeitenwechsel in {minutes} Min. | La marea cambia en {minutes} min | Zmiana pływu za {minutes} min |
| hud.salt.count | Contador del HUD; {count} es un número | 20 | Salt: {count} | Sel : {count} | Salz: {count} | Sal: {count} | Sól: {count} |
| dialogue.archivist.greet | La Archivera ahogada, primer encuentro. Tranquila y formal: trata de usted al jugador | 120 | You came down with the tide. Most who do, stay. | Vous êtes descendu avec la marée. La plupart de ceux qui le font restent. | Sie sind mit der Flut herabgestiegen. Die meisten, die das tun, bleiben. | Ha bajado con la marea. La mayoría de quienes lo hacen se quedan. | |
| item.crystal.name | Nombre de objeto, en el inventario y la tienda | 24 | Memory crystal | Cristal de mémoire | Erinnerungskristall | Cristal de memoria | Kryształ pamięci |
| item.crystal.desc | Descripción de objeto; <b> marca la palabra que hay que destacar | 140 | Holds one <b>memory</b> of the drowned city. Sells well in the village. | Contient un <b>souvenir</b> de la cité engloutie. Se vend bien au village. | Enthält eine <b>Erinnerung</b> an die versunkene Stadt. Verkauft sich gut im Dorf. | Guarda un <b>recuerdo</b> de la ciudad sumergida. Se vende bien en el pueblo. | Zawiera jedno <b>wspomnienie</b> zatopionego miasta. Dobrze się sprzedaje w wiosce. |
| quest.horn.title | Título de misión en el diario | 32 | Before the horn | Avant la corne | Vor dem Horn | Antes del cuerno | Zanim zabrzmi róg |
| quest.horn.goal | Objetivo de misión en el diario; {count} es un número | 60 | Crystals to bring up before the horn: {count} | Cristaux à remonter avant la corne : {count} | Kristalle, die vor dem Horn nach oben müssen: {count} | Cristales que subir antes del cuerno: {count} | Kryształy do wyniesienia, zanim zabrzmi róg: {count} |
| ui.save.done | Mensaje tras guardar, visible dos segundos | 40 | Game saved | Partie sauvegardée | Spiel gespeichert | Partida guardada | Gra zapisana |
| ui.tide.low | Etiqueta del indicador de marea | 16 | Low tide | Marée basse | Ebbe | Marea baja | Odpływ |
| ui.tide.high | Etiqueta del indicador de marea | 16 | High tide | Marée haute | Flut | Marea alta | Przypływ |
Archivo Plantilla de tabla de localización/Tabla de localización/01 Glosario.md
Glosario
Añade un término la primera vez que un traductor pregunte por él. Una palabra traducida de dos maneras confunde a los jugadores y duplica las consultas al soporte.
Términos
| Término (en) | fr | de | es | pl | Notas |
|---|---|---|---|---|---|
| tide | marée | Gezeiten | marea | pływ | El nivel del agua, que mueve todos los sistemas |
| salt | sel | Salz | sal | sól | El recurso común |
| memory crystal | cristal de mémoire | Erinnerungskristall | cristal de memoria | kryształ pamięci | Siempre el nombre completo, nunca “cristal” a secas en la tienda |
| horn | corne | Horn | cuerno | róg | La señal dos minutos antes de que cambie la marea |
| [término] | [...] | [...] | [...] | [...] | [...] |
No traducir nunca
- Saltmarrow, el nombre del juego
- [Nombres de personajes y lugares que se quedan como están]
- [Nombres de plataformas y marcas]
Archivo Plantilla de tabla de localización/Tabla de localización/02 Guía de estilo.md
Guía de estilo
Voz
Tres palabras para la voz del juego, y cómo no suena nunca.
- Voz: [...]
- Nunca: [...]
Ejemplo (Saltmarrow, un juego de muestra): Tranquila y algo anticuada, como la guardiana de un archivo. Frases cortas. Nada de jerga moderna.
Idioma por idioma
| Idioma | Cómo se dirige al jugador | Tipografía | Notas |
|---|---|---|---|
| Francés (fr) | [tu o vous] | Un espacio indivisible antes de : ; ! ? y dentro de « » | [...] |
| Alemán (de) | [du o Sie] | Comillas „…“, sustantivos con mayúscula | A menudo más largo que el inglés: revisa max_length primero |
| Español (es) | [tú o usted] | ¿ y ¡ de apertura | [...] |
| Polaco (pl) | [ty, o Pan y Pani] | Comillas „…”, tres formas de plural | Las palabras junto al nombre del jugador cambian con el género |
| [Idioma] | [...] | [...] | [...] |
Longitud
Deja espacio: las traducciones desde el inglés suelen ser más largas, hasta un tercio en algunos idiomas. Fija max_length según el espacio en pantalla, no según el inglés.
Plurales y números
Los idiomas cuentan distinto: el polaco tiene tres formas de plural donde el inglés tiene dos. Pon el número tras una etiqueta (Sal: {count}) o usa el sistema de plurales de tu motor, y da formato a números y fechas en cada idioma.
Cómo usarla
Sustituye las cadenas de ejemplo
Mantén las columnas y la forma de nombrar las claves, y pon tus propias cadenas. Da a cada cadena un contexto y un límite de longitud antes de enviarla a traducir.
Escribe pronto el glosario
Añade cada término la primera vez que un traductor pregunte por él, con su traducción en cada idioma. Una palabra traducida de dos maneras confunde a los jugadores y duplica las consultas al soporte.
Acordad el estilo de cada idioma
Decide cómo se dirige cada idioma al jugador y sus reglas tipográficas antes de empezar a traducir. Cambiarlo después obliga a releer cada cadena.
Congela la fuente antes de enviarla
Envía las cadenas a traducir cuando su inglés sea definitivo. Si una fuente cambia después, sus traducciones hay que volver a revisarlas.
Impórtala en Nodary y úsala como tabla de traducción
Nodary es un espacio de trabajo nativo de IA donde los documentos de un equipo se enlazan en vez de amontonarse. Importa el .zip y el CSV llega como una hoja debajo de la visión general, con el glosario y la guía de estilo al lado. En la hoja, «Tabla de traducción» lee los roles en los encabezados (key, context, max_length y una columna por idioma), comprueba la longitud y las variables de cada traducción, da un estado a cada una, marca una traducción como desactualizada cuando cambia su fuente y exporta archivos para Unity, Unreal y Godot: CSV, JSON, gettext .po y XLIFF.
- Abre el mapa de un proyecto y elige «Importar».
- Elige la pestaña «Carpeta o ZIP», después «Elegir un ZIP», selecciona el archivo e importa.
- Abre «Cadenas», elige «Tabla de traducción», revisa los roles leídos en los encabezados y después «Usar como tabla de traducción».
El plan Free admite diez documentos por espacio de trabajo, contando la página del propio proyecto: los cuatro de la plantilla caben de sobra. La columna fuente es el inglés: si tu juego está escrito en otro idioma, convierte esa columna en la fuente cuando Nodary muestre los roles.
Cómo gestiona Nodary la localización de juegos
Mantener una tabla de cadenas con la que puedan trabajar los traductores
Una tabla de cadenas falla cuando los traductores tienen que adivinar qué significa una línea o cuánto espacio tiene, o cuando un texto cambia después de traducirse y nadie lo nota. Estos hábitos evitan las tres cosas.
Da contexto a cada cadena
Quién lo dice, dónde aparece, a qué responde. “Open” es un verbo en una puerta y un adjetivo en una tienda: solo el contexto lo dice.
Fija la longitud desde la pantalla
Mide cuántos caracteres caben en el botón, la línea o el bocadillo, y escribe ese límite, no la longitud del inglés.
Nunca montes frases a trozos
Pegar “Has encontrado” y “3 cristales” en el código rompe el orden y la gramática en la mayoría de idiomas. Da a cada frase su clave, con variables.
Mantén las variables intactas
Cada traducción conserva cada {variable} y cada etiqueta de su fuente. Un {count} perdido muestra un hueco al jugador, o cuelga el juego.
Una clave, un significado
No reutilices nunca una clave para otro texto. Añade una clave nueva y quita la antigua cuando nada la use.
Congela la fuente antes de enviarla
Traduce texto definitivo. Si una fuente cambia aun así, marca sus traducciones como desactualizadas para que se revisen otra vez.
Preguntas sobre la tabla de localización
¿Qué es una tabla de localización?
Una tabla de localización (o tabla de cadenas) contiene cada texto que muestra un juego, una fila por cadena: una clave que usa el código, el texto fuente, notas para los traductores, un límite de longitud y una columna por idioma. El juego carga el texto por su clave en el idioma del jugador, así el texto cambia y se traduce sin tocar el código.
¿Qué columnas debe tener una tabla de cadenas?
Como mínimo una clave y el texto fuente, y después una columna por idioma. Una columna de contexto y otra de longitud máxima ahorran la mayoría de preguntas de los traductores. Esta plantilla tiene los cinco tipos, con el inglés como fuente y francés, alemán, español y polaco.
¿Cómo nombro las claves?
Según dónde vive el texto, de lo general a lo particular, como menu.play o hud.tide.warning: en minúsculas, con puntos entre las partes. Así las cadenas relacionadas quedan juntas, y una clave dice dónde buscar en el juego.
¿Cómo gestiono los plurales?
Los idiomas cuentan distinto: el polaco tiene tres formas de plural donde el inglés tiene dos. Pon el número tras una etiqueta, como “Sal: {count}”, o usa el sistema de plurales de tu motor con un texto por forma.
¿Cómo abro el CSV en Excel?
Google Sheets, LibreOffice Calc, Numbers y Nodary lo abren tal cual. Excel solo lo abre con doble clic si el separador de listas del ordenador es la coma; con la configuración española es el punto y coma, y cada fila acaba en una sola columna. Impórtalo en su lugar: en la pestaña Datos, elige importar desde texto/CSV, selecciona el archivo, pon UTF-8 como origen del archivo y Coma como delimitador, y cárgalo.
¿Leerán Unity, Unreal o Godot este CSV?
El CSV de la plantilla está pensado para hojas de cálculo y para la importación de Nodary. Cada motor lee su propio formato: desde la misma tabla, la tabla de traducción de Nodary exporta CSV para Godot y Unity, gettext .po para Unreal y Godot, JSON para la mayoría de motores y XLIFF para herramientas de traducción.
¿Puedo añadir idiomas?
Sí. Añade una columna con el código del idioma, como ja o pt-BR. Nodary reconoce códigos y nombres de idiomas en los encabezados, y su tabla de traducción también puede añadir una columna para un idioma.
Mantén los textos del juego donde trabaja el equipo.
Importa la plantilla en Nodary y la tabla de cadenas queda en el mismo mapa que el diseño y los diálogos, con el estado de cada traducción a la vista. Gratis con dos miembros, un proyecto y diez documentos, sin tarjeta.