CLI переводит из одной исходной локали в одну или несколько целевых локалей. Обе задаются в .lingo/config.json:
{
"sourceLocale": "en",
"targetLocales": ["de", "fr", "es", "ja"]
}Исходные файлы CLI только читает, но никогда не изменяет. Для каждой целевой локали создаётся отдельный выходной файл, а код локали подставляется в шаблон имени файла (content/en/app.json → content/de/app.json). См. Конфигурация.
Коды локалей#
Используйте стандартные теги BCP 47. Подходит и простой код языка (de), и тег в формате язык-регион (de-CH). У CLI нет фиксированного списка: targetLocales принимает любой тег и передаёт его в ваш движок. Какие локали реально поддерживаются и насколько качественно переводятся, зависит от набора моделей движка, а не от ограничений CLI.
Вот несколько распространённых примеров:
| Язык | Код |
|---|---|
| Английский | en (или en-US, en-GB) |
| Испанский | es (или es-ES, <C03></C02>, es-MX) |
| Французский | fr (или fr-FR, fr-CA) |
| Немецкий | de (или de-CH, de-AT) |
| Португальский | pt-BR, pt-PT |
| Китайский | zh-Hans, zh-Hant |
| Японский | ja |
| Корейский | ko |
Региональные варианты#
Указывайте регион, если важен конкретный вариант языка: движок подберёт орфографию и лексику, соответствующие локали:
{
"sourceLocale": "en-US",
"targetLocales": ["en-GB", "es-ES", "es-419", "pt-BR", "pt-PT", "fr-CA"]
}en-US → en-GB превращает "color" в "colour", а es-ES → es-419 меняет "ordenador" на "computadora". Качество этих различий зависит от тональности бренда и инструкций движка, а не от CLI.
Языки с письмом справа налево#
RTL-локали (арабский ar, иврит he, персидский fa, урду ur) переводятся так же, как и любые другие. За направление текста в приложении отвечает ваш рендерер; CLI лишь выдаёт переведённые строки.
Добавление или удаление локали#
Всё сводится к редактированию targetLocales. Чтобы заполнить новую локаль, запустите lingo push --backfill-missing — см. Добавление локали. Чтобы убрать локаль, удалите её из списка и удалите её файлы командой lingo purge --locale.
