# gt: General Translation CLI tool: Быстрый старт
URL: https://generaltranslation.com/ru/docs/cli/quickstart.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Используйте CLI General Translation, чтобы переводить свой проект из командной строки.

CLI General Translation (`gt`) настраивает интернационализацию и переводит ваш проект из командной строки.

Он работает с [`gt-react`, `gt-next` и `gt-react-native`](/docs/react/overview), со сторонними i18n-библиотеками, такими как `next-intl` и `i18next`, а также с автономными файлами, такими как JSON, YAML, Markdown и MDX.

## Что делает CLI [#what-it-does]

CLI предоставляет прямой доступ к:

* **Настройке** для установки зависимостей, интеграции вашего фреймворка и создания `gt.config.json`.
* **Переводу** для отправки исходного контента в API General Translation и сохранения результатов в вашей кодовой базе или CDN.
* **Компонентам для CI** для загрузки, постановки в очередь и скачивания переводов на отдельных этапах pipeline.
* **Доступу к API** для аутентифицированных raw-запросов и встроенного обзора OpenAPI через [`gt api`](/docs/cli/reference/commands/api).
* **Проверке** для выявления ошибок перевода в проекте без вызова API.

## Когда использовать CLI [#when-to-use]

Используйте CLI, если хотите:

* Настроить новый проект для перевода с помощью пошагового мастера.
* Переводить проект в рамках сборки или CI-конвейера.
* Переводить автономные файлы контента без подключения библиотеки фреймворка.
* Хранить переводы в системе контроля версий вместе с исходным контентом.

## Быстрый старт [#quickstart]

Установите `gt`, настройте проект и запустите свой первый перевод. Вам понадобится существующий проект с `package.json` и установленный Node.js.

### 1. Установите `gt`

Установите CLI как зависимость для этапа разработки.

<Tabs items={['npm', 'yarn', 'bun', 'pnpm']}>
  <Tab value="npm">
    ```bash
    npm install gt --save-dev
    ```
  </Tab>

  <Tab value="yarn">
    ```bash
    yarn add --dev gt
    ```
  </Tab>

  <Tab value="bun">
    ```bash
    bun add --dev gt
    ```
  </Tab>

  <Tab value="pnpm">
    ```bash
    pnpm add --save-dev gt
    ```
  </Tab>
</Tabs>

### 2. Настройте проект

Запустите мастер настройки, чтобы определить используемый фреймворк, создать `gt.config.json` и сгенерировать учетные данные, если они требуются для выбранного способа настройки.

```bash
npx gt init
```

В монорепозитории запускайте команду из приложения, которое хотите локализовать. При запуске из корня рабочего пространства мастер завершится без изменения файлов.

<Callout type="warn">
  [`gt init`](/docs/cli/reference/commands/init) — это интерактивный мастер, которому нужен терминал. В CI или другой неинтерактивной оболочке он может ожидать ввода, не пройти проверку или преждевременно завершиться, не создав `gt.config.json` и не записав учетные данные. Для таких окружений используйте [Неинтерактивную настройку для CI](#ci-setup).
</Callout>

Мастер настройки задаёт локаль по умолчанию и целевые локали, выбирает, где хранятся переводы. Если выбранной конфигурации нужны учетные данные, он может записать API-ключ и идентификатор проекта в `.env.local`. Подробно об этой настройке см. в разделе [Настройка CLI](/docs/cli/guides/configuring), а полное описание команды — в [`gt init`](/docs/cli/reference/commands/init).

*Примечание: теперь у вас должен быть файл `gt.config.json` в корне проекта. Если мастер сгенерировал учетные данные, `.env.local` содержит `GT_API_KEY` и `GT_PROJECT_ID`. Конфигурация Vite с локальными переводами в бандле не использует учетные данные, поэтому добавьте их на следующем шаге перед переводом.*

### 3. Добавьте свой продакшен API-ключ

Для команды [`translate`](/docs/cli/reference/commands/translate) нужны продакшен API-ключ и идентификатор проекта. Мастер может сгенерировать их за вас, либо создайте их на [странице API Keys](https://generaltranslation.com/dashboard). Задайте их в виде переменных окружения, чтобы CLI мог их прочитать.

```bash title=".env.local"
GT_API_KEY=your-api-key
GT_PROJECT_ID=your-project-id
```

*Примечание: укажите свой API-ключ в переменной окружения — никогда не добавляйте его в `gt.config.json`.*

### 4. Переведите свой проект

Запустите команду [`translate`](/docs/cli/reference/commands/translate), чтобы перевести все файлы, указанные в `gt.config.json`, а также все встроенные компоненты [`<T>`](/docs/react/reference/components/t) и элементы словаря в исходном коде.

```bash
npx gt translate
```

Переводы сохраняются в вашей кодовой базе и готовы к коммиту. Запускайте это в вашем CI-конвейере перед сборкой для продакшена. Полное описание workflow см. в разделе [Генерация переводов](/docs/cli/guides/generating-translations).

## Неинтерактивная настройка для CI [#ci-setup]

Мастеру настройки нужен интерактивный терминал, поэтому его нельзя запустить в CI или других неинтерактивных средах. Выполните настройку вручную: закоммитьте `gt.config.json`, передайте учетные данные через переменные окружения и запустите [`translate`](/docs/cli/reference/commands/translate) с этой конфигурацией.

### 1. Добавьте `gt.config.json`

Создайте файл самостоятельно и закоммитьте его, чтобы CLI знал, что переводить. Минимальная конфигурация задает исходную и целевые локали, а также запись `files`, чтобы у [`translate`](/docs/cli/reference/commands/translate) было с чем работать. Приведенная ниже запись `gt` сохраняет переводы фреймворка (из `gt-next`, `gt-react` или `gt-react-native`) локально по указанному пути.

```json title="gt.config.json"
{
  "$schema": "https://assets.gtx.dev/config-schema.json",
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "gt": {
      "output": "public/_gt/[locale].json"
    }
  }
}
```

Чтобы переводить вместо этого автономные файлы, добавьте тип файла, например `json` или `mdx`, и укажите для него glob-шаблон `include` вместо записи `gt` (или наряду с ней). Сведения о параметрах файлов и хранилища см. в разделе [Настройка CLI](/docs/cli/guides/configuring), а описание всех полей — в [справочнике по конфигурации](/docs/cli/reference/config).

### 2. Укажите свои учетные данные

Укажите свой продакшен API-ключ и идентификатор проекта в виде переменных окружения в настройках секретов вашего CI-провайдера, а не в закоммиченном файле. Создайте их на [странице API Keys](https://generaltranslation.com/dashboard).

```bash
GT_API_KEY=your-api-key
GT_PROJECT_ID=your-project-id
```

### 3. Запустите команду translate

Запустите [`translate`](/docs/cli/reference/commands/translate) перед сборкой для продакшена. Передайте `--config`, чтобы указать путь к файлу конфигурации.

```bash
npx gt translate --config gt.config.json
```

## Next steps

- /docs/cli/guides/generating-translations
- /docs/cli/guides/configuring
- /docs/cli/guides/managing-translations
- /docs/cli/guides/using-auto-jsx

## Sitemap

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