|
Документация
Заказать демоПлатформа
ПлатформаMCPCLIAPIРабочие процессы
Руководства
Журнал изменений

Локализация

  • Обзор
  • API локализации
  • Локализация веб-приложений
  • Локализация мобильных приложений
  • iOS и String Catalogs
  • Android и strings.xml
  • Локализация email-писем
  • Статический контент, например .md и .json
  • Next.js с Markdoc
  • Rails с i18n

Рабочие процессы

  • Настройка движка с MCP
  • Jira Triage
  • CI/CD

Локализация веб-приложений

CLI от Lingo.dev переводит файлы ресурсов вашего веб-приложения — JSON, YAML, XLIFF, PO или PHP — через настроенный движок локализации. Настройте i18n в своём фреймворке, укажите CLI путь к файлам переводов и запустите команду.

Как это работает#

У каждого веб-фреймворка есть i18n-библиотека, которая загружает переводы из файлов ресурсов: JSON для React, XLIFF для Angular, PO для Django и так далее. CLI переводит эти файлы напрямую, поэтому фреймворк подхватывает переводы без каких-либо изменений в коде.

1

Настройте i18n в своём фреймворке

Используйте официальную i18n-библиотеку вашего фреймворка, чтобы добавить маршрутизацию с учётом локали, функцию перевода и файлы ресурсов на исходном языке. В разделе каждого фреймворка ниже есть ссылка на официальное руководство по настройке.

2

Настройте CLI

Запустите lingo init, чтобы создать .lingo/config.json с исходной и целевыми локалями и шаблонами файлов для перевода, затем lingo link — чтобы привязать организацию и движок. CLI сам определяет формат каждого файла по расширению, тип бакета указывать не нужно. Зафиксируйте .lingo/config.json.

3

Запустите перевод

Запустите lingo push, и CLI переведёт ваши файлы ресурсов через движок локализации — правила глоссария, тональность бренда и выбранная модель применятся автоматически.

Что понадобится#

Установите CLI и войдите в аккаунт:

bash
npm install -g @lingo.dev/cli
lingo login

CLI требует Node.js 22+. В CI пропустите интерактивный вход и передайте ключ через --api-key или переменную окружения LINGO_API_KEY.

При каждом запуске CLI контент проходит через движок локализации — это конфигурация, которая задаёт LLM-модель, глоссарий, тональность бренда и правила обработки. Создайте движок в панели Lingo.dev и сгенерируйте API-ключ. lingo link сохраняет orgId и engineId движка в .lingo/config.json.

Настройка с помощью AI

i18n MCP может автоматически развернуть всю i18n-инфраструктуру вашего фреймворка. Подключите его к Claude Code, Cursor или GitHub Copilot и дайте команду "Set up i18n" — агент пройдёт чек-лист из 13 шагов и настроит маршрутизацию, файлы переводов и переключатель языка.

JavaScript-фреймворки#

Сегмент локали в каждом pattern подставляется для каждой целевой локали — public/locales/en/translation.json становится public/locales/de/translation.json и так далее. Путь к исходному файлу должен содержать код исходной локали.

react-i18next загружает переводы из JSON-файлов и предоставляет хук useTranslation, который сопоставляет ключи с переведёнными строками во время выполнения.

json
{
  "orgId": "org_...",
  "engineId": "eng_...",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [{ "pattern": "public/locales/en/translation.json" }]
}

Серверные фреймворки#

Laravel поставляется со встроенной локализацией, которая загружает переводы из PHP-файлов, организованных по директориям локалей.

json
{
  "orgId": "org_...",
  "engineId": "eng_...",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [{ "pattern": "lang/en/messages.php" }]
}

Запуск перевода#

Когда .lingo/config.json на месте, переведите все файлы ресурсов одной командой:

bash
lingo push

CLI читает файлы исходной локали, вычисляет изменения с момента последнего запуска с помощью lockfile (.lingo/lock.json, зафиксированного рядом с конфигом), переводит только разницу и записывает результаты в файлы целевых локалей. Существующие переводы сохраняются — CLI заполняет только отсутствующие или обновлённые строки.

При первом запуске или после добавления новой целевой локали переведите всё с нуля:

bash
lingo push --backfill-missing

Чтобы ограничить запуск частью файлов, передайте glob:

bash
lingo push "messages/**"

Чтобы получить актуальные переводы в другом месте (например, на другой машине или на этапе сборки) без запуска перевода, выполните lingo pull. Используйте lingo check как условие деплоя — так вы убедитесь, что переводы не устарели.

Что дальше#

Примеры проектов
Рабочие репозитории на React, Next.js, Laravel и Rails — с настройками и переводами в комплекте
Конфигурация CLI
Полный справочник по .lingo/config.json — файлы, коды локалей и расширенные настройки
Поддерживаемые форматы
Все форматы файлов, которые умеет переводить CLI
GitHub App
Автоматизируйте переводы при каждом push — на стороне сервера, без runner и секретов
i18n MCP
Настройка i18n для вашего фреймворка с помощью AI

Эта страница была полезной?

Max PrilutskiyMax Prilutskiy·Обновлено 12 дней назад·4 минуты чтения