跳至主要內容

翻譯

備註:

從 v1.20.0 開始,@logto/cli 中的 translate 指令已被移除,並作為獨立的 @logto/translate 套件在 logto monorepo 中維護。更多詳情請參閱 translate CLI

使用 CLI 管理 i18n 翻譯。這些指令是為想要對 Logto 做出貢獻的開發者準備的。如果你只想使用 Logto 並進行自訂翻譯,請參閱這份指南

同步鍵值

假設我們在 phrases 套件的 en 資料夾中對翻譯鍵值進行了一些更改。我們希望將這些更改同步到 pt-BR 資料夾。運行以下指令以同步翻譯鍵值和檔案結構:

pnpm cli translate sync-keys --target pt-BR

此指令將從來源語言資料夾(預設為 en)讀取所有翻譯鍵值,並將其同步到目標語言資料夾(此例中為 pt-BR)。

  • 如果目標語言資料夾不存在,將自動創建;
  • 如果目標語言資料夾已存在,將更新新鍵值並移除過時的鍵值。

對於每個翻譯鍵值:

  • 如果目標中缺少某個鍵值,將添加該鍵值並附上註解以指示該短語未翻譯(標記為 /** UNTRANSLATED */);
  • 如果基準中缺少某個鍵值,將從目標中移除該鍵值;
  • 如果基準和目標中都存在某個鍵值,將使用目標的值。

要同步 phrases 套件中所有語言的鍵值,運行以下指令:

pnpm cli translate sync-keys --target all

因此,我們可以專注於更新來源語言資料夾中的翻譯鍵值,其他語言的翻譯鍵值將自動更新。

資訊:

此指令預設對 phrases 套件執行。你可以使用 --package 選項指定套件名稱。例如,使用 --package phrases-experience 來同步 phrases-experience 套件的鍵值。

同步鍵值後,我們可以使用 ChatGPT API 翻譯這些鍵值。

使用 ChatGPT 翻譯鍵值

運行以下指令以使用 ChatGPT 翻譯鍵值:

pnpm cli translate sync

此指令將翻譯所有未翻譯的鍵值(標記為 /** UNTRANSLATED */),涵蓋 phrasesphrases-experience 套件中的所有語言。注意,運行此指令需要環境變數 OPENAI_API_KEY