JSON

如何使用 General Translation 自动化翻译 JSON 文件

概览

无论您使用哪种 i18n 库,gtx-cli 都可自动翻译项目中的 JSON 文件。

注意: 我们目前支持以下 i18n 库的自定义字符串语法和格式:next-intli18nextgt-nextgt-react

如果您使用的是其他 i18n 库,含有自定义语法和格式(例如 ICU 消息)的字符串翻译结果可能不够准确。 没有看到您常用的库?请告诉我们,我们会尽快补充支持!

我们将按以下 4 个步骤进行:

添加环境变量

安装 gtx-cli

创建 gt.config.json 文件

提示: 使用 <T> 组件 可免去维护翻译文件的繁琐。


步骤 1:添加环境变量

将你的生产环境 API key 和项目 ID 添加到环境变量中。 这一步是使用 gtx-cli 工具所必需的。 你可以在 General Translation 仪表盘 中获取它们。

.env
GT_API_KEY=<你的 API>
GT_PROJECT_ID=<你的项目 ID>

步骤 2:安装 gtx-cli

在项目中安装 gtx-cli 工具。

npm i gtx-cli
yarn add --dev gtx-cli
bun add --dev gtx-cli
pnpm add --save-dev gtx-cli

步骤 3:创建 gt.config.json 文件

在项目根目录创建 gt.config.json 文件。

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["zh", "es", "ja"],
  "files": {
    "json": {
      "include": ["i18n/[locale]/*.json"]
    },
  },
}

可按需自定义 gt.config.json 文件。更多说明请参阅配置文档。

调整 json 文件格式,使 include 路径与项目结构相匹配。

翻译将保留原始字符串的语法。

步骤 4:将 gtx-cli translate 命令加入你的构建流程

在执行构建命令之前,将 gtx-cli translate 命令加入你的构建或 CI 流程,以自动把翻译文件添加到项目中。

package.json
{
  "scripts": {
    "translate": "npx gtx-cli translate",
    "build": "npm run translate && <你的构建命令>"
  }
}

这将为你所有的 locales 生成翻译,并将其保存到你的项目中。 如果你想将这些 files 提交到仓库,可以在提交之前先运行此命令。

搞定!此后每当项目发生变更时,项目都会自动更新所有翻译 JSON 文件。


注意

  • 你可以使用 gtx-cli translate 命令,将翻译自动添加到你的项目中。
  • 如果你计划提交翻译文件,建议在提交之前先运行 gtx-cli translate 命令。
  • 如需配置翻译的输出路径,请参阅配置文档。

后续步骤

这份指南怎么样?

JSON