# gt: General Translation CLI tool: JSON
URL: https://generaltranslation.com/ja/docs/cli/reference/formats/json-files.mdx
Docs index: https://generaltranslation.com/llms.txt
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)を参照してください。

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
