# vue: useSetLocale
URL: https://generaltranslation.com/ru/docs/vue/reference/composables/use-set-locale.mdx
---
title: useSetLocale
description: Изменяет активную локаль. Справочник API для useSetLocale.
---
Композабл `useSetLocale` возвращает асинхронный сеттер установленного плагина для установки локали. Её поведение при загрузке и навигации зависит от способа создания плагина.
## Обзор [#overview]
Вызовите возвращаемую функцию, указав целевую локаль:
```vue
```
Используйте [`useLocale()`](/docs/vue/reference/composables/use-locale), чтобы получить активную локаль.
## Как это работает [#how-it-works]
### Реактивные плагины
Для плагина [`createGT()`](/docs/vue/reference/functions/create-gt) сеттер:
1. Загружает целевой каталог, не используя кэш, через настроенный загрузчик.
2. После успешной загрузки сохраняет целевую локаль в настроенный cookie-файл.
3. Обновляет реактивные компоненты без перезагрузки страницы.
Успешно загруженные каталоги остаются в кэше. Параллельные запросы могут завершаться в любом порядке, но активную локаль изменяет только самый последний запрос. Если загрузка его каталога завершается ошибкой, промис отклоняется, а текущая локаль и cookie-файл остаются без изменений.
### Плагины SPA для браузера
Для singleton, возвращаемого [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa), сеттер сопоставляет запрошенную локаль с настроенным списком локалей, если он указан, записывает 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) принимает любой код, который способен обработать его загрузчик. Если для плагина [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) настроен список `locales`, он сопоставляет локали из этого списка и настроенные алиасы, а при неподдерживаемом запросе использует локаль по умолчанию.
## Пример [#example]
Дождитесь реактивного обновления, если последующий код зависит от новой локали:
```vue title="LocaleSelect.vue"
```
В SPA, инициализированном с помощью [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa), перезагрузка документа запускается в рамках этого вызова, поэтому не планируйте на той же странице действия, предполагающие, что целевая локаль уже активна.