# gt: General Translation CLI tool: Загрузка
URL: https://generaltranslation.com/ru/docs/cli/upload.mdx
---
title: Загрузка
description: Как загрузить исходные файлы и переводы на платформу General Translation
---
## Использование
```bash
npx gt upload
```
**Примечание:** Для этой команды нужен production API-ключ! Получить его можно на
[платформе](https://generaltranslation.com/dashboard).
## Обзор
Команда `gt upload` загружает исходные файлы проекта и все существующие переводы на платформу General Translation. Это синхронизирует локальные файлы с платформой, чтобы ими можно было управлять, ставить в очередь на перевод и отслеживать их состояние.
Типичный рабочий процесс для разделённых CI/CD-пайплайнов:
1. **`gt upload`** — загрузить исходные файлы на платформу General Translation
2. [`gt enqueue`](/docs/cli/enqueue) — поставить загруженные файлы в очередь на перевод
3. [`gt download`](/docs/cli/download) — скачать готовые переводы
**Только для использования в production!**
Эта команда предназначена для production-сборок и **не должна использоваться при разработке**.
Не забудьте указать в переменных окружения production API-ключ (`GT_API_KEY`) и идентификатор проекта (`GT_PROJECT_ID`).
## Как это работает
1. Читает ваш `gt.config.json`, чтобы определить, какие файлы нужно загрузить
2. Собирает все исходные файлы, пригодные для перевода (JSON, YAML, Markdown, MDX и т. д.)
3. Вычисляет хеш для каждого файла, чтобы сгенерировать `fileId` (на основе пути) и `versionId` (на основе содержимого)
4. Отправляет запрос к API General Translation, чтобы определить, какие файлы новые или изменённые
5. Определяет перемещённые файлы (то же содержимое, другой путь) и сохраняет существующие переводы
6. Загружает на платформу новые и изменённые исходные файлы
7. Если локально найдены существующие файлы переводов, загружает и их
## Флаги
Команда `upload` принимает те же флаги, что и [`translate`](/docs/cli/translate#flags).
| Параметр | Описание | Тип | Необязательно | По умолчанию |
| ---------------------------- | ------------------------------------------------------------- | ---------- | ------------- | ------------------ |
| `--api-key` | Указать production API-ключ | `string` | `true` | |
| `--project-id` | Указать идентификатор проекта | `string` | `true` | |
| `--version-id` | Указать идентификатор версии (по умолчанию — хеш содержимого) | `string` | `true` | |
| `--config ` | Указать путь к файлу конфигурации GT | `string` | `true` | `"gt.config.json"` |
| `--new, --locales ` | Локали, на которые нужно перевести проект | `[string]` | `true` | |
| `--default-locale ` | Исходная локаль проекта | `string` | `true` | `en` |
| `--dry-run` | Выполнить команду в режиме пробного запуска | `flag` | `true` | `false` |
| `--timeout` | Тайм-аут запроса в секундах | `number` | `true` | `600` |
## Пример: разделённый CI-пайплайн
```bash
# Этап 1: Загрузка исходных файлов
npx gt upload
# Этап 2: Постановка переводов в очередь
npx gt enqueue
# Этап 3: Скачивание по готовности
npx gt download
```