翻訳
プロジェクトを翻訳する方法
使用方法
本番用アプリをビルドする前に、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-intl
、react-i18next
、next-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-next
と gt-react
は、General TranslationのパブリックCDNの利用だけでなく、ローカルでの翻訳配信もサポートしています。
レイテンシの低減、パフォーマンス向上、バンドルサイズの縮小のためにCDNの利用を推奨します。
詳細は CLI設定ドキュメント をご覧ください。
方法3: プロジェクトの <T>
コンポーネントと辞書ファイルを検証する
この方法は、プロジェクトの <T>
コンポーネントと辞書ファイルの検証に便利です。
これにより、プロジェクトが正しく設定されており、翻訳が有効かつ正確であることを確認できます。
--dry-run
フラグを指定した場合、翻訳は生成されません。
npx gtx-cli translate --dry-run
Flags
Parameter | Description | Type | Optional | Default |
---|---|---|---|---|
--api-key | 本番用APIキーを指定 | string | true | |
--project-id | プロジェクトIDを指定 | string | true | |
--version-id | バージョンIDを指定(デフォルトでは、コンテンツのハッシュ) | string | true | |
--config <path> | GT設定ファイルへのパスを指定 | string | true | "gt.config.json" |
--tsconfig, --jsconfig <path> | TSまたはJS設定ファイルへのパスを指定 | string | true | |
--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> | 辞書ファイルへのパスを指定 | string | true | |
--inline | 辞書に加えてインライン<T> タグを含める | boolean | true | true |
--timeout | 翻訳リクエストのタイムアウト(秒) | number | true | 600 |
--new, --locales <locales> | プロジェクトを翻訳する対象のロケール | [string] | true | |
--default-locale <locale> | プロジェクトのソースロケール | string | true | en |
--ignore-errors | エラーを無視して有効なコンテンツの翻訳を強制実行 | flag | true | false |
--dry-run | コマンドのドライラン実行 | flag | true | false |
これらのパラメータはすべてオプションです。
APIキーをgt.config.json
ファイルに追加しないでください!
代わりに環境変数として設定してください。CLIはGT_API_KEY
が設定されている場合、自動的に読み取ります。
いくつかの重要なパラメータがあります:
Parameter | Description |
---|---|
--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
プロパティを変更することで、別の辞書ファイルを指定できます。
このガイドはいかがですか?