# 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 версии 20 или новее.

### 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 init`](/docs/cli/reference/commands/init), чтобы определить используемый фреймворк, создать `gt.config.json` и при необходимости настроить проект и ключ разработки. Если на каком-либо шаге потребуется вход в систему, мастер настройки предложит вам войти.

```bash
npx gt init
```

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

<Callout type="warn">
  Без терминала [`gt init`](/docs/cli/reference/commands/init) не задаёт вопросов. Если каких-то ответов не хватает, команда завершается до изменения файлов и выводит список параметров, которые нужно передать; см. [запуск в headless-режиме](/docs/cli/reference/commands/init#headless). Для CI используйте [неинтерактивную настройку для CI](#ci-setup).
</Callout>

Мастер задаёт локаль по умолчанию и целевые локали, а также определяет, где будут храниться переводы. Кроме того, он может записать ключ разработки и ID проекта в `.env.local`. Полное описание команды см. в [`gt init`](/docs/cli/reference/commands/init).

*Примечание: теперь в корне проекта должен появиться файл `gt.config.json`. При локальной настройке Vite со встроенными переводами вход и учётные данные можно пропустить; перед переводом выполните следующий шаг.*

### 3. Проверьте учётные данные

Для команды [`translate`](/docs/cli/reference/commands/translate) нужны ID проекта и сохранённые данные входа или API-ключ. Если на этапе настройки они не были заданы, выполните [`gt login`](/docs/cli/reference/commands/login) и укажите ID проекта:

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

(См. [Учётные данные CLI](/docs/cli/guides/configuring#credentials)).

### 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-ключ проекта и ID проекта в виде переменных окружения в настройках секретов вашего CI-провайдера, а не в закоммиченном файле. Создайте ключ в [Dashboard](/docs/platform/dashboard/reference/api-keys) или с помощью [`gt api-key create`](/docs/cli/reference/commands/api-key-create), предоставив права **Files &gt; Write** и **Translation queue &gt; Enabled** (добавьте **Context &gt; Write**, если вы генерируете контекст); ключа разработки, созданного мастером настройки, недостаточно.

```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.
