跳到主要内容

使用 CLI 进行国际化翻译

Logto translate CLI 是一个为开发者设计的强大工具,旨在为 Logto 的国际化工作做出贡献。使用这个 CLI,你可以专注于用英语编写内容,然后轻松地将其翻译成所有支持的语言。

对于希望进行自定义翻译但不想参与项目的普通 Logto 用户,请参考我们的本地化指南

信息:

从 v1.20.0 开始,翻译命令已从 @logto/cli 中移除,并作为 Logto monorepo 中的独立 @logto/translation 包进行维护。因此,执行方式略有不同。

@logto/cli 迁移

以下是旧的和新的 CLI 执行方法的比较:

旧方法(v1.20.0 之前):

pnpm cli translate <command> [options]

新方法:

pnpm translate <command> [options]

同步键

假设我们在 phrases 包的 en 文件夹中对翻译键进行了一些更改。我们希望将这些更改同步到 pt-BR 文件夹。运行以下命令以同步翻译键和文件结构:

pnpm translate sync-keys --target pt-BR

此命令将从源语言文件夹(默认是 en)读取所有翻译键,并将其同步到目标语言文件夹(在此示例中为 pt-BR)。

  • 如果目标语言文件夹不存在,将自动创建;
  • 如果目标语言文件夹已存在,将更新新键并删除过时的键。

对于每个翻译键:

  • 如果目标中缺少某个键,将添加该键并附上注释以指示该短语未翻译(标记为 /** UNTRANSLATED */);
  • 如果基线中缺少某个键,将从目标中删除该键;
  • 如果基线和目标中都存在某个键,将使用目标的值。

要同步 phrases 包中所有语言的键,运行以下命令:

pnpm translate sync-keys --target all

因此,我们可以专注于更新源语言文件夹中的翻译键,其他语言的翻译键将自动更新。

信息:

此命令默认对 phrases 包执行。你可以通过 --package 选项指定包名。例如,使用 --package phrases-experience 来同步 phrases-experience 包的键。

同步键后,我们可以使用 ChatGPT API 翻译这些键。

使用 ChatGPT 翻译键

运行以下命令以使用 ChatGPT 翻译键:

pnpm translate sync

此命令将翻译所有未翻译的键(标记为 /** UNTRANSLATED */),涵盖 phrasesphrases-experience 包中的所有语言。注意,运行此命令需要环境变量 OPENAI_API_KEY

相关资源

使用 ChatGPT 高效国际化

使用 ChatGPT 进行长上下文 JSON 翻译