# gt-next: General Translation Next.js SDK: isLocaleSupported URL: https://generaltranslation.com/zh/docs/next/api/helpers/is-locale-supported.mdx --- title: isLocaleSupported description: isLocaleSupported 服务端方法的 API 参考文档 --- ## 概览 `isLocaleSupported` 函数用于检查某个区域设置是否有效,并且是否受应用当前的 gt-next 配置支持。 当路由参数或其他请求输入需要被明确拒绝,而不是静默回退到默认区域设置时,请使用它。一个常见用法是验证动态路由中的 `[locale]` 段,并在该值不受支持时调用 `notFound()`。 `isLocaleSupported` 是一个服务端方法,只能在 服务端组件中使用。 ## 参考 ### 参数 | Name | Description | | -------- | --------------------------------------------------- | | `locale` | 要验证的区域设置候选值。接受任意值;如果是非字符串或无效的 BCP 47 值,则返回 `false`。 | ### 返回值 一个 `boolean`:当该区域设置可解析为已配置的区域设置之一时,值为 `true`;否则为 `false`。 它还可用作 TypeScript 类型守卫 (`locale is string`) ,当返回 `true` 时,会将该值缩小为 `string`。 *** ## 示例 ### 拒绝无效的路由参数 验证 `[locale]` 路由参数;对于不受支持的区域设置,请调用 `notFound()`,而不是依赖默认区域设置的后备内容。 ```tsx title="app/[locale]/page.tsx" copy import { notFound } from 'next/navigation'; import { isLocaleSupported } from 'gt-next/server'; export default async function Page({ params, }: { params: Promise<{ locale: string }>; }) { const { locale } = await params; if (!isLocaleSupported(locale)) { notFound(); // [!code highlight] } return

Locale: {locale}

; } ``` *** ## 说明 * `isLocaleSupported` 仅可在服务端使用。 * 如果不进行此检查,请求中的区域设置无效或不受支持时,会后备内容到默认区域设置,而不会抛出错误。有关后备内容行为,请参阅 [`getLocale`](/docs/next/api/helpers/get-locale)。 * 支持的区域设置列表在 [`withGTConfig`](/docs/next/api/config/with-gt-config) 中配置。另请参阅 [`gt.config.json`](/docs/next/api/config/gt-config-json)。 ## 后续步骤 * 请参阅 [`getLocale`](/docs/next/api/helpers/get-locale) 以获取用户当前的区域设置。 * 了解如何使用 [`withGTConfig()`](/docs/next/api/config/with-gt-config) 配置支持的区域设置。