# gt: General Translation CLI tool: 管理翻译
URL: https://generaltranslation.com/zh/docs/cli/guides/managing-translations.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 如何使用 General Translation CLI 上传、加入队列、下载、暂存及同步本地翻译修改。

[`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) 或 [`gt stage`](/docs/cli/reference/commands/stage) 将新任务加入队列前自动执行此步骤，可传递 `--save-local`，或在 `gt.config.json` 中将 [`options.saveLocal`](/docs/cli/reference/config#save-local) 设置为 `true`。

对于 Apple 的 `.strings` 和 `.stringsdict` 文件以及 Android 的 `strings.xml` 文件，平台会验证并保存完整的编辑后文档。对于 `.xcstrings`，即使所有区域设置都存储在同一个文件中，CLI 也会分别跟踪并提交每个区域设置。

## Next steps

- /docs/cli/guides/generating-translations
- /docs/cli/guides/branching
- /docs/cli/guides/configuring
- /docs/cli/guides/using-autoderive

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
