Helpers

useLocale()

useLocale 钩子的 API 参考

概述

useLocale 钩子从 <GTProvider> 上下文中获取用户当前的语言环境。 返回的语言环境是格式化为字符串的,例如 'en-US'

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

如需服务端的语言环境管理,请参阅 getLocale()

参考

返回值

一个表示用户当前语言环境的字符串,例如 'en-US'


回退行为

当请求了不受支持的语言环境时,将会选择一个回退语言环境。

例如,在遇到不受支持的语言环境时, 如果 (1) 用户在其浏览器设置中配置了多个首选语言环境, 并且 (2) 这些语言环境中有一个被你的应用程序支持, 那么语言环境将会回退到最佳的语言。

此外,如果没有可用的回退语言环境, 但有两个语言环境属于同一语言(例如,en-USen-GB), 那么语言环境将会回退到支持的、属于同一语言的语言环境。

如果以上条件都不满足,则会使用默认语言环境。

有关配置支持的语言环境的信息,请参阅 gt.config.json 文档。


示例

基本用法

获取当前语言环境并在组件中显示它。

CurrentLocale.jsx
"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 字符串的信息。

后续步骤

这份指南怎么样?