|Labs
Заказать демоПлатформа
React (Lingo Compiler)
Альфа
React (MCP)React (i18n)CLI прежней версии (v0)
Устаревшее

Lingo.dev CLI

  • Как это работает
  • Настройка
  • Быстрый старт
  • Монорепозитории

Конфигурация

  • Поддерживаемые форматы
  • i18n.json
  • i18n.lock
  • Поддерживаемые локали

Возможности

  • Существующие переводы
  • Добавление языков
  • Переопределения
  • Примечания для переводчика
  • Ключи перевода
  • Переименование ключей
  • Блокировка ключей
  • Игнорирование ключей
  • Сохранение ключей
  • Извлечение ключей с помощью ИИ

Производительность

  • Крупные проекты
  • Параллельная обработка
  • Оценка стоимости

Повторный перевод

  • Автоматический повторный перевод
  • Повторный перевод
  • Удаление переводов

Эта документация посвящена CLI прежней версии (v0) и считается устаревшей. Текущая версия CLI — v1. См. документацию по текущей версии CLI

Lingo.dev CLI

CLI Lingo.dev переводит приложения и контент: читает единый файл конфигурации i18n.json, извлекает переводимые строки из исходных файлов и направляет их через движок локализации или напрямую к LLM-провайдеру. Затем записывает переводы обратно на диск и отслеживает изменения, чтобы при следующем запуске обрабатывать только дельту.

Пятишаговый пайплайн#

Когда вы запускаете npx lingo.dev@latest run, CLI последовательно выполняет пять шагов:

1

Поиск контента

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

json
{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de"]
  },
  "buckets": {
    "json": {
      "include": ["locales/[locale].json"]
    },
    "markdown": {
      "include": ["docs/[locale]/*.md"]
    }
  }
}

Плейсхолдер [locale] во время выполнения подставляет настроенные коды исходной и целевой локали.

2

Очистка данных

Не весь контент нужно переводить. CLI отфильтровывает значения, которые должны оставаться неизменными в любых языках: числа, логические значения, даты ISO, UUID, URL и пустые строки. Это уменьшает объём данных, отправляемых в переводческий бэкенд, и снижает расход токенов и время обработки.

3

Вычисление дельты

CLI вычисляет SHA-256-отпечатки для каждой исходной строки и сравнивает их с предыдущим состоянием, сохранённым в i18n.lock. В пайплайн перевода попадает только новый или изменённый контент. Неизменённые строки полностью пропускаются.

Благодаря такому инкрементальному подходу в проекте с 10 000 ключей, где изменились только 12, будут переведены именно эти 12 ключей, а не весь набор.

4

Локализация

Дельта отправляется в настроенный переводческий бэкенд. CLI поддерживает два режима:

РежимКак это работает
Движок Lingo.devНаправляет запросы через ваш движок локализации, автоматически применяя тональность бренда, glossary, instructions и конфигурацию модели.
Raw LLM providerОтправляет запросы на перевод напрямую в OpenAI, Anthropic, Google, Mistral, OpenRouter или Ollama с пользовательским промптом.

CLI повторяет неудачные запросы с экспоненциальной задержкой, сохраняет частичный прогресс и параллельно обрабатывает несколько целевых языков.

5

Запись контента

Переведённые строки записываются обратно на диск точно в те места, где находится исходный контент. CLI сохраняет структуру и форматирование файлов, чтобы изменения были минимальными и удобными для ревью. Если в проекте настроен Prettier, результат будет соответствовать вашим правилам форматирования.

Выходные файлы#

Типичный запуск даёт два типа изменений:

  1. Файлы локалей — файлы целевых языков с новыми и обновлёнными переводами
  2. i18n.lock — обновляется отпечатками контента для отслеживания состояния

Оба типа изменений нужно закоммитить в систему контроля версий — вручную или автоматически через интеграцию CI/CD.

Следующие шаги#

Настройка
Установите CLI и создайте первые переводы
i18n.json
Полный справочник по конфигурации
Подключите свой движок
Направляйте переводы CLI через ваш движок локализации
Поддерживаемые форматы
JSON, YAML, Markdown и более 20 форматов файлов

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

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