# gt: General Translation CLI tool: Настройка CLI
URL: https://generaltranslation.com/ru/docs/cli/guides/configuring.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Как настроить gt.config.json для General Translation с локалями, файлами и параметрами хранения.

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

*Примечание: в этом руководстве рассматриваются распространённые варианты настройки. Все доступные поля см. в [справочнике по конфигурации](/docs/cli/reference/config).*

## Создайте файл конфигурации [#create]

Создать `gt.config.json` можно тремя способами. Выберите тот, который лучше всего подходит для вашего workflow.

### a) Запустите полный мастер настройки

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

```bash
npx gt init
```

В монорепозитории запускайте команду из приложения, которое хотите локализовать, а не из корня рабочего пространства. Для приложений Vite React мастер устанавливает `gt-react`, добавляет вызов [`initializeGTSPA`](/docs/react/reference/config#initialize-spa) перед существующей точкой входа приложения и настраивает загрузку переводов локально или через CDN.

### b) Создайте только файл конфигурации

Запустите [`gt configure`](/docs/cli/reference/commands/configure), чтобы создать `gt.config.json` без установки зависимостей и изменения настроек фреймворка.

```bash
npx gt configure
```

### c) Создайте его вручную

Создайте файл самостоятельно и добавьте ссылку на `$schema` для валидации и автодополнения в редакторе.

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

## Укажите локали [#locales]

Укажите в `defaultLocale` язык, на котором написан исходный контент, а в `locales` перечислите целевые языки.

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["fr", "es", "ja"]
}
```

Оба варианта используют стандартные коды локалей, такие как `en`, `en-US` или `zh`. Полный список см. в разделе [поддерживаемые локали](/docs/platform/dashboard/reference/supported-locales).

Чтобы использовать собственный алиас локали — например, `cn` вместо `zh`, — добавьте запись `customMapping`, которая указывает на официальный код.

```json title="gt.config.json"
{
  "customMapping": {
    "cn": { "code": "zh" }
  }
}
```

## Выберите, какие файлы переводить [#files]

Добавьте объект `files` с ключом для каждого типа файлов, который нужно переводить. Для большинства типов указывается массив `include` с glob-шаблонами, использующими заполнитель `[locale]` для поиска исходных файлов и сохранения переведённых. Исключение — [каталоги `.xcstrings`](/docs/cli/reference/formats/xcstrings-files), поскольку все локали хранятся в одном файле, который обновляется на месте.

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "json": {
      "include": ["locales/[locale]/**/*.json"]
    },
    "mdx": {
      "include": ["content/docs/[locale]/**/*.mdx"]
    }
  }
}
```

CLI заменяет `[locale]` на `defaultLocale` при поиске source files, а при сохранении переводов — на код каждой целевой локали. Параметры для каждого типа описаны в разделе [Форматы файлов](/docs/cli/reference/formats/gt-jsx-files), а расширенные правила сопоставления — в разделе [`include`](/docs/cli/reference/config#files).

## Выберите, где хранятся переводы [#storage]

Если вы используете `gt-next`, `gt-react` или `gt-react-native`, решите, как будут поставляться переводы.

* **Сохраняйте локально**, чтобы включить переводы в бандл приложения. Добавьте запись `gt` и укажите путь `output`, включающий `[locale]`.
* **Публикуйте в CDN**, чтобы загружать переводы во время выполнения, а не включать их в бандл. Установите `publish` в `true`.

```json title="gt.config.json"
{
  "files": {
    "gt": {
      "output": "public/i18n/[locale].json"
    }
  }
}
```

(См. [публикацию в CDN](/docs/cli/reference/config#cdn-publishing), чтобы управлять публикацией глобально, для отдельных файлов или команд).

## Добавьте учетные данные [#credentials]

Команде [`translate`](/docs/cli/reference/commands/translate) требуются production API key и идентификатор проекта. Не храните их в `gt.config.json`; вместо этого задайте их через переменные окружения.

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

Выполните [`gt auth`](/docs/cli/reference/commands/auth), чтобы сгенерировать их и автоматически сохранить в `.env.local`.

## Next steps

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

## Sitemap

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