# vue: useSetLocale
URL: https://generaltranslation.com/ja/docs/vue/reference/composables/use-set-locale.mdx
---
title: useSetLocale
description: アクティブなロケールを変更します。useSetLocale の API リファレンス。
---
`useSetLocale` コンポーザブルは、インストール済みプラグインの非同期ロケール設定関数を返します。読み込みおよびナビゲーション時の動作は、そのプラグインの作成方法によって異なります。
## 概要 [#overview]
返された関数を対象ロケールを指定して呼び出します。
```vue
```
[`useLocale()`](/docs/vue/reference/composables/use-locale) を使用して、アクティブなロケールを取得します。
## 仕組み [#how-it-works]
### リアクティブプラグイン
[`createGT()`](/docs/vue/reference/functions/create-gt) プラグインの setter は、次の処理を行います。
1. 設定された loader を介して、キャッシュされていない対象カタログを読み込みます。
2. 読み込みが成功すると、設定された cookie に対象ロケールを保存します。
3. ページを再読み込みすることなく、リアクティブなコンシューマーを更新します。
正常に読み込まれたカタログはキャッシュに保持されます。同時リクエストは任意の順序で完了する可能性がありますが、アクティブなロケールを変更できるのは最新のリクエストのみです。そのカタログの読み込みが失敗した場合、Promise は reject され、現在のロケールと cookie は変更されません。
### ブラウザ SPA プラグイン
[`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) が返すシングルトンでは、setter は指定されている場合、要求されたロケールを設定済みのロケールリストに照らして解決し、cookie を書き込んでドキュメントを再読み込みします。現在のページではターゲットのカタログは読み込まれず、そのロケールは再読み込みされるまで固定されたままです。再読み込みにより、新しいカタログが事前に読み込まれた後、モジュールレベルの [`t()`](/docs/vue/reference/functions/t) 呼び出しが再度実行されます。
## パラメータ [#parameters]
`useSetLocale` はパラメータを受け取りません。
## 戻り値 [#returns]
**型** `(locale: string) => Promise`
次のパラメータを受け取る非同期セッターです。
| パラメータ | 説明 | 型 | 任意 | デフォルト |
| ------------------- | ----------- | -------- | --- | ----- |
| [`locale`](#locale) | 対象ロケールのロケールコード。 | `string` | いいえ | — |
### `locale`
**型** `string` · **必須**
対象ロケールのロケールコード。リアクティブな [`createGT()`](/docs/vue/reference/functions/create-gt) プラグインでは、loader が処理可能な任意のコードを使用できます。[`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) プラグインに `locales` リストが設定されている場合は、そのロケールと設定済みの alias に照合され、リクエストがサポートされていない場合はデフォルトロケールにフォールバックします。
## 例 [#example]
後続のコードが新しいロケールに依存する場合は、リアクティブな変更が反映されるのを待機します。
```vue title="LocaleSelect.vue"
```
[`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) で初期化された SPA では、呼び出しの一環としてドキュメントの再読み込みが始まります。そのため、対象ロケールがすでに有効であることを前提とする同一ページ内の処理はスケジュールしないでください。