翻译

如何翻译你的项目

用法

在为生产环境构建应用之前,请在 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-intlreact-i18nextnext-i18next,可以使用此方法来翻译项目的 JSON 文件。

翻译内容会自动保存到你的代码库中。

要使用 CLI 工具翻译项目的 JSON 文件,请在 gt.config.json 文件的 files 属性中添加 json。 更多详情请参见 CLI 配置文档

npx gtx-cli translate

CLI 工具会通过读取你的 package.json 文件自动检测你的 i18n 库,并在翻译 JSON 时遵循你的 i18n 库语法。

方法二:翻译你的 GT 项目。

如果你的项目使用了 gt-nextgt-react,可以通过此方法为项目生成翻译内容。

npx gtx-cli translate

默认情况下,翻译内容会保存到 GT CDN。

但如果你希望将翻译内容保存到代码库中,请在 gt.config.json 文件的 files 对象中添加 gt 属性。

gt-nextgt-react 支持本地提供翻译,也支持使用 General Translation 的公共 CDN。 我们建议使用 CDN,以降低延迟、提升性能并减小包体积。

更多详情请参见 CLI 配置文档

方法三:校验项目中的 <T> 组件和字典文件。

此方法适用于校验项目中的 <T> 组件和字典文件。

这样可以确保你的项目配置正确,翻译内容有效且准确。

如果添加了 --dry-run 标志,则不会生成任何翻译内容。

npx gtx-cli translate --dry-run

Flags

ParameterDescriptionTypeOptionalDefault
--api-key指定生产环境 API 密钥stringtrue
--project-id指定项目 IDstringtrue
--version-id指定版本 ID(默认为内容的哈希值)stringtrue
--config <path>指定 GT 配置文件的路径stringtrue"gt.config.json"
--tsconfig, --jsconfig <path>指定 TS 或 JS 配置文件的路径stringtrue
--src <paths>指定要扫描的源目录[string]true./src && ./app && ./pages && ./components
--dictionary <path>指定字典文件的路径stringtrue
--inline除了字典之外,还包含内联 <T> 标签booleantruetrue
--timeout翻译请求的超时时间(秒)numbertrue600
--new, --locales <locales>要将项目翻译成的语言环境[string]true
--default-locale <locale>项目的源语言环境stringtrueen
--ignore-errors忽略错误并强制翻译有效内容flagtruefalse
--dry-run试运行命令flagtruefalse

所有这些参数都是可选的。

不要将您的 API 密钥添加到 gt.config.json 文件中! 您应该将其设置为环境变量。如果设置了 GT_API_KEY,CLI 将自动读取它。

有几个关键参数:

ParameterDescription
--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 属性。

这份指南怎么样?