Сохранение ключей

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

Устаревшее

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

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

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

Добавьте preservedKeys в bucket в i18n.json:

json
{
  "buckets": {
    "json": {
      "include": ["locales/[locale].json"],
      "preservedKeys": ["legal/privacy", "legal/terms"]
    }
  }
}

Как это работает#

Возьмём такой исходный файл:

json
{
  "welcome": "Welcome to our platform",
  "legal": {
    "privacy": "We respect your privacy and protect your data.",
    "terms": "By using this service, you agree to our terms."
  }
}

При первом запуске CLI копирует сохранённые ключи как есть, а всё остальное переводит:

json
// locales/es.json (first run)
{
  "welcome": "Bienvenido a nuestra plataforma",
  "legal": {
    "privacy": "We respect your privacy and protect your data.",
    "terms": "By using this service, you agree to our terms."
  }
}

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

Сохранение ключей vs. блокировка ключей#

Сохранение ключейБлокировка ключей
Начальное значениеИсходное значение как заполнительИсходное значение (всегда)
Ручные правкиСохраняются навсегдаПерезаписываются исходным значением при каждом запуске
Сценарий использованияЮридические тексты, соответствие требованиям, ручной переводНазвания брендов, технические идентификаторы

Нотация путей ключей#

Используйте прямой слеш (/) для вложенных ключей и звёздочку (*) для масок:

json
{ "preservedKeys": ["legal/*", "marketing/tagline"] }

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