Ignitor Docs ← getignitor.com
🇺🇸 EN 🇪🇸 ES

Editor de Traducción#

El Editor de Traducción es el único lugar para traducir todo lo que lee el jugador, lado a lado en todos los idiomas de tu proyecto. Reúne el texto de tu juego — etiquetas de verbo, árboles de diálogo, el catálogo de líneas habladas y las líneas de reacción — en una sola grilla, para que completes los demás idiomas sin rastrear por cada cuarto y diálogo.

Las columnas siguen los idiomas del proyecto. Las columnas de idioma de la grilla salen de defaultLocale + locales en project.json (idioma por defecto primero) — no un par fijo ES/EN. Un proyecto con más idiomas tiene más columnas; uno con solo un idioma por defecto configurado cae a [defaultLocale] (los proyectos antiguos sin configuración de idiomas caen al par histórico ES/EN). Cada columna de idioma a la que le falte texto en una fila muestra una insignia de cobertura, así los huecos se ven de un vistazo. La columna del idioma base queda de solo lectura en las filas cuyo idioma base se autora en el propio archivo de contenido — nombres, líneas de diálogo/GUI de proyecto/reacción — porque editar la tabla ahí no haría nada en silencio; sigue editable en las filas que la tabla sí controla (líneas SAY, mensajes de sistema, etiquetas de verbo, texto de GUI del motor).

Llegas a él desde el Hub (con el dev server corriendo).

Esto es traducción del contenido del juego, no el idioma del editor. El idioma en que se muestran los editores (chrome en inglés/español) es un ajuste aparte en Hub Config. Esta herramienta traduce lo que ven tus jugadores.

La pantalla del Editor de Traducciones — una grilla lado a lado de cada idioma del proyecto.
Editor de Traducciones — grilla lado a lado de cada idioma.

Un catálogo, agrupado por categoría#

Todos los tipos de texto viven en una sola sección colapsable — Textos (LID) — con su conteo de filas, su marca de sin guardar y su botón Save; una barra fija Save All junta todos los cambios pendientes. Cada fila está direccionada por un lid estable, y las filas se agrupan por categoría para que trabajes un tipo de texto a la vez:

  • Mensajes del sistema — las líneas que el motor le muestra al jugador (una partida que no entró, una partida dañada, una puerta que no abrió…). Aparecen desde el inicio, antes de que personalices ninguna. Un mensaje al que le diste la voz de un personaje (el alcance por personaje del Editor de Reacciones) tiene su propia fila acá, mostrada con ese personaje — así alex · pickup.default queda al lado del pickup.default genérico y se traduce por separado.
  • Verbos — las etiquetas de verbo (mirar, usar, tomar…). Solo se traducen las etiquetas; los IDs de verbo se mantienen en inglés (ver la nota abajo).
  • Diálogos — tus árboles de diálogo: tanto lo que dice un personaje como las opciones que elige el jugador.
  • Hotspots · Objetos · Salas — los nombres que el jugador lee en pantalla, más las descripciones de sala, cada uno con la sala u objeto al que pertenece. También aparecen desde el inicio, leídos directo de tus salas y objetos: un nombre se puede traducir en cuanto lo escribiste en el Editor de Salas o el de Objetos, sin ningún paso extra para "registrarlo" acá.
  • GUI — el texto de los widgets de tu interfaz.
  • Logros — el nombre y la descripción de cada logro, cada fila con el logro al que pertenece. Se escriben en el Editor de logros y se traducen acá.
  • Líneas — líneas habladas direccionadas por su propio lid, incluidas las escritas dentro de las reacciones de hotspot, con el personaje que habla mostrado. Un lid indexa la línea en pantalla, su clip de voz y sus traducciones, así un SAY:#lid resuelve al texto y audio correctos por idioma. Acá también se editan las palabras de una línea con voz. El id de una línea de voz en el Editor de Voces es su lid, así que son el mismo registro: ese editor muestra el texto en sólo lectura y este lo posee. Lo que retipees acá es lo que el pipeline tools/voicegen/ va a hornear en la próxima corrida — o sea que una línea ya grabada queda stale en vez de conservar el audio viejo en silencio.

El texto de los menús incorporados del juego (Opciones, Guardar/Cargar, la confirmación de salida y el popup de inventario) también aparece desde el inicio, traducible sin paso extra e incluso en el idioma por defecto del proyecto: estas pantallas vienen con el motor, así que no hay archivo de proyecto que editar, y lo que escribas acá siempre gana. Los chips de categoría de la cabecera de la sección funcionan además como filtros: haz clic en uno para ver solo ese tipo de fila.

Filtrado y round-trip por CSV#

  • Filtrar filas — la caja de búsqueda de arriba acota la grilla a las filas que coinciden, útil en un proyecto grande. Los chips de categoría y las insignias de cobertura de la cabecera de la sección también funcionan como filtros — haz clic en un chip para mostrar solo ese tipo de fila, o en una insignia de cobertura para mostrar solo las filas a las que les falta ese idioma, así resuelves los huecos de un idioma a la vez.
  • Export CSV / Import CSV — round-trip de toda la tabla por una hoja de cálculo. Export le entrega a un traductor un archivo limpio con una columna por idioma del proyecto; importar el CSV completado fusiona las traducciones de vuelta. Es el flujo recomendado cuando la traducción pasa fuera del equipo.

Dónde guarda#

Save (o Save All) escribe toda la grilla a un solo lugar: el catálogo strings.json del proyecto. Etiquetas de verbo, líneas de diálogo, nombres y texto de reacción terminan en el mismo archivo, indexados por lid — no hay un segundo destino que mantener en sincronía.

  • Una fila dejada en su valor por defecto no escribe nada. El catálogo solo crece con el texto que realmente tradujiste o personalizaste. Eso es lo que mantiene los mensajes de sistema (indexados sysmsg.<id>) y los menús incorporados en la redacción que trae el motor para un idioma hasta que decidas otra cosa. También puedes escribir el texto base de los mensajes de sistema desde el botón ⚙ Mensajes de sistema del Editor de Reacciones: ambos escriben al mismo lid.
  • Los nombres y las descripciones de sala son una superposición. El nombre que escribiste se queda en su archivo de sala u objeto como fuente del idioma por defecto y como respaldo; el catálogo lleva los demás idiomas bajo un lid derivado de la dirección del recurso, no de su texto. Por eso reescribir un nombre en el idioma por defecto conserva sus traducciones. Por eso también la celda del idioma por defecto en estas filas de superposición (nombres, texto de diálogo, texto de GUI de proyecto, reacciones de hotspot) aparece de solo lectura acá — borde punteado, tooltip explicando por qué — porque editarla en la tabla no cambiaría nada en tiempo real; hay que editar el archivo fuente. El resto de las filas (líneas SAY, mensajes de sistema, etiquetas de verbo, texto de GUI del motor, achievements) sigue siendo editable.
  • Las etiquetas de verbo son por proyecto. Traducirlas no toca nada compartido, así que dos proyectos pueden etiquetar el mismo verbo de forma distinta.

Los IDs de verbo son fijos y en inglés. Traduces la etiqueta de verbo que ve el jugador, nunca el ID del verbo (look, use, give…) — esos son las claves de las que dependen el sistema de interacción y cada hotspot.reactions[verb]. Lo mismo aplica a cualquier ID en otro lado: traduce el texto visible, no la clave.

Las traducciones son contenido — commitéalas. Viven en disco en strings.json, sin undo al recargar. Commitea tras una pasada sustancial para que Git sea tu red de seguridad.