# gt: General Translation CLI tool: 管理翻译 URL: https://generaltranslation.com/zh/docs/cli/guides/managing-translations.mdx --- title: 管理翻译 description: 如何使用 General Translation CLI 上传、加入队列、下载、暂存及同步本地翻译修改。 related: links: - /docs/cli/guides/generating-translations - /docs/cli/guides/branching - /docs/cli/guides/configuring - /docs/cli/guides/using-autoderive --- [`gt translate`](/docs/cli/reference/commands/translate) 命令可一步完成整个翻译流程。当你需要更细粒度的控制时——例如拆分 CI 阶段或加入人工审核步骤——CLI 会将该流程的各个部分分别提供为独立命令。 *注意:这些命令需要生产环境 API 密钥。请将 `GT_API_KEY` 和 `GT_PROJECT_ID` 设置为环境变量。* ## 在 CI 各阶段拆分翻译流程 [#split] 在 CI 流水线中,你通常会希望在不同的 job 中分别上传内容、发起翻译并下载结果。这三个命令分别对应这几个阶段。 1. [`gt upload`](/docs/cli/reference/commands/upload) 将源文件 (以及任何现有译文) 上传到平台。 2. [`gt enqueue`](/docs/cli/reference/commands/enqueue) 会将已上传的文件加入翻译队列,并立即返回,不等待结果。 3. [`gt download`](/docs/cli/reference/commands/download) 会下载已完成的译文,并将其保存到配置中指定的路径。 ```bash # 阶段 1:上传源文件 npx gt upload # 阶段 2:将翻译加入队列 npx gt enqueue # 阶段 3:准备就绪后下载 npx gt download ``` 由于 [`enqueue`](/docs/cli/reference/commands/enqueue) 不会等待完成,因此你可以等翻译准备就绪后,再在后续的 job 中运行 [`download`](/docs/cli/reference/commands/download)。这样可以避免在翻译处理期间一直让构建 job 挂起。 ## 翻译 Lottie 动画 [#lottie] Lottie 翻译包含异步布局处理,因此无法通过一次 [`gt translate`](/docs/cli/reference/commands/translate) 运行同时提交和下载。请先暂存动画,再下载已完成的区域设置: ```bash npx gt stage npx gt download ``` 如果某些区域设置仍在处理中,下载时会跳过它们。请稍后重新运行 [`gt download`](/docs/cli/reference/commands/download);暂存文件会一直保留在 `gt-lock.json` 中,直到所有已配置的区域设置均已下载。有关配置、字体和表达式限制,请参阅 [Lottie 格式参考](/docs/cli/reference/formats/lottie-files)。 ## 将译文暂存以供审核 [#review] 如果你的项目启用了人工审核,请使用 [`gt stage`](/docs/cli/reference/commands/stage) 提交翻译工作,而无需在同一次运行中下载或发布结果。需审核的项目会将已完成的翻译保留为待批准状态。 ```bash npx gt stage ``` 运行 [`stage`](/docs/cli/reference/commands/stage) 会将你的 `gt.config.json` 中的 `stageTranslations` 设为 `true`。翻译获批后,运行 [`gt download`](/docs/cli/reference/commands/download)。[`gt translate`](/docs/cli/reference/commands/translate) 也可以下载之前暂存的版本。启用 `stageTranslations` 后,[`translate`](/docs/cli/reference/commands/translate) 只会下载你已暂存的版本;如果尚未暂存任何内容,它会报错退出。 ## 保存本地修改 [#save-local] 当你或译者手动编辑已下载的翻译文件时,使用 [`gt save-local`](/docs/cli/reference/commands/save-local) 将这些修改同步回平台。 ```bash npx gt save-local ``` 该命令会将你的本地文件与上次下载的版本进行比较,对所有变更内容计算 diff 并提交。它不会将任何新的翻译加入队列。[`gt translate`](/docs/cli/reference/commands/translate) 默认会在将新任务加入队列前执行此保存步骤;传递 `--no-save-local` 可在一次运行中跳过此步骤。 ## Next steps - /docs/cli/guides/generating-translations - /docs/cli/guides/branching - /docs/cli/guides/configuring - /docs/cli/guides/using-autoderive