# gt: General Translation CLI tool: JSON URL: https://generaltranslation.com/ja/docs/cli/reference/formats/json-files.mdx --- title: JSON description: General Translation CLI で JSON ファイルを翻訳します。JSON ファイル形式の API リファレンス。 --- 使用している i18n ライブラリにかかわらず、CLI で JSON ファイルを翻訳できます。翻訳後も元の文字列構文は保持されます。 *注: カスタムの文字列構文や書式設定 (たとえば ICU メッセージ) は、`next-intl` と `i18next` でサポートされています。その他のライブラリでは、カスタム構文を含む文字列の翻訳精度が低下する場合があります。* ## 設定 [#config] `files` の下に、glob パターンを含む `include` 配列を持つ `json` エントリを追加します。CLI がソースファイルを見つけて翻訳を正しいパスに保存できるよう、`[locale]` プレースホルダーを使用してください。 ```json title="gt.config.json" { "defaultLocale": "en", "locales": ["zh", "es", "ja"], "files": { "json": { "include": ["i18n/[locale]/*.json"], "exclude": ["i18n/[locale]/exclude/**/*.json"] } } } ``` この設定では、CLI は `i18n/en/` 配下のすべての JSON ファイルを翻訳し、その結果を `i18n/zh/`、`i18n/es/`、`i18n/ja/` に保存します。また、`i18n/en/exclude/` 配下のファイルはスキップします。すべての file keys については、[設定リファレンス](/docs/cli/reference/config#files) を参照してください。 ## キーごとのメタデータ [#metadata] ソース構造を反映した対応する `.metadata.json` ファイルを使って、キーごとの翻訳指示を追加できます。これにより、ソースを変更することなく、特定のキーにコンテキスト、文字数制限、またはソースコード上の文脈を追加できます。 ```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 } } } ``` サポートされているすべてのフィールドについては、[keyed metadata リファレンス](/docs/cli/reference/keyed-metadata)を参照してください。