翻译
如何翻译你的项目
用法
在为生产环境构建应用之前,请在 CI 流水线中运行此命令。
npx gtx-cli translate
注意: 此命令需要生产环境的 API 密钥!你可以在平台获取。
概述
gtx-cli translate
命令用于翻译您的项目。
它遍历您项目的文件树,并翻译任何包装在 <T>
组件中的内容
或使用 useGT()
函数的内容。
此外,它还包含字典文件中的内容(如果提供了字典文件)。
此命令是使用 General Translation API 和相关服务的主要方式。
仅用于生产环境!
此命令适用于生产构建,不应在开发环境中使用。
在运行此命令之前,请确保您在将用于生产的分支上。
还要记住在环境变量中指定您的生产 API 密钥(GT_API_KEY
)和项目 ID(GT_PROJECT_ID
)。
用法
translate
命令有三种使用方式。方法一和方法二需要生产环境的 API 密钥:
我们建议先运行设置向导:npx gtx-cli configure
,以帮助你在运行 translate
命令前配置项目。
根据你的项目配置方式,translate 命令的行为可能会有所不同。
方法一:翻译你的项目 JSON 文件。
如果你正在使用其他 i18n 库,比如 next-intl
、react-i18next
或 next-i18next
,可以使用此方法来翻译项目的 JSON 文件。
翻译内容会自动保存到你的代码库中。
要使用 CLI 工具翻译项目的 JSON 文件,请在 gt.config.json
文件的 files
属性中添加 json
。
更多详情请参见 CLI 配置文档。
npx gtx-cli translate
CLI 工具会通过读取你的 package.json
文件自动检测你的 i18n 库,并在翻译 JSON 时遵循你的 i18n 库语法。
方法二:翻译你的 GT 项目。
如果你的项目使用了 gt-next
或 gt-react
,可以通过此方法为项目生成翻译内容。
npx gtx-cli translate
默认情况下,翻译内容会保存到 GT CDN。
但如果你希望将翻译内容保存到代码库中,请在 gt.config.json
文件的 files
对象中添加 gt
属性。
gt-next
和 gt-react
支持本地提供翻译,也支持使用 General Translation 的公共 CDN。
我们建议使用 CDN,以降低延迟、提升性能并减小包体积。
更多详情请参见 CLI 配置文档。
方法三:校验项目中的 <T>
组件和字典文件。
此方法适用于校验项目中的 <T>
组件和字典文件。
这样可以确保你的项目配置正确,翻译内容有效且准确。
如果添加了 --dry-run
标志,则不会生成任何翻译内容。
npx gtx-cli translate --dry-run
Flags
Parameter | Description | Type | Optional | Default |
---|---|---|---|---|
--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 |
所有这些参数都是可选的。
不要将您的 API 密钥添加到 gt.config.json
文件中!
您应该将其设置为环境变量。如果设置了 GT_API_KEY
,CLI 将自动读取它。
有几个关键参数:
Parameter | Description |
---|---|
--dry-run | 此标志将使 CLI 解析和验证您的项目,但不会与 GT API 通信。这对于验证您的代码库很有用。 |
--api-key | 除非您使用 --dry-run ,否则必须提供生产环境 API 密钥。 |
--project-id | 同样,除非您使用 --dry-run ,否则必须提供项目 ID。 |
--new, --locales <locales> | 要将项目翻译成的语言环境。这些将附加到您的 gt.config.json 文件中指定的语言环境。 |
配置文件
首次运行 CLI 工具时,它将尝试在项目根目录中创建一个 gt.config.json
文件。
此文件包含有关项目的元数据,用于翻译您的内容。
在这里了解更多关于 gt.config.json
文件的信息。
重要提示
内容源
translate
命令将递归搜索项目中的可翻译内容。
默认情况下,它会在以下目录中搜索:
./src
./app
./pages
./components
您可以通过使用 --src
标志来指定要搜索的替代目录,
或者通过修改 gt.config.json
文件中的 src
属性。
字典文件
translate
命令将自动检测项目中的字典文件。
默认情况下,它会在以下目录中查找名为 dictionary.[json|ts|js]
的文件:
./src
./
您可以通过使用 --dictionary
标志来指定替代字典文件,
或者通过修改 gt.config.json
文件中的 dictionary
属性。
这份指南怎么样?