# General Translation React SDKs (gt-react, gt-next, gt-react-native): useSetLocale
URL: https://generaltranslation.com/zh/docs/react/reference/hooks/use-set-locale.mdx
---
title: useSetLocale
description: 更改当前区域设置。useSetLocale API 参考。
---
`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 ;
}
```
*注意:`useSetLocale` 仅限客户端使用。*
## 工作原理 [#how-it-works]
调用返回的函数会通过当前框架保存并应用区域设置:
* React 默认将其保存到 cookie 中,并重新加载页面。
* Next.js App Router 将其保存到 cookie 中,并刷新服务器组件树。Pages Router 可以使用 Next.js 导航替代默认的页面重新加载。
* TanStack Start 将其保存到 cookie 中并重新加载页面;启用 [`localeRouting`](/docs/react/reference/config#locale-routing) 后,则会导航到对应的 pathname。
* React Native 将其保存到原生存储中,更新 provider 状态,加载翻译并重新渲染。
## 返回值 [#returns]
**类型** `(locale: string) => void`
用于将当前区域设置设为指定代码的函数。
## 注意事项 [#notes]
* `useSetLocale` 仅限客户端使用。
* 要读取当前区域设置,请使用 [`useLocale`](/docs/react/reference/hooks/use-locale)。如需现成的切换器,请使用 [``](/docs/react/reference/components/locale-selector)。