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

Обзор

  • @lingo.dev/cli

Начало работы

  • Быстрый старт
  • Конфигурация

Справочник

  • lingo push
  • lingo pull
  • Другие команды
  • lingo purge

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

  • Управление ключами
  • Форматы
  • Локали

Руководства

  • Добавление локали
  • Существующие переводы
  • Повторный перевод
  • Заметки для переводчика
  • Запуски, состояние и восстановление
  • CI/CD
  • Монорепозитории
  • Крупные проекты

Ищете CLI прежней версии (v0)? См. документацию по CLI прежней версии

@lingo.dev/cli

@lingo.dev/cli отправляет исходный контент в движок локализации, ждёт, пока движок подготовит переводы, и записывает результат обратно на диск. Это замена устаревшему сценарию npx lingo.dev — тот же проект, но принципиально другая архитектура.

Что изменилось по сравнению с устаревшим CLI#

Устаревший CLI (npx lingo.dev run) извлекал строки, вызывал LLM напрямую с вашей машины и за один проход записывал файлы локально. Текущий CLI разделяет работу на push и pull:

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

Это открывает две возможности, которых не было в устаревшем CLI: длительные переводы без зависшего терминала и получение результатов на другой машине — не на той, с которой запускался push (или в CI).

Ожидание результатов#

Сейчас lingo push загружает исходники, запускает серверный процесс, ждёт его завершения и записывает результаты — всё одной командой. Передача --wait (-w) явно указывает на это блокирующее поведение. Позже вы также сможете повторно подключиться к завершённому запуску через lingo pull.

bash
lingo push            # submit, wait, and write outputs (current default)
lingo push --wait     # same thing, made explicit

lingo pull            # later: re-attach to the most recent push and download its outputs

Скоро изменится: в одном из ближайших релизов поведение по умолчанию станет другим: lingo push будет отправлять запуск и сразу завершаться; для загрузки готовых переводов вы будете использовать lingo pull, а --wait (-w) станет способом снова включить блокирующий сценарий «одна команда».

  • --wait (-w) блокирует выполнение до завершения процесса и записывает результаты в рамках той же команды.
  • lingo pull повторно подключается к последнему push для этого проекта и загружает его результаты — работает даже после закрытия терминала. Состояние запуска хранится отдельно для каждой машины в ~/.lingo/runs/<project-hash>.json, поэтому pull возобновляет работу на той же машине.

Авторизация: обе команды читают LINGO_API_KEY (или --api-key, или сессию lingo login). В CI достаточно задать LINGO_API_KEY.

Режимы push#

КомандаРежимКогда использовать
lingo pushИнкрементальный — сравнивает исходники с .lingo/lock.json, переводит только новые и изменённые ключи в существующие целевые файлы, остальное сохраняет без измененийКаждый обычный запуск / CI
lingo push --backfill-missingBootstrap — заполняет целевые ФАЙЛЫ, которых ещё нетПервый push или после добавления новой локали
lingo push --forceПолный повторный перевод — перезаписывает все целевые файлы (включая ручные правки); --yes/-y пропускает запрос подтвержденияРедко (например, после изменения глоссария или движка)

--backfill-missing — это флаг bootstrap. Он выполняет отдельный новый запрос в заданной области и добавляет только целые целевые файлы, которых не хватает, — он НЕ переводит новые ключи в уже переведённых файлах (в отчёте запуска будет указано "already up-to-date", и ключ будет пропущен). Для текущих изменений используйте обычный lingo push.

Редактирование переводов вручную#

Обычный lingo push сохраняет ручные правки на уровне ключей:

  • Измените целевую строку (если исходник не менялся) → эта строка сохранится; остальные ключи продолжат обновляться.
  • Изменился исходник у отредактированного ключа → для этого ключа будет создан новый перевод, который заменит ручную правку.
  • Добавлен новый исходный ключ → он будет переведён и добавлен даже в файлы с ручными правками.

Что в этом разделе#

Быстрый старт
Установка, авторизация, подключение к движку, первый push и pull.
Конфигурация
`.lingo/config.json`, `.lingo/lock.json` и состояние запуска для каждой машины в `~/.lingo/runs/<hash>.json`.
lingo push
Отправка исходников, ожидание перевода, запись результатов. Шаблоны областей, `--force`, семантика повторных попыток.
lingo pull
Получение результатов последнего push — между машинами и между сессиями терминала. Обнаружение конфликтов.
Другие команды
login, logout, link, unlink, whoami — команды для настройки и управления учётной записью.

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

Max PrilutskiyMax Prilutskiy·Обновлено около 21 часа назад·3 минуты чтения