Перевод заново

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

Система отпечатков контента CLI гарантирует, что переводы остаются синхронизированными с изменениями исходного текста, избегая ненужного перевода неизмененного контента.

Автоматический перевод заново

Когда вы изменяете исходный контент, Lingo.dev CLI обнаруживает изменения с помощью системы отпечатков контента и переводит заново затронутые ключи при следующем запуске.

Пример рабочего процесса:

// locales/en.json (оригинал)
{
  "button.save": "Save changes"
}

// locales/es.json (сгенерировано)
{
  "button.save": "Guardar cambios"
}

После обновления исходного текста:

// locales/en.json (изменено)
{
  "button.save": "Save all changes"
}

Запуск команды npx lingo.dev@latest i18n переводит заново испанскую версию:

// locales/es.json (обновлено)
{
  "button.save": "Guardar todos los cambios"
}

CLI сравнивает новый отпечаток контента с i18n.lock и определяет, какие переводы нужно обновить.

Ручной перевод заново

Иногда вам нужно перевести контент заново, даже если исходный текст не изменился. Это может быть необходимо при обновлении моделей ИИ, изменении подсказок для перевода или при желании обновить переводы с улучшенным контекстом.

Полный перевод заново

Принудительный полный перевод заново:

npx lingo.dev@latest i18n --force

Эта команда обходит lock-файл и переводит весь контент заново, создавая файл i18n.lock с нуля.

Целевой перевод заново

Перевод для конкретных языков:

npx lingo.dev@latest i18n --locale es

Переводит заново только испанский контент, сохраняя другие языки.

Перевод для определенных типов файлов:

npx lingo.dev@latest i18n --bucket json

Переводит заново только JSON-файлы, что полезно, если разные типы файлов обновляются с разной частотой.

Перевод для определенных ключей перевода:

npx lingo.dev@latest i18n --key welcome.title

Переводит заново один ключ для всех целевых языков. Для вложенных ключей используйте точечную нотацию:

npx lingo.dev@latest i18n --key header.navigation.about

Перевод для определенных файлов:

npx lingo.dev@latest i18n --file blog.[locale].json

Переводит заново определенные файлы в ваших корзинах. Вы можете указать несколько файлов:

npx lingo.dev@latest i18n --file landing.[locale].json --file pricing.[locale].json

Комбинирование опций

Вы можете комбинировать параметры таргетинга для точного контроля:

npx lingo.dev@latest i18n --force --bucket json --locale es

Это повторно переводит весь JSON-контент, но только для испанского языка.

Обновления контекста перевода

Когда вы изменяете настройки AI-перевода, существующие переводы не обновляются автоматически. Для применения новых подсказок или моделей к ранее переведенному контенту требуется ручной повторный перевод.

Распространенные сценарии, требующие повторного перевода:

  • Переход с одной AI-модели на другую
  • Обновление подсказок перевода для улучшения контекста
  • Переход с использования сырых API LLM на Lingo.dev Engine
  • Улучшение согласованности терминологии в существующих переводах при использовании сырых API LLM

Интеграция lockfile

Повторный перевод обновляет файл i18n.lock с новыми отпечатками контента. Это гарантирует, что будущие запуски правильно отслеживают, какой контент был обработан с текущими настройками перевода.

Lockfile предотвращает циклы повторного перевода и сохраняет преимущества производительности инкрементального перевода даже после ручных операций повторного перевода.