Helpers

getLocale

getLocale 服务端方法的 API 参考

概览

getLocale 函数会在服务端渲染期间获取用户当前的 locale。 返回的 locale 为字符串格式,例如:'en-US'

getLocale 是服务端方法,只能在服务端组件中使用。

关于客户端用法,请参见 useLocale

参考资料

返回值

一个 Promise,解析为表示用户当前 locale 的字符串,例如 'en-US'


回退行为

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

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

另外,如果没有可用的回退 locales, 但有两个 locales 共享同一种语言(例如 en-USen-GB), 则 locale 将回退到共享该语言的受支持 locale。

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

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


示例

基本用法

在服务端渲染期间获取用户的 locale。

GetUserLocale.jsx
import { getLocale } from 'gt-next/server';

export default async function GetUserLocale() {
    const locale = await getLocale(); 
    return <p>用户 locale:{locale}</p>;
}

说明

  • getLocale 函数是异步的,必须使用 await 才能获取 locale。
  • 它专为服务端使用而设计。客户端组件请参阅 useLocale
  • 返回的 locale 符合 语言环境代码字符串 格式。

后续步骤

本指南如何?