跳至主要內容

使用 CLI 進行 I18n 翻譯

Logto 翻譯 CLI 是為貢獻 Logto 的 i18n 工作的開發者設計的強大工具。使用此 CLI,你可以專注於用英文撰寫內容,然後輕鬆地將其翻譯成所有支援的語言。

對於尋求自訂翻譯但不想貢獻專案的 Logto 一般使用者,請參閱我們的本地化指南

資訊:

從 v1.20.0 開始,翻譯指令已從 @logto/cli 中移除,並作為獨立的 @logto/translation 套件在 logto monorepo 中維護。因此,執行方式略有不同。

@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 翻譯