# gt: General Translation CLI tool: 生成翻译 URL: https://generaltranslation.com/zh/docs/cli/guides/generating-translations.mdx --- title: 生成翻译 description: "如何使用 General Translation CLI 翻译你的项目:本指南介绍如何生成翻译,并将其保存到代码库或 CDN。" related: links: - /docs/cli/guides/managing-translations - /docs/cli/guides/branching - /docs/cli/guides/configuring - /docs/cli/guides/using-autoderive --- [`gt translate`](/docs/cli/reference/commands/translate) 命令是翻译项目的主要方式。它会读取 `gt.config.json` 以定位文件,扫描源代码中的内联内容,并通过 General Translation API 生成翻译。 *注意:请在面向生产环境构建之前,在 CI 流水线中运行 [`translate`](/docs/cli/reference/commands/translate)。它并不适用于开发环境;在开发环境中,你应改用开发 API 密钥进行按需翻译。* ## 开始之前 [#before] * 使用 `gt.config.json` 配置项目。请参阅[配置 CLI](/docs/cli/guides/configuring)。 * 将生产环境的 `GT_API_KEY` 和 `GT_PROJECT_ID` 设为环境变量。 * 切换到你用于生产构建的分支。 ## 翻译你的项目 [#translate] 在项目根目录下运行此命令。 ```bash npx gt translate ``` CLI 会翻译 `gt.config.json` 中匹配的所有文件。如果你使用 `gt-next`、`gt-react` 或 `gt-react-native`,它还会扫描源代码中的内联内容——例如 [``](/docs/react/reference/components/t) 组件和 [`useGT`](/docs/react/reference/hooks/use-gt) 调用——并将你的词典文件一并纳入处理。翻译结果会保存到你的代码库中,随时可以提交。 如果你使用 `next-intl`、`react-i18next` 或 `next-i18next`,CLI 会从 `package.json` 中检测所用的库,并在保留该库字符串语法的同时翻译你的文件。 ## 将其添加到构建流程中 [#build] 在执行构建命令之前运行 `translate`,这样生产环境发布时始终会包含最新翻译。 ```json title="package.json" { "scripts": { "translate": "npx gt translate", "build": "npm run translate && " } } ``` ## 控制要翻译的内容 [#content] 默认情况下,CLI 会在 `src`、`app`、`pages` 和 `components` 中搜索内联内容。你可以通过 `gt.config.json` 中的 `src` 字段或 `--src` 标志来覆盖此设置。 ```bash npx gt translate --src "lib/**/*.{ts,tsx}" ``` 如果想在不修改配置的情况下,仅针对单次运行翻译到更多区域设置,请传入 `--locales`。这些区域设置会附加到 `gt.config.json` 中的 locales。 ```bash npx gt translate --locales de it ``` ## 仅验证,不进行翻译 [#validate] 传入 `--dry-run`,即可在不调用 API 的情况下解析并验证项目。这有助于在实际运行前于 CI 中发现错误。 ```bash npx gt translate --dry-run ``` ## 重新翻译现有内容 [#retranslate] 默认情况下,CLI 只会翻译源内容已更改的部分,并保留本地修改。若要更改此行为: * `--force` 会重新翻译所有内容并覆盖现有翻译。本地修改将会丢失,且你需要为新的翻译付费。 * `--force-download` 会重新下载翻译,并在不重新翻译的情况下覆盖本地修改。 ```bash npx gt translate --force ``` ## 为翻译运行添加标签 [#tagging] 使用 `--tag` 和 `-m` 为一次运行添加人类可读的标识符,便于在仪表板中跟踪各个版本。 ```bash npx gt translate --tag v2.1.0 -m "Added checkout page translations" ``` 传入不带值的 `--tag`,即可使用当前 git 提交哈希作为标签,并将提交信息作为消息。打标签是非阻塞的——即使失败,翻译运行也会继续。 ## 发布到 CDN [#publish] 默认情况下,翻译会保存在本地。添加 `--publish` 后,还会将其发布到 General Translation CDN,以便在运行时加载。 ```bash npx gt translate --publish ``` *注意:请先在项目“设置”中启用 CDN。否则,run 虽然会成功完成翻译,但 publish 步骤会失败并显示警告。* ## Next steps - /docs/cli/guides/managing-translations - /docs/cli/guides/branching - /docs/cli/guides/configuring - /docs/cli/guides/using-autoderive