# Vue: GTPlugin
URL: https://generaltranslation.com/ja/docs/vue/reference/types/gt-plugin.mdx
Docs index: https://generaltranslation.com/llms.txt
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<TranslationCatalog>;
  setLocale(locale: string): Promise<void>;
};
```

| メソッド                                             | 説明                                          | 戻り値の型                         |
| ------------------------------------------------ | ------------------------------------------- | ----------------------------- |
| [`getLocale()`](#get-locale)                     | プラグインが現在使用しているロケールを返します。                    | `string`                      |
| [`install(app)`](#install)                       | プラグインの状態をVueアプリケーションに提供します。                 | `void`                        |
| [`loadTranslations(locale)`](#load-translations) | アクティブなロケールを変更せずに、指定したロケールを事前に読み込んでキャッシュします。 | `Promise<TranslationCatalog>` |
| [`setLocale(locale)`](#set-locale)               | プラグインのランタイムモードに応じて、アクティブなロケールを変更または永続化します。  | `Promise<void>`               |

## `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<void>` · **必須**

動作は、プラグインの作成方法によって異なります。

* **[`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"
```

## Sitemap

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