Переопределения

Обновлено: в прошлом квартале · 1 мин чтения

Устаревшее

Эта документация охватывает устаревший CLI (v0). Актуальная версия — CLI v1. Перейти к актуальной документации CLI

Lingo.dev CLI сохраняет ручные правки в целевых файлах. Если вы измените сгенерированный перевод, отредактировав целевой файл напрямую, CLI сохранит это изменение при следующих запусках — пока исходный контент остаётся прежним.

Как работают переопределения#

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

1

CLI генерирует перевод

json
// locales/es.json (generated)
{ "greeting": "Bienvenido a nuestra plataforma" }
2

Вы переопределяете его вручную

json
// locales/es.json (manually edited)
{ "greeting": "¡Bienvenido a nuestro espacio digital!" }
3

При следующих запусках переопределение сохраняется

bash
npx lingo.dev@latest run
# Your custom translation remains unchanged

Когда переопределения заменяются#

Если исходный контент меняется, CLI определяет новый отпечаток и заново переводит ключ, заменяя ваше переопределение:

json
// locales/en.json (source updated)
{ "greeting": "Welcome to our new platform" }

Новый отпечаток не совпадает с записью в lockfile, поэтому CLI создаёт для этого ключа новый перевод.

Переименование ключей#

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

Что дальше#