# gt: General Translation CLI tool: gt upload URL: https://generaltranslation.com/ru/docs/cli/reference/commands/upload.mdx --- title: gt upload description: Загружайте исходные файлы и переводы в платформу General Translation. Справочник API для команды `gt upload`. --- Загружает исходные файлы вашего проекта и все существующие переводы в платформу General Translation, синхронизируя локальные файлы, чтобы ими можно было управлять, ставить в очередь и отслеживать. Используйте вместе с [`gt enqueue`](/docs/cli/reference/commands/enqueue) и [`gt download`](/docs/cli/reference/commands/download), чтобы разделить процесс перевода между этапами CI. См. [Управление переводами](/docs/cli/guides/managing-translations#split). *Примечание: только для использования в Production. Требуются `GT_API_KEY` и `GT_PROJECT_ID` для Production.* ```bash npx gt upload ``` ## Как это работает [#how-it-works] 1. Читает `gt.config.json`, чтобы определить, какие файлы нужно загрузить. 2. Собирает все исходные файлы, доступные для перевода. 3. Хеширует каждый файл, чтобы сгенерировать `fileId` (из его пути) и `versionId` (из его содержимого). 4. Обращается к API, чтобы определить, какие файлы новые или были изменены. 5. Обнаруживает перемещённые файлы — с тем же содержимым, но другим путём — и сохраняет существующие переводы. 6. Загружает новые и изменённые исходные файлы вместе со всеми локальными файлами перевода. ## Флаги [#flags] `upload` поддерживает те же флаги, что и [`gt translate`](/docs/cli/reference/commands/translate#flags). Ниже перечислены наиболее часто используемые; по ссылке выше приведён полный список. | Параметр | Описание | Тип | Необязательно | По умолчанию | | --------------------------- | --------------------------------------------------------------------- | ---------- | ------------- | ---------------- | | `--api-key ` | API-ключ для production. | `string` | Да | `GT_API_KEY` | | `--project-id ` | ID проекта. | `string` | Да | `GT_PROJECT_ID` | | `-c, --config ` | Путь к файлу конфигурации. | `string` | Да | `gt.config.json` | | `--locales ` | Дополнительные целевые локали, добавляемые к locales из конфигурации. | `string[]` | Да | — | | `--default-locale ` | Исходная локаль проекта. | `string` | Да | `en` | | `--timeout ` | Тайм-аут запроса в секундах. | `number` | Да | `900` | | `--dry-run` | Собирает файлы и показывает их без отправки. | `boolean` | Да | `false` | ## Пример [#example] ```bash # Этап 1: загрузить исходные файлы (эта команда) npx gt upload # Этап 2: поставить переводы в очередь npx gt enqueue # Этап 3: скачать, когда будет готово npx gt download ``` ## Другие замечания [#notes] * `upload` собирает все исходные файлы поддерживаемых типов, пригодные для перевода (JSON, YAML, Markdown, MDX и другие), а также все локальные файлы перевода. * Поскольку для каждого файла вычисляется хеш по его пути и содержимому, перемещённые файлы (то же содержимое, новый путь) сохраняют существующие переводы и не переводятся заново.