# vue: GTPlugin URL: https://generaltranslation.com/ja/docs/vue/reference/types/gt-plugin.mdx --- title: GTPlugin description: Vue の翻訳状態をインストールし、ロケールとカタログキャッシュを命令的に制御します。GTPlugin の API リファレンス。 --- [`createGT()`](/docs/vue/reference/functions/create-gt) と [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) は、この Vue プラグインを返します。このプラグインの状態と動作は、作成元の関数に紐づきます。 ## 概要 [#overview] ```ts type GTPlugin = { getLocale(): string; install(app: App): void; loadTranslations(locale: string): Promise; setLocale(locale: string): Promise; }; ``` | メソッド | 説明 | 戻り値の型 | | ------------------------------------------------ | ------------------------------------------- | ----------------------------- | | [`getLocale()`](#get-locale) | プラグインが現在使用しているロケールを返します。 | `string` | | [`install(app)`](#install) | プラグインの状態をVueアプリケーションに提供します。 | `void` | | [`loadTranslations(locale)`](#load-translations) | アクティブなロケールを変更せずに、指定したロケールを事前に読み込んでキャッシュします。 | `Promise` | | [`setLocale(locale)`](#set-locale) | プラグインのランタイムモードに応じて、アクティブなロケールを変更または永続化します。 | `Promise` | ## `getLocale()` [#get-locale] **型** `() => string` · **必須** ブラウザ上の [`createGT()`](/docs/vue/reference/functions/create-gt) プラグインでは、このメソッドは現在設定されているロケールの cookie を読み取り、プラグインで明示的に指定されたロケール、またはデフォルトロケールにフォールバックします。サーバーでは、インスタンスローカルの値を返します。 [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) プラグインでは、ページの初期化時に固定されたロケールを返します。cookie を直接変更しても、次回の再読み込みと bootstrap が行われるまで、マウント済みの SPA は変更されません。 ## `install(app)` [#install] **型** `(app: App) => void` · **必須** Vue の依存性注入を介して、コンポーネント、フォーマッター、コンポーザブルに翻訳状態を提供します。`app.use(plugin)` を呼び出すと、このメソッドが呼び出されます。 インストールすると、アクティブなロケールの読み込みが開始されます。[`createGT()`](/docs/vue/reference/functions/create-gt) プラグインは、ソースコンテンツを使用してすぐにマウントでき、読み込みに成功すると再レンダリングされます。[`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) プラグインは、返される時点ですでにプリロードされています。 初期化で返された SPA プラグインそのものをインストールしてください。2 つ目のプラグインを作成してインストールすると、コンポーネントからの参照とモジュールレベルの [`t()`](/docs/vue/reference/functions/t) 参照が分離されます。プラグインをインストールせずに使用したコンポーザブルは、診断用エラーをスローします。 ## `loadTranslations()` [#load-translations] **型** `(locale: string) => Promise<`[`TranslationCatalog`](/docs/vue/reference/types/translation-catalog)`>` · **必須** アクティブなロケールを変更せずに、ターゲットカタログを読み込んでキャッシュします。デフォルトロケールの場合は、設定済みのローダーを呼び出さず、既存の空のカタログを返します。 正常に読み込まれた結果はこのプラグイン内でキャッシュされ、同じ解決済みロケールに対する同時呼び出しでは Promise が共有されます。SPA プラグインでは、読み込み前にロケールのエイリアスとサポートされているロケールへのフォールバックが適用されます。 ローダーによる拒否はログに記録され、再スローされます。失敗はキャッシュされないため、後続の呼び出しで再試行できます。 ## `setLocale()` [#set-locale] **型** `(locale: string) => Promise` · **必須** 動作は、プラグインの作成方法によって異なります。 * **[`createGT()`](/docs/vue/reference/functions/create-gt) プラグイン:** キャッシュされていないカタログを読み込んでから、cookie とリアクティブなコンシューマーを更新します。読み込みが失敗した場合、既存のロケールと cookie は変更されません。呼び出しが重複した場合は、最新のリクエストのみが適用されます。 * **[`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) プラグイン:** 要求されたロケールを解決し、cookie に書き込んでドキュメントを再読み込みします。再読み込み前に、ターゲットのカタログを読み込んだり、現在のページの固定ロケールを変更したりすることはありません。 [`useSetLocale()`](/docs/vue/reference/composables/use-set-locale) は、インストール済みのプラグインを通じてこの動作を提供します。 ## 例 [#example] ```ts import { createApp } from 'vue'; import { createGT } from 'gt-vue'; import App from './App.vue'; const gt = createGT({ defaultLocale: 'en', loadTranslations }); await gt.loadTranslations('fr'); createApp(App).use(gt).mount('#app'); await gt.setLocale('fr'); console.log(gt.getLocale()); // "fr" ```