メインコンテンツまでスキップ

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 翻訳