Helpers
useLocale()
useLocale 钩子的 API 参考
概述
useLocale
钩子从 <GTProvider>
上下文中获取用户当前的语言环境。
返回的语言环境是格式化为字符串的,例如 'en-US'
。
useLocale
是一个客户端钩子,只能在客户端组件中使用。
请确保你的应用被 <GTProvider>
包裹。
如需服务端的语言环境管理,请参阅 getLocale()
。
参考
返回值
一个表示用户当前语言环境的字符串,例如 'en-US'
。
回退行为
当请求了不受支持的语言环境时,将会选择一个回退语言环境。
例如,在遇到不受支持的语言环境时, 如果 (1) 用户在其浏览器设置中配置了多个首选语言环境, 并且 (2) 这些语言环境中有一个被你的应用程序支持, 那么语言环境将会回退到最佳的语言。
此外,如果没有可用的回退语言环境,
但有两个语言环境属于同一语言(例如,en-US
和 en-GB
),
那么语言环境将会回退到支持的、属于同一语言的语言环境。
如果以上条件都不满足,则会使用默认语言环境。
有关配置支持的语言环境的信息,请参阅 gt.config.json
文档。
示例
基本用法
获取当前语言环境并在组件中显示它。
"use client";
import { useLocale } from 'gt-next';
export default function CurrentLocale() {
const locale = useLocale();
return <p>Current locale: {locale}</p>;
}
注意事项
useLocale()
钩子依赖于<GTProvider>
来访问上下文。请确保你的应用在根级别包裹了 provider。useLocale()
仅限客户端使用。- 在这里了解更多关于 locale 字符串的信息。
后续步骤
- 了解如何通过
gt.config.json
文件在你的应用中管理和指定支持的语言环境。 - 如需访问回退语言,请参阅
useDefaultLocale()
。
这份指南怎么样?