Helpers

useLocale

useLocale 钩子的 API 参考

概览

useLocale 钩子会从 <GTProvider> 上下文中获取用户当前的 locale。 返回的 locale 会以字符串形式表示,例如:'en-US'

useLocale 是客户端钩子,只能在客户端组件中使用。 请确保你的应用由 <GTProvider> 包裹。

如需在服务端管理 locale,请参见 getLocale

参考资料

返回值

表示用户当前 locale 的字符串,例如:'en-US'


回退行为

当请求的 locale 不受支持时,系统会选择一个回退 locale。

例如,当请求的 locale 不受支持时, 如果 (1) 用户在浏览器中配置了多个首选 locale, 并且 (2) 其中有一个被你的应用支持, 则会回退到最合适的语言。

另外,如果没有可用的回退 locale, 但存在两个 locale 使用相同的语言(例如 en-USen-GB), 则会回退到使用相同语言的受支持 locale。

如果上述条件均不满足,则将使用默认 locale。

有关配置受支持 locales 的信息,请参阅 gt.config.json 文档。


示例

基本用法

获取当前 locale,并在组件中将其显示出来。

CurrentLocale.jsx
"use client";
import { useLocale } from 'gt-next';

export default function CurrentLocale() {
    const locale = useLocale(); 
    return <p>当前语言环境:{locale}</p>;
}

注意事项

  • useLocale 钩子依赖 <GTProvider> 提供的上下文。请确保你的应用在根节点由该 provider 包裹。
  • useLocale 仅限客户端使用。
  • 此处了解更多关于语言环境代码字符串的信息。

后续步骤

  • 了解如何通过 gt.config.json 文件在应用中管理和指定支持的 locale。

这份指南怎么样?

useLocale