設定

gt.config.jsonファイルの設定ドキュメント

概要

gt.config.jsonファイルはプロジェクトのGT設定を構成するために使用されます。プロジェクトのルートに配置する必要があります。

CLIコマンドnpx gtx-cli initを実行すると、プロジェクト内にgt.config.jsonファイルが作成されます。

設定

gt.config.jsonファイルには以下の設定が含まれています:

  • defaultLocale:プロジェクトのデフォルトロケール。これはソースコンテンツが記述されているロケールです。また、プロジェクトのフォールバックロケールでもあります(gt-nextまたはgt-reactを使用している場合)。

  • locales:プロジェクトのロケールの配列。これらはプロジェクトを翻訳したいロケールです。詳細についてはサポートされているロケールを参照してください。 gt-nextまたはgt-reactを使用している場合、これらはアプリがサポートするロケールでもあります。

  • files:翻訳したいコンテンツに関する情報を含むオブジェクトです。

以下はgt.config.jsonファイルの骨格です:

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "gt": {
      "output": "..."
    },
    "json": {
      "include": [...]
    },
    "mdx": {
      "include": [...]
    },
    "md": {
      "include": [...]
    }
  }
}

設定例

gt.config.jsonファイルの例を詳しく見てみましょう:

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "gt": {
      "output": "public/i18n/[locale].json"
    },
    "mdx": {
      "include": ["content/docs/[locale]/**/*.mdx"],
      "transform": "*.[locale].mdx"
    },
    "json": {
      "include": ["resources/[locale]/**/*.json"],
      "exclude": ["resources/[locale]/exclude/**/*.json"]
    }
  }
}

この例では、gtx-cli translateを一度呼び出すことで、以下のファイルを翻訳しています:

  • content/docs/enディレクトリ内のすべてのMDXファイル。
  • resources/enディレクトリ内のすべてのJSONファイル(resources/en/excludeディレクトリ内のファイルを除く)。
  • ReactまたはNext.jsプロジェクト内のすべてのインライン<T>コンポーネント。
  • dictionary.[json|js|ts]ファイル。

GT:翻訳はpublic/i18n/es.jsonpublic/i18n/fr.jsonに保存されます。これらのファイルはloadTranslations()を使用して読み込むことができます。

MDX:翻訳はcontent/docs/frcontent/docs/esディレクトリに保存されます。 ファイル拡張子は.mdxから.fr.mdx.es.mdxにそれぞれ変更されます。

JSON:翻訳はresources/frresources/esディレクトリに保存されます。


サポートされているファイルタイプ

filesには、翻訳したい各ファイルタイプのキーを含める必要があります。 プロジェクトを設定して、異なるファイルタイプを組み合わせて、それらすべてを翻訳することができます。 現在、以下のファイルタイプをサポートしています:

  • gt: 一般翻訳ファイル。
  • json: JSONファイル。
  • mdx: マークダウンコンポーネント(MDX)ファイル。
  • md: マークダウン(MD)ファイル。

各ファイルタイプは、以下のキーの1つ以上を含むオブジェクトに対応する必要があります:

  • include
  • exclude
  • transform
  • output

include

使用する場合、includeキーの値は、翻訳したいファイルに一致するグロブパターンの配列である必要があります。

正しいロケールが使用されるように、グロブパターンで[locale]プレースホルダーを使用する必要があります。 CLIツールは、翻訳可能なファイルを検索する際に、[locale]プレースホルダーをdefaultLocaleの値に置き換えます。

CLIツールは、[locale]プレースホルダーがロケールコードに置き換えられた対応するパスに翻訳ファイルを保存します。

{
  "include": ["docs/[locale]/**/*.json"]
}

exclude

使用する場合、excludeキーの値は、翻訳から除外したいファイルに一致するグロブパターンの配列である必要があります。

パターンはincludeパターンと同じです。

{
  "exclude": ["docs/[locale]/exclude/**/*.json"]
}

transform

使用する場合、transformキーの値は、ファイル名の再マッピングを定義する文字列である必要があります。元のファイル名(最初の.の前のすべて)に置き換えられるワイルドカード*を含める必要があります。

例えば、翻訳されたすべてのファイルの拡張子を.jsonの代わりに.[locale].jsonにしたい場合は、次の設定を使用できます:

{
  "transform": "*.[locale].json"
}

これは、翻訳されたファイルにサブディレクトリベースのロケールルーティングの代わりに、特定のファイル拡張子が必要なドキュメントやi18nフレームワークを使用している場合に便利です。

output

このキーは、一般翻訳ファイル専用で、特に翻訳をローカルに保存するために使用されます。GT CDNを使用している場合、このキーは必要ありません。

値は、翻訳が保存される場所を示す[locale]プレースホルダーを含む文字列である必要があります。

例えば、スペイン語の翻訳をpublic/i18nディレクトリのui.es.jsonというファイルに保存したい場合は、次の文字列を使用する必要があります:

{
  "output": "public/i18n/[locale].json"
}

このオプションは、gt-nextまたはgt-reactを使用していて、GT CDNを使用する代わりに翻訳をローカルに保存したい場合にのみ使用してください。

現在、各ロケールに対して1つのファイルのみ生成できます。


ファイルタイプ: gt

サポートされているキー

  • output (必須)

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "gt": {
      "output": "public/i18n/[locale].json"
    },
  }
}

この設定により、CLIツールはフランス語とスペイン語の翻訳をpublic/i18n/[locale].jsonディレクトリに保存します。

デフォルトでは、CLIツールはこの設定では翻訳をGT CDNに公開しません。


ファイルタイプ: json

サポートされているキー

  • include (必須)
  • exclude (任意)
  • transform (任意)

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "json": {
      "include": ["json_files/[locale]/**/*.json"],
      "exclude": ["json_files/[locale]/exclude/**/*.json"]
    }
  }
}

プロジェクトのデフォルトロケールが en で、プロジェクトを fres に翻訳したいとします。

この設定では、CLIはサブディレクトリ json_files/en/ 内のすべてのJSONファイルを検索し、翻訳されたファイルを json_files/fr/json_files/es/ に保存します。

サブディレクトリ json_files/en/exclude/ 内のファイルは無視されます。


ファイルタイプ: mdx

サポートされているキー

  • include (必須)
  • exclude (オプション)
  • transform (オプション)

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["ja"],
  "files": {
    "mdx": {
      "include": ["content/docs/[locale]/**/*.mdx"],
      "transform": "*.[locale].mdx"
    }
  }
}

この設定は、CLIツールにcontent/docs/enディレクトリ下のすべてのMDXファイルを検索し、翻訳されたファイルをcontent/docs/jaディレクトリに保存するよう指示します。

transformキーにより、翻訳されたファイルの拡張子が.ja.mdxに変更されます。


ファイルタイプ: md

サポートされているキー

  • include (必須)
  • exclude (任意)
  • transform (任意)

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["ja"],
  "files": {
    "md": {
      "include": ["content/docs/[locale]/**/*.md"],
      "exclude": ["content/docs/[locale]/exclude/**/*.md"],
      "transform": "*.[locale].md"
    }
  }
}

この設定は、CLIツールにcontent/docs/enディレクトリの下にあるすべてのMDファイルを検索し、翻訳されたファイルをcontent/docs/jaディレクトリに保存するよう指示します。

transformキーにより、翻訳されたファイルの拡張子が.ja.mdに変更されます。

content/docs/en/excludeディレクトリ内のすべてのファイルは無視されます。


次のステップ

この設定ファイルを生成するためのinitコマンドの使用方法を学びましょう。

このページについて