# Vue: CreateGTOptions
URL: https://generaltranslation.com/ja/docs/vue/reference/types/create-gt-options.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 分離された Vue プラグインの初期ロケール、cookie、カタログローダーを設定します。CreateGTOptions の API リファレンスです。

このオブジェクトを [`createGT()`](/docs/vue/reference/functions/create-gt) に渡します。各フィールドは、リアクティブなクライアントプラグインとリクエストスコープのサーバープラグインに適用されます。

## 概要 [#overview]

```ts
type CreateGTOptions = {
  customMapping?: CustomMapping;
  defaultLocale?: string;
  loadTranslations?: LoadTranslations;
  locale?: string;
  localeCookieName?: string;
};
```

| オプション                                    | 説明                          | 型                                                                     | 任意 | デフォルト                       |
| ---------------------------------------- | --------------------------- | --------------------------------------------------------------------- | -- | --------------------------- |
| [`customMapping`](#custom-mapping)       | フォーマットと複数形の選択に使うロケールのエイリアス。 | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | はい | なし                          |
| [`defaultLocale`](#default-locale)       | ソースロケールおよび代替ロケール。           | `string`                                                              | はい | `en`                        |
| [`loadTranslations`](#load-translations) | 非同期のターゲットカタログローダー。          | [`LoadTranslations`](/docs/vue/reference/types/load-translations)     | はい | 空のカタログ                      |
| [`locale`](#locale)                      | 明示的に指定する初期ロケール。             | `string`                                                              | はい | Cookie、次に `defaultLocale`   |
| [`localeCookieName`](#cookie-name)       | ロケールの選択を保持するためのブラウザ Cookie。 | `string`                                                              | はい | `generaltranslation.locale` |

## `customMapping` [#custom-mapping]

**型** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **任意** · **デフォルト** なし

ロケール依存のフォーマットや複数形の選択に使用するロケールのエイリアスです。有効な `code` を持つオブジェクトマッピングを指定すると、`Intl` フォーマッタやplural rulesに渡されるロケールが変更されます。

カタログの読み込みとロケールのcookieでは、元のエイリアスがそのまま保持されます。たとえば `pirate: { code: 'fr-FR' }` を設定すると、`pirate` カタログが読み込まれ、`pirate` が保持されつつ、値はフランス語のルールでフォーマットされます。

## `defaultLocale` [#default-locale]

**型** `string` · **任意** · **デフォルト** `en`

ソースコンテンツのロケールであり、明示的に指定されたロケールまたは保存済みのロケールがない場合に使用されるフォールバックです。このロケールではソーステキストがカタログとして扱われるため、プラグインが [`loadTranslations`](/docs/vue/reference/types/load-translations) を呼び出すことはありません。

この値は [`createGT()`](/docs/vue/reference/functions/create-gt) によって正規化も制限もされません。CLI 設定、ローダーのパス、リクエストロケールの解決では、同じ表記を使用してください。

## `loadTranslations` [#load-translations]

**型** [`LoadTranslations`](/docs/vue/reference/types/load-translations) · **任意** · **デフォルト** 空のカタログ

対象ロケールの完全な [`TranslationCatalog`](/docs/vue/reference/types/translation-catalog) を返す非同期コールバックです。省略した場合、すべての対象ロケールの読み込みは `{}` に解決されるため、ソースコンテンツが表示され続けます。

正常に取得された結果はプラグインごとにキャッシュされ、同一ロケールに対する同時呼び出しでは Promise が共有されます。拒否された場合はログに記録され、キャッシュされずに再スローされます。

## `locale` [#locale]

**型** `string` · **任意** · **デフォルト** ブラウザのCookie、次に`defaultLocale`

初期アクティブなロケールを明示的に設定します。サーバーでは、現在のリクエストに対して解決されたロケールを渡します。ブラウザでは、明示的な値が古いロケールCookieより優先され、そのCookieに書き戻されるため、hydrationの整合性が保たれます。

ブラウザで省略した場合は、保存済みのCookieが`defaultLocale`より優先されます。サーバーで省略した場合は、`defaultLocale`が使用されます。

## `localeCookieName` [#cookie-name]

**型** `string` · **任意** · **デフォルト** `generaltranslation.locale`

アクティブなロケールを保持・読み取るために、パス全体で使用されるセッション Cookie の名前です。ルーティングまたはサーバー側のミドルウェアで別の Cookie 名を共有する場合は、オーバーライドしてください。

ブラウザから Cookie に直接書き込んだ内容は、`plugin.getLocale()`と次回の Vue レンダリングに反映されます。ただし、ブラウザはそのレンダリングをスケジュールするイベントを発行しません。リアクティブな変更には、`plugin.setLocale()`または[`useSetLocale()`](/docs/vue/reference/composables/use-set-locale)を使用してください。

## 例 [#example]

```ts
import type { CreateGTOptions } from 'gt-vue';

const options: CreateGTOptions = {
  customMapping: {
    pirate: { code: 'fr-FR' },
  },
  defaultLocale: 'en',
  locale: requestLocale,
  localeCookieName: 'my-app.locale',
  loadTranslations: async (locale) =>
    (await import(`./_gt/${locale}.json`)).default,
};
```

サーバーリクエストごとに、個別のオプションオブジェクトとプラグインを作成してください。プラグインの状態や変更可能なカタログキャッシュをプラグインの外部で共有すると、ロケール固有のデータがリクエスト間で漏洩するおそれがあります。

## Sitemap

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