CLI от Lingo.dev переводит файлы ресурсов вашего веб-приложения — JSON, YAML, XLIFF, PO или PHP — через настроенный движок локализации. Настройте i18n в своём фреймворке, укажите CLI путь к файлам переводов и запустите команду.
Как это работает#
У каждого веб-фреймворка есть i18n-библиотека, которая загружает переводы из файлов ресурсов: JSON для React, XLIFF для Angular, PO для Django и так далее. CLI переводит эти файлы напрямую, поэтому фреймворк подхватывает переводы без каких-либо изменений в коде.
Настройте i18n в своём фреймворке
Используйте официальную i18n-библиотеку вашего фреймворка, чтобы добавить маршрутизацию с учётом локали, функцию перевода и файлы ресурсов на исходном языке. В разделе каждого фреймворка ниже есть ссылка на официальное руководство по настройке.
Настройте CLI
Создайте файл i18n.json, чтобы указать CLI, где находятся ваши файлы переводов и на какие локали нужно переводить. Тип bucket должен соответствовать формату ресурсов вашего фреймворка.
Запустите перевод
Запустите npx lingo.dev@latest run, и CLI переведёт ваши файлы ресурсов через движок локализации — правила глоссария, тональность бренда и выбранная модель применятся автоматически.
Что понадобится#
При каждом запуске CLI контент проходит через движок локализации — конфигурацию, которая определяет, какая модель LLM, глоссарий, тональность бренда и инструкции будут применяться. Создайте его в панели Lingo.dev и сгенерируйте API-ключ.
Настройка с помощью AI
i18n MCP может автоматически развернуть всю i18n-инфраструктуру вашего фреймворка. Подключите его к Claude Code, Cursor или GitHub Copilot и дайте команду "Set up i18n" — агент пройдёт чек-лист из 13 шагов и настроит маршрутизацию, файлы переводов и переключатель языка.
JavaScript-фреймворки#
react-i18next загружает переводы из JSON-файлов и предоставляет хук useTranslation, который сопоставляет ключи с переведёнными строками во время выполнения.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"json": {
"include": ["public/locales/[locale]/translation.json"]
}
}
}Серверные фреймворки#
Laravel поставляется со встроенной локализацией, которая загружает переводы из PHP-файлов, организованных по директориям локалей.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"php": {
"include": ["lang/[locale]/messages.php"]
}
}
}Запуск перевода#
Когда i18n.json настроен, можно перевести все файлы ресурсов одной командой:
npx lingo.dev@latest runCLI читает файлы исходной локали, с помощью lockfile определяет, что изменилось с прошлого запуска, переводит только эти изменения и записывает результат в файлы целевых локалей. Существующие переводы сохраняются — CLI заполняет только отсутствующие или обновлённые строки.
Если вы работаете только с частью ресурсов, можно выбрать конкретную локаль или bucket:
npx lingo.dev@latest run --target-locale es
npx lingo.dev@latest run --bucket json