# gt: General Translation CLI tool: 上传 URL: https://generaltranslation.com/zh/docs/cli/upload.mdx --- title: 上传 description: 如何将源文件和翻译上传到 General Translation 平台 --- ## 用法 ```bash npx gt upload ``` **注意:**此命令需要生产环境 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) — 下载已完成的翻译 **仅限生产环境使用!** 此命令用于生产构建,**不应在开发环境中使用**。 请务必在环境变量中指定生产 API 密钥 (`GT_API_KEY`) 和项目 ID (`GT_PROJECT_ID`) 。 ## 工作方式 1. 读取你的 `gt.config.json`,确定要上传哪些文件 2. 收集所有可翻译的源文件 (JSON、YAML、Markdown、MDX 等) 3. 对每个文件进行哈希计算,生成 `fileId` (基于路径) 和 `versionId` (基于内容) 4. 查询 General Translation API,确定哪些文件是新增或已更改的 5. 检测文件移动 (内容相同但路径不同) ,并保留现有翻译 6. 将新增和已更改的源文件上传到平台 7. 如果在本地发现现有翻译文件,也会一并上传 ## 标志 `upload` 命令接受与 [`translate`](/docs/cli/translate#flags) 相同的标志。 | Parameter | Description | Type | Optional | Default | | ---------------------------- | ----------------------- | ---------- | -------- | ------------------ | | `--api-key` | 指定生产环境 API 密钥 | `string` | `true` | | | `--project-id` | 指定项目 ID | `string` | `true` | | | `--version-id` | 指定版本 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 ```