O CLI traduz de um idioma de origem para um ou mais idiomas de destino, ambos definidos em .lingo/config.json:
{
"sourceLocale": "en",
"targetLocales": ["de", "fr", "es", "ja"]
}Os ficheiros de origem são lidos, nunca alterados. Cada idioma de destino tem o seu próprio output, com o código do idioma substituído no padrão do ficheiro (content/en/app.json → content/de/app.json). Consulte Configuration.
Códigos de idioma#
Utilize etiquetas BCP 47 padrão. Tanto um código de idioma simples (de) como uma etiqueta de idioma-região (de-CH) funcionam. O CLI não mantém uma lista fixa — targetLocales aceita qualquer etiqueta e passa-a ao seu motor. Os idiomas que são efetivamente traduzidos, e com que qualidade, dependem da gama de modelos do motor, não de uma limitação do CLI.
Exemplos comuns:
| Idioma | Código |
|---|---|
| Inglês | en (ou en-US, en-GB) |
| Espanhol | es (ou es-ES, es-419, es-MX) |
| Francês | fr (ou fr-FR, fr-CA) |
| Alemão | de (ou de-CH, de-AT) |
| Português | pt-BR, pt-PT |
| Chinês | zh-Hans, zh-Hant |
| Japonês | ja |
| Coreano | ko |
Variantes regionais#
Escolha uma região quando o dialeto fizer diferença — o motor produz ortografia e vocabulário adequados ao idioma:
{
"sourceLocale": "en-US",
"targetLocales": ["en-GB", "es-ES", "es-419", "pt-BR", "pt-PT", "fr-CA"]
}en-US → en-GB transforma "color" em "colour"; es-ES → es-419 troca "ordenador" por "computadora". A qualidade destas distinções depende da voz da marca e das instruções do motor, não do CLI.
Idiomas da direita para a esquerda#
Os idiomas RTL (árabe ar, hebraico he, persa fa, urdu ur) traduzem-se como quaisquer outros. A direção do texto na sua aplicação é da responsabilidade do seu renderizador; o CLI limita-se a produzir as strings traduzidas.
Adicionar ou remover um idioma#
Basta editar targetLocales. Para preencher um idioma recém-adicionado, execute lingo push --backfill-missing — consulte Adding a locale. Para remover um, elimine-o e apague os respetivos ficheiros com lingo purge --locale.
