# gt: General Translation CLI tool: JSON URL: https://generaltranslation.com/ja/docs/cli/formats/json.mdx --- title: JSON description: General Translation で JSON ファイルを自動翻訳する方法 --- ## 概要 `gt` を使うと、使用している i18n ライブラリに関係なく、プロジェクトの JSON ファイルを自動翻訳できます。 **注:** 現在、以下のサードパーティ製 i18n ライブラリでは、カスタム文字列構文と書式設定をサポートしています: `next-intl`, `i18next`。別の i18n ライブラリを使用している場合、カスタム構文や書式設定を含む 文字列 (たとえば ICU メッセージ) では、翻訳結果が正確にならない可能性があります。お使いのライブラリが 見当たりませんか? [ぜひお知らせください](https://github.com/generaltranslation/gt/issues)。できるだけ早く 対応を追加します。 以下の 4 つの手順で進めます: 環境変数を追加する [`gt`](/docs/cli) をインストールする `gt.config.json` ファイルを作成する [`gt translate`](/docs/cli/translate#translate) を実行する **ヒント:** [`` コンポーネント](/docs/react/guides/t) を使えば、翻訳ファイルを使う手間を省けます。 *** ## ステップ 1: 環境変数を追加する 本番用の API キーとプロジェクト ID を環境変数に追加します。 これは `gt` ツールを使用するために必要です。 これらは [General Translation ダッシュボード](https://generaltranslation.com/dashboard) で確認できます。 ```bash title=".env" GT_API_KEY= GT_PROJECT_ID= ``` ## ステップ 2: `gt` をインストール プロジェクトに `gt` ツールをインストールします。 ```bash npm i gt ``` ```bash yarn add --dev gt ``` ```bash bun add --dev gt ``` ```bash pnpm add --save-dev gt ``` ## ステップ3: `gt.config.json` ファイルを作成 プロジェクトのルートに `gt.config.json` ファイルを作成します。 ```json title="gt.config.json" copy { "defaultLocale": "en", "locales": ["zh", "es", "ja"], "files": { "json": { "include": ["i18n/[locale]/*.json"] } } } ``` 必要に応じて、`gt.config.json` ファイルを自由にカスタマイズしてください。詳しくは、[設定](/docs/cli/reference/config) のドキュメントを参照してください。 `include` パスがプロジェクト構成に合うように、`json` ファイルを更新してください。 翻訳では、元の文字列構文が保持されます。 ## ステップ 4: ビルドプロセスに `gt translate` コマンドを追加する プロジェクトに翻訳を自動で追加するには、ビルドコマンドの前に `gt translate` コマンドをビルドまたは CI のプロセスに追加します。 ```json title="package.json" { "scripts": { "translate": "npx gt translate", "build": "npm run translate && " } } ``` これにより、すべてのロケール向けの翻訳が生成され、プロジェクトに保存されます。 これらのファイルをリポジトリにコミットしたい場合は、代わりにコミットする前にこのコマンドを実行してください。 これで完了です。以降は、プロジェクトに変更があるたびに、すべての翻訳 JSON ファイルが自動的に更新されます。 *** ## キーごとのメタデータ 各文字列には、付随する `.metadata.json` ファイルを使って、キーごとの翻訳指示を設定できます。これにより、ソースファイルを変更せずに、特定のキーに対してコンテキスト、文字数制限、ソースコード内のコンテキストを指定できます。 ```json title="translations.json" { "nav": { "home": "Home", "bank": "Bank", "save": "Save" } } ``` ```json title="translations.metadata.json" { "nav": { "bank": { "context": "Riverbank — the side of a river. NOT a financial institution." }, "save": { "context": "Sports term — a goalkeeper preventing a goal. NOT saving data.", "maxChars": 12 } } } ``` すべてのキーにメタデータが必要なわけではありません。個別の翻訳指示が必要なキーに対してのみ、エントリを指定してください。 サポートされているフィールドの一覧については、[キーごとのメタデータ リファレンス](/docs/cli/reference/keyed-metadata)を参照してください。 *** ## 注記 * [`gt translate`](/docs/cli/translate#translate) コマンドを使うと、翻訳をプロジェクトに自動で追加できます。 * 翻訳ファイルをコミットする場合は、コミット前に `gt translate` コマンドを実行してください。 * 翻訳の出力パスを設定する方法については、[設定](/docs/cli/reference/config) ドキュメントを参照してください。 ## 次のステップ * CLI の使用方法の詳細については、[translate コマンド](/docs/cli/translate)を参照してください。 * 各キーごとの翻訳指示については、[キーごとのメタデータ](/docs/cli/reference/keyed-metadata)を参照してください。