使用 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 */
),涵盖 phrases
和 phrases-experience
包中的所有语言。注意,运行此命令需要环境变量 OPENAI_API_KEY
。
相关资源
使用 ChatGPT 高效国际化
使用 ChatGPT 进行长上下文 JSON 翻译