# 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), перезагрузка документа запускается в рамках этого вызова, поэтому не планируйте на той же странице действия, предполагающие, что целевая локаль уже активна.