# General Translation React SDKs (gt-react, gt-next, gt-react-native): useSetLocale
URL: https://generaltranslation.com/ru/docs/react/reference/hooks/use-set-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Изменение активной локали. Справочник API для useSetLocale.

Хук `useSetLocale` возвращает функцию для изменения активной локали. Доступен только на стороне клиента.

*Доступно в `gt-react`, `gt-next`, `gt-tanstack-start` и `gt-react-native`.*

## Обзор [#overview]

Вызовите `useSetLocale`, чтобы получить функцию установки, затем вызовите её, передав код локали.

*В примерах используется импорт из `gt-react`; вместо этого импортируйте из пакета вашего фреймворка.*

```tsx
import { useSetLocale } from 'gt-react';

export default function LocaleButton() {
  const setLocale = useSetLocale();
  return <button onClick={() => setLocale('en')}>Set locale</button>;
}
```

*Примечание: `useSetLocale` доступен только на стороне клиента.*

## Как это работает [#how-it-works]

Вызов возвращённой функции сохраняет локаль и применяет её через активный фреймворк:

* React по умолчанию сохраняет её в cookie-файле и перезагружает страницу.
* Next.js App Router сохраняет её в cookie-файле и обычно обновляет дерево серверных компонентов. При включённой маршрутизации по локалям переключение с URL, который разрешается в локаль, отличную от локали по умолчанию, на локаль по умолчанию перезагружает документ, чтобы middleware мог удалить префикс локали. Если URL уже разрешается в локаль по умолчанию, обновляется только дерево серверных компонентов. Pages Router может заменить перезагрузку по умолчанию навигацией Next.js.
* TanStack Start сохраняет её в cookie-файле и перезагружает страницу или переходит к соответствующему pathname, если включён [`localeRouting`](/docs/react/reference/config#locale-routing).
* React Native сохраняет её в нативном хранилище, обновляет состояние provider, загружает переводы и повторно выполняет рендеринг.

## Возвращает [#returns]

**Тип** `(locale: string) => void`

Функция, устанавливающая активную локаль по указанному коду.

## Примечания [#notes]

* `useSetLocale` работает только на стороне клиента.
* Чтобы узнать активную локаль, используйте [`useLocale`](/docs/react/reference/hooks/use-locale). Если нужен готовый переключатель, используйте [`<LocaleSelector>`](/docs/react/reference/components/locale-selector).

## История версий [#version-history]

| Версия  | Изменения                                                                                                                                                                |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 11.1.16 | При выборе локали по умолчанию для URL App Router без префикса или URL, разрешаемого в локаль по умолчанию, серверные компоненты обновляются без перезагрузки документа. |

## Sitemap

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