翻訳
v1.20.0 から、translate コマンドは @logto/cli から削除され、Logto モノレポのスタンドアロン @logto/translate パッケージとして管理されています。詳細については、 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
このコマンドは、phrases および phrases-experience パッケージ内のすべての言語で未翻訳のキー(/** UNTRANSLATED */ でマーク)を翻訳します。このコマンドを実行するには、環境変数 OPENAI_API_KEY が必要です。