# General Translation React SDKs (gt-react, gt-next, gt-react-native): getLocale
URL: https://generaltranslation.com/zh/docs/react/nextjs/reference/functions/get-locale.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 使用 General Translation 读取当前 Next.js App Router 请求的区域设置。getLocale API 参考。

`getLocale` 函数会以 BCP 47 区域设置代码的形式，返回当前 App Router 请求的区域设置。在异步组件、Route Handlers 和其他服务端代码中，可从 `gt-next/server` 导入它。

`getLocale` 仅可用于服务端，不适用于 Pages Router。

## 概览 [#overview]

```tsx
import { getLocale } from 'gt-next/server';

const locale = await getLocale(); // 例如 'en-US'
```

## 返回值 [#returns]

**类型** `Promise<string>`

一个 Promise，解析后返回当前请求的区域设置。General Translation 会通过已配置的请求区域设置函数解析该区域设置，并在需要时回退到默认区域设置。

## 无效区域设置的处理方式 [#invalid-locales]

如果请求区域设置不受支持，`gt-next` 会发出警告并返回 `defaultLocale`。设置 [`disableInvalidLocaleWarning`](/docs/react/nextjs/config#disable-invalid-locale-warning) 可在不改变后备内容的情况下抑制此警告。

对于严格匹配 `[locale]` 的路由，请使用 [`isLocaleSupported`](/docs/react/nextjs/reference/functions/is-locale-supported) 检查路由参数，并在渲染前调用 Next.js 的 `notFound()`。`getLocale` 不会自动返回 404。

## 示例 [#example]

```tsx title="app/[locale]/layout.tsx"
import { getLocale } from 'gt-next/server';

export default async function LocaleLayout({ children }) {
  const locale = await getLocale();
  return <html lang={locale}>{children}</html>;
}
```

## Sitemap

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