El CLI traduce de un idioma de origen a uno o más idiomas de destino, ambos definidos en .lingo/config.json:
{
"sourceLocale": "en",
"targetLocales": ["de", "fr", "es", "ja"]
}Los archivos de origen se leen, nunca se escriben. Cada idioma de destino tiene su propia salida, con el código de idioma sustituido en el patrón de archivo (content/en/app.json → content/de/app.json). Consulta Configuración.
Códigos de idioma#
Usa etiquetas estándar BCP 47. Funcionan tanto un código de idioma simple (de) como una etiqueta de idioma-región (de-CH). El CLI no mantiene una lista fija: targetLocales acepta cualquier etiqueta y la pasa a tu motor. Qué idiomas se traducen realmente, y con qué calidad, depende del alcance del modelo del motor, no de una limitación del CLI.
Ejemplos habituales:
| Idioma | Código |
|---|---|
| Inglés | en (o en-US, en-GB) |
| Español | es (o es-ES, es-419, es-MX) |
| Francés | fr (o fr-FR, fr-CA) |
| Alemán | de (o de-CH, de-AT) |
| Portugués | pt-BR, pt-PT |
| Chino | zh-Hans, zh-Hant |
| Japonés | ja |
| Coreano | ko |
Variantes regionales#
Elige una región cuando el dialecto importe: el motor adapta la ortografía y el vocabulario al idioma correspondiente:
{
"sourceLocale": "en-US",
"targetLocales": ["en-GB", "es-ES", "es-419", "pt-BR", "pt-PT", "fr-CA"]
}en-US → en-GB convierte "color" en "colour"; es-ES → es-419 cambia "ordenador" por "computadora". La calidad de estas distinciones depende de la voz de marca y de las instrucciones del motor, no del CLI.
Idiomas de derecha a izquierda#
Los idiomas RTL (árabe ar, hebreo he, persa fa, urdu ur) se traducen como cualquier otro. La dirección del texto en tu app depende de tu renderizador; el CLI solo genera las cadenas traducidas.
Agregar o quitar un idioma#
Editar targetLocales es todo lo que hace falta. Para completar un idioma recién agregado, ejecuta lingo push --backfill-missing; consulta Agregar un idioma. Para quitar uno, elimínalo y borra sus archivos con lingo purge --locale.
