JSON

Как автоматически переводить файлы JSON с помощью General Translation

Обзор

gtx-cli можно использовать для автоматического перевода JSON‑файлов вашего проекта вне зависимости от используемой библиотеки i18n.

Примечание: В настоящее время мы поддерживаем пользовательский синтаксис строк и форматирование для следующих библиотек i18n: next-intl, i18next, gt-next, gt-react.

Если вы используете другую библиотеку i18n, результаты перевода могут быть неточными для строк с пользовательским синтаксисом и форматированием (например, ICU‑сообщений). Не нашли свою любимую библиотеку? Дайте нам знать, и мы добавим её как можно скорее!

Мы пройдём 4 шага:

Добавьте переменные окружения

Установите gtx-cli

Создайте файл gt.config.json

Запустите gtx-cli translate

Совет: Избавьтесь от возни с файлами переводов с помощью компонента <T>.


Шаг 1: Добавьте переменные окружения

Добавьте ваш production API key и project ID в переменные окружения. Это необходимо для использования утилиты gtx-cli. Вы получите их в панели управления General Translation.

.env
GT_API_KEY=<ваш ключ API>
GT_PROJECT_ID=<ваш ID проекта>

Шаг 2: Установите gtx-cli

Установите инструмент gtx-cli в свой проект.

npm i gtx-cli
yarn add --dev gtx-cli
bun add --dev gtx-cli
pnpm add --save-dev gtx-cli

Шаг 3: Создайте файл gt.config.json

Создайте файл gt.config.json в корне проекта.

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["zh", "es", "ja"],
  "files": {
    "json": {
      "include": ["i18n/[locale]/*.json"]
    },
  },
}

При необходимости настройте файл gt.config.json под свой проект. Подробнее см. в документации по конфигурации.

Обновите формат файла json, чтобы путь include соответствовал структуре вашего проекта.

Переводы сохранят исходный синтаксис строк.

Шаг 4: Добавьте команду gtx-cli translate в процесс сборки

Добавьте команду gtx-cli translate в процесс сборки или CI перед командой сборки, чтобы автоматически добавлять переводы в проект.

package.json
{
  "scripts": {
    "translate": "npx gtx-cli translate",
    "build": "npm run translate && <команда сборки вашего проекта>"
  }
}

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

Готово! Теперь проект будет автоматически обновлять все JSON‑файлы переводов при каждом изменении проекта.


Примечания

  • Вы можете автоматически добавить переводы в свой проект с помощью команды gtx-cli translate.
  • Если вы планируете коммитить файлы переводов, выполните команду gtx-cli translate перед коммитом.
  • Чтобы настроить путь для сохранения переводов, см. раздел конфигурация.

Дальнейшие шаги

Насколько полезно это руководство?

JSON