# gt: General Translation CLI tool: Генерация переводов URL: https://generaltranslation.com/ru/docs/cli/guides/generating-translations.mdx --- title: Генерация переводов description: "Как переводить проект с помощью CLI General Translation: в этом руководстве рассказывается, как генерировать переводы и сохранять их в кодовой базе или в CDN." related: links: - /docs/cli/guides/managing-translations - /docs/cli/guides/branching - /docs/cli/guides/configuring - /docs/cli/guides/using-autoderive --- Команда [`gt translate`](/docs/cli/reference/commands/translate) — основной способ перевода проекта. Она читает `gt.config.json`, находит ваши файлы, сканирует исходный код на наличие встроенного контента и генерирует переводы через API General Translation. *Примечание: запускайте [`translate`](/docs/cli/reference/commands/translate) в вашем CI-пайплайне перед production-сборкой. Эта команда не предназначена для разработки: в среде разработки вместо неё используется API-ключ для разработки и перевод по запросу.* ## Перед началом [#before] * Настройте проект с помощью `gt.config.json`. См. [Настройка CLI](/docs/cli/guides/configuring). * Задайте `GT_API_KEY` и `GT_PROJECT_ID` для production в переменных окружения. * Переключитесь на ветку, из которой вы собираете production. ## Переведите проект [#translate] Выполните команду из корневого каталога проекта. ```bash npx gt translate ``` The CLI переводит каждый файл, соответствующий шаблонам в `gt.config.json`. Если вы используете `gt-next`, `gt-react` или `gt-react-native`, он также сканирует исходный код на наличие встроенного контента — например, компонентов [``](/docs/react/reference/components/t) и вызовов [`useGT`](/docs/react/reference/hooks/use-gt) — и включает файл словаря. Переводы сохраняются в вашей кодовой базе и готовы к коммиту. Если вы используете `next-intl`, `react-i18next` или `next-i18next`, CLI определяет библиотеку по `package.json` и переводит файлы, сохраняя синтаксис строк этой библиотеки. ## Добавьте это в процесс сборки [#build] Запускайте `translate` перед командой сборки, чтобы в продакшн всегда попадали актуальные переводы. ```json title="package.json" { "scripts": { "translate": "npx gt translate", "build": "npm run translate && " } } ``` ## Настройте, какой контент переводить [#content] По умолчанию CLI ищет встроенный контент в каталогах `src`, `app`, `pages` и `components`. Это можно переопределить с помощью поля `src` в `gt.config.json` или флага `--src`. ```bash npx gt translate --src "lib/**/*.{ts,tsx}" ``` Чтобы перевести в дополнительные локали за один запуск, не изменяя конфигурацию, передайте `--locales`. Они будут добавлены к локалям из `gt.config.json`. ```bash npx gt translate --locales de it ``` ## Validate без перевода [#validate] Передайте `--dry-run`, чтобы проверить проект без вызова API. Это полезно для выявления ошибок в CI перед фактическим запуском. ```bash npx gt translate --dry-run ``` ## Повторный перевод существующего контента [#retranslate] По умолчанию CLI переводит только тот контент, в котором изменился исходный текст, и сохраняет локальные правки. Чтобы изменить это поведение: * `--force` повторно переводит весь контент и перезаписывает существующие переводы. Локальные правки будут потеряны, а за новые переводы будет взиматься плата. * `--force-download` повторно загружает переводы и перезаписывает локальные правки без повторного перевода. ```bash npx gt translate --force ``` ## Добавьте тег к запуску перевода [#tagging] Используйте `--tag` и `-m`, чтобы присвоить запуску понятный идентификатор — так будет проще отслеживать версии в Dashboard. ```bash npx gt translate --tag v2.1.0 -m "Added checkout page translations" ``` Передайте `--tag` без значения, чтобы использовать хэш текущего git-коммита в качестве тега, а сообщение коммита — в качестве описания. Тегирование не блокирует процесс: если оно завершится с ошибкой, запуск перевода продолжится. ## Опубликовать в CDN [#publish] По умолчанию переводы сохраняются локально. Добавьте `--publish`, чтобы также опубликовать их в CDN General Translation для загрузки в рантайме. ```bash npx gt translate --publish ``` *Примечание: Сначала включите CDN в настройках проекта. Без этого перевод выполнится успешно, но шаг публикации завершится с предупреждением.* ## Next steps - /docs/cli/guides/managing-translations - /docs/cli/guides/branching - /docs/cli/guides/configuring - /docs/cli/guides/using-autoderive