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-US 和 en-GB),
则会回退到使用同一语言的受支持 locale。
如果上述条件均不满足,则使用默认 locale。
有关配置受支持 locale 的信息,请参阅 gt.config.json 文档。
示例
基本用法
获取当前 locale,并在组件中显示该值。
"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。
本指南如何?