CLI を使用した I18n 翻訳
Logto translate CLI は、Logto の i18n 活動に貢献する開発者向けに設計された強力なツールです。この CLI を使用すると、英語でコンテンツを書くことに集中し、その後、サポートされているすべての言語に簡単に翻訳できます。
プロジェクトに貢献せずにカスタム翻訳を求める通常の Logto ユーザーは、ローカリゼーションガイドを参照してください。
v1.20.0 から、翻訳コマンドは @logto/cli
から削除され、Logto モノレポのスタンドアロン @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
このコマンドは、phrases
および phrases-experience
パッケージ内のすべての未翻訳のキー(/** UNTRANSLATED */
でマーク)を翻訳します。このコマンドを実行するには、環境変数 OPENAI_API_KEY
が必要です。
関連リソース
ChatGPT を使用した効率的な国際化
ChatGPT を使用した長文コンテキスト JSON 翻訳