使用 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 */
),涵蓋 phrases
和 phrases-experience
套件中的所有語言。注意,運行此指令需要環境變數 OPENAI_API_KEY
。
相關資源
使用 ChatGPT 進行高效國際化
使用 ChatGPT 進行長上下文 JSON 翻譯