翻訳

プロジェクトを翻訳する方法

使用方法

本番用アプリをビルドする前に、CIパイプラインでこれを実行してください。

npx gtx-cli translate

注意: このコマンドには本番用APIキーが必要です!platformで取得できます。

概要

gtx-cli translate コマンドは、あなたのプロジェクトを翻訳します。
このコマンドはプロジェクトのファイルツリーを走査し、<T> コンポーネントでラップされたコンテンツや
useGT() 関数を使用しているコンテンツを翻訳します。

さらに、(もし提供されていれば)辞書ファイルの内容も含まれます。

このコマンドは、General Translation API および関連サービスを利用する主な方法です。

本番環境専用!

このコマンドは本番ビルド用であり、開発環境では使用しないでください。 このコマンドを実行する前に、本番で使用するブランチにいることを確認してください。 また、環境変数に本番用の API キー(GT_API_KEY)とプロジェクト ID(GT_PROJECT_ID)を指定することも忘れないでください。

使用方法

translate コマンドを使用する方法は3つあります。方法1と2は本番用APIキーが必要です。

セットアップウィザード npx gtx-cli configure を実行して、translate コマンドを実行する前にプロジェクトの設定を行うことをおすすめします。 プロジェクトの設定方法によって、translateコマンドの動作が変わる場合があります。

方法1: プロジェクトのJSONファイルを翻訳する

next-intlreact-i18nextnext-i18next などの他のi18nライブラリを使用している場合、この方法でプロジェクトのJSONファイルを翻訳できます。

翻訳は自動的にコードベースに保存されます。

CLIツールを使ってプロジェクトのJSONファイルを翻訳するには、gt.config.json ファイルの files プロパティに json を追加してください。 詳細は CLI設定ドキュメント をご覧ください。

npx gtx-cli translate

CLIツールは package.json ファイルを読み込んでi18nライブラリを自動的に検出し、i18nライブラリの構文に従ってJSONを翻訳します。

方法2: GTプロジェクトを翻訳する

プロジェクトで gt-next または gt-react を使用している場合、この方法でプロジェクトの翻訳を生成できます。

npx gtx-cli translate

デフォルトでは、翻訳はGT CDNに保存されます。

ただし、翻訳をコードベースに保存したい場合は、gt.config.json ファイルの files オブジェクトに gt プロパティを追加してください。

gt-nextgt-react は、General TranslationのパブリックCDNの利用だけでなく、ローカルでの翻訳配信もサポートしています。 レイテンシの低減、パフォーマンス向上、バンドルサイズの縮小のためにCDNの利用を推奨します。

詳細は CLI設定ドキュメント をご覧ください。

方法3: プロジェクトの <T> コンポーネントと辞書ファイルを検証する

この方法は、プロジェクトの <T> コンポーネントと辞書ファイルの検証に便利です。

これにより、プロジェクトが正しく設定されており、翻訳が有効かつ正確であることを確認できます。

--dry-run フラグを指定した場合、翻訳は生成されません。

npx gtx-cli translate --dry-run

Flags

ParameterDescriptionTypeOptionalDefault
--api-key本番用APIキーを指定stringtrue
--project-idプロジェクトIDを指定stringtrue
--version-idバージョンIDを指定(デフォルトでは、コンテンツのハッシュ)stringtrue
--config <path>GT設定ファイルへのパスを指定stringtrue"gt.config.json"
--tsconfig, --jsconfig <path>TSまたはJS設定ファイルへのパスを指定stringtrue
--src <paths>ソースファイルにマッチするglobパターンのスペース区切りリスト。ルートディレクトリからの相対パスで指定してください。[string]true[ 'src/**/*.{js,jsx,ts,tsx}', 'app/**/*.{js,jsx,ts,tsx}', 'pages/**/*.{js,jsx,ts,tsx}', 'components/**/*.{js,jsx,ts,tsx}', ]
--dictionary <path>辞書ファイルへのパスを指定stringtrue
--inline辞書に加えてインライン<T>タグを含めるbooleantruetrue
--timeout翻訳リクエストのタイムアウト(秒)numbertrue600
--new, --locales <locales>プロジェクトを翻訳する対象のロケール[string]true
--default-locale <locale>プロジェクトのソースロケールstringtrueen
--ignore-errorsエラーを無視して有効なコンテンツの翻訳を強制実行flagtruefalse
--dry-runコマンドのドライラン実行flagtruefalse

これらのパラメータはすべてオプションです。

APIキーをgt.config.jsonファイルに追加しないでください! 代わりに環境変数として設定してください。CLIはGT_API_KEYが設定されている場合、自動的に読み取ります。

いくつかの重要なパラメータがあります:

ParameterDescription
--dry-runこのフラグを使用すると、CLIはプロジェクトを解析・検証しますが、GT APIとは通信しません。コードベースの検証に便利です。
--api-key--dry-runを使用していない限り、本番用APIキーを提供する必要があります。
--project-id同様に、--dry-runを使用していない限り、プロジェクトIDを提供する必要があります。
--new, --locales <locales>プロジェクトを翻訳する対象のロケール。これらはgt.config.jsonファイルで指定されたロケールに追加されます。

設定ファイル

CLIツールを初回実行時、プロジェクトのルートにgt.config.jsonファイルを作成しようとします。 このファイルには、コンテンツの翻訳に使用されるプロジェクトのメタデータが含まれています。

gt.config.jsonファイルの詳細についてはこちらをご覧ください。

重要なヒント

コンテンツソース

translateコマンドは、プロジェクト内の翻訳可能なコンテンツを再帰的に検索します。

デフォルトでは、以下のディレクトリを検索します:

  • ./src
  • ./app
  • ./pages
  • ./components

--srcフラグを使用するか、gt.config.jsonファイルのsrcプロパティを変更することで、検索する別のディレクトリを指定できます。

辞書ファイル

translateコマンドは、プロジェクト内の辞書ファイルを自動的に検出します。

デフォルトでは、以下のディレクトリでdictionary.[json|ts|js]という名前のファイルを探します:

  • ./src
  • ./

--dictionaryフラグを使用するか、gt.config.jsonファイルのdictionaryプロパティを変更することで、別の辞書ファイルを指定できます。

このガイドはいかがですか?