# gt: General Translation CLI tool: Генерация переводов
URL: https://generaltranslation.com/ru/docs/cli/guides/generating-translations.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Генерируйте переводы и сохраняйте их в кодовой базе или в CDN с помощью CLI General Translation.

Команда [`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`, он также сканирует исходный код на наличие встроенного контента — например, компонентов [`<T>`](/docs/react/reference/components/t) и вызовов [`useGT`](/docs/react/reference/hooks/use-gt) — и включает файл словаря. Переводы сохраняются в вашей кодовой базе и готовы к коммиту.

Если вы используете `next-intl`, `react-i18next` или `next-i18next`, CLI определяет библиотеку по `package.json` и переводит файлы, сохраняя синтаксис строк этой библиотеки.

## Добавьте это в процесс сборки [#build]

Запускайте [`translate`](/docs/cli/reference/commands/translate) перед командой сборки, чтобы в продакшн всегда попадали актуальные переводы.

```json title="package.json"
{
  "scripts": {
    "translate": "npx gt translate",
    "build": "npm run translate && <your build command>"
  }
}
```

## Настройте, какой контент переводить [#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

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
