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