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。

有关配置受支持 locale 的信息,请参阅 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。

本指南如何?