翻译
如何翻译您的项目
使用方法
在生产环境构建 Next.js 应用之前,在您的 CI 流程中运行此命令。
注意: 此命令需要生产环境 API 密钥!可以在平台上获取。
概述
gtx-cli translate
命令用于翻译您的项目。它会遍历项目的文件树,并翻译所有包含在 <T>
组件中的内容。
此外,它还包括字典文件中的内容(如果提供了字典文件)。
这个命令是使用 General Translation API 和相关服务的主要方式。
仅用于生产环境!
此命令专为生产构建设计,不应在开发环境中使用。
在运行此命令之前,请确保您位于将用于生产的分支上。
还请记得在环境变量中指定您的生产 API 密钥(GT_API_KEY
)和项目 ID(GT_PROJECT_ID
)。
使用方法
有四种使用 translate
命令的方式。方法 2、3 和 4 需要生产环境 API 密钥:
我们建议先运行 npx gtx-cli init
来配置您的项目,然后再运行 translate
命令。
根据项目的配置方式,translate 命令的行为可能会有所不同。
方法 1:翻译项目的 JSON 文件。
如果您正在使用其他 i18n 库,如 next-intl
、react-i18next
或 next-i18next
,可以使用此方法翻译项目的 JSON 文件。
翻译将自动保存到您的代码库中,并可选择发布到 GT CDN。
运行 npx gtx-cli init
时,在运行 translate
命令之前,请指定您正在使用第三方 i18n 库。
有关更多详细信息,请参阅 CLI 配置文档。
CLI 工具将通过读取您的 package.json
文件自动检测您的 i18n 库,并在翻译内容时遵循您的 i18n 库的语法。
方法 2:翻译您的项目并将翻译保存在 GT CDN 上。
如果您正在使用 gt-next
或 gt-react
,可以使用此方法翻译您的项目。
运行 npx gtx-cli init
时,如果您选择将翻译远程保存的选项,translate
命令将把翻译保存在 GT CDN 上。
方法 3:翻译您的项目并将翻译保存到您的代码库中。
运行 npx gtx-cli init
时,如果您选择将翻译本地保存的选项,translate
命令将把翻译保存到您的代码库中。
gt-next
和 gt-react
随后可以向用户提供这些本地翻译,而不是使用 General Translation 的公共 CDN。
如果您使用自定义内容管理系统,或不想使用 GT CDN,此方法非常有用。
方法 4:验证项目的 <T>
组件和字典文件。
此方法用于验证项目的 <T>
组件和字典文件。
这确保您的项目配置正确,且翻译将是有效和准确的。
如果提供了 --dry-run
标志,则不会生成任何翻译。
标志
参数 | 描述 | 类型 | 可选 | 默认值 |
---|---|---|---|---|
--api-key | 指定生产环境API密钥 | string | true | |
--project-id | 指定项目ID | string | true | |
--version-id | 指定版本ID(默认为内容的哈希值) | string | true | |
--config <path> | 指定GT配置文件的路径 | string | true | "gt.config.json" |
--tsconfig, --jsconfig <path> | 指定TS或JS配置文件的路径 | string | true | |
--src <paths> | 指定要扫描的源目录 | [string] | true | ./src && ./app && ./pages && ./components |
--dictionary <path> | 指定字典文件的路径 | string | true | |
--inline | 除字典外还包括内联<T> 标签 | boolean | true | true |
--timeout | 翻译请求的超时时间(秒) | number | true | 600 |
--new, --locales <locales> | 将项目翻译成的语言 | [string] | true | |
--default-locale <locale> | 项目的源语言 | string | true | en |
--ignore-errors | 忽略错误并强制翻译有效内容 | flag | true | false |
--dry-run | 命令的试运行 | flag | true | false |
--no-wait | 不等待翻译完成就退出 | flag | true | false |
--publish | 将翻译发布到CDN | flag | true | false |
所有这些参数都是可选的,也可以在gt.config.json
文件中提供。
不要将API密钥添加到gt.config.json
文件中!
您应该将其设置为环境变量。如果设置了GT_API_KEY
,CLI将自动读取它。
以下是几个关键参数:
参数 | 描述 |
---|---|
--dry-run | 此标志将使CLI解析和验证您的项目,但不会与GT API通信。这对于验证您的代码库很有用。 |
--api-key | 除非您使用--dry-run ,否则必须提供生产环境API密钥。 |
--project-id | 同样,除非您使用--dry-run ,否则必须提供项目ID。 |
--publish | 如果您使用本地翻译,并希望在GT CDN上公开您的翻译,可以使用此标志。 |
--new, --locales <locales> | 将项目翻译成的语言。这些将添加到gt.config.json 文件中指定的语言中。 |
配置文件
首次运行CLI工具时,它将尝试在项目根目录中创建一个gt.config.json
文件。
此文件包含用于翻译内容的项目元数据。
在此处阅读有关gt.config.json
文件的更多信息。