getLocale
getLocale 服务端方法的 API 参考
概览
getLocale 函数会在服务端渲染期间获取用户当前的 locale。
返回的 locale 为字符串格式,例如:'en-US'。
getLocale 是服务端方法,只能在服务端组件中使用。
关于客户端用法,请参见 useLocale。
参考资料
返回值
一个 Promise,解析为表示用户当前 locale 的字符串,例如 'en-US'。
回退行为
当请求一个不受支持的 locale 时,系统会选择一个回退的 locale。
例如,在遇到不受支持的 locale 时, 如果 (1) 用户在浏览器设置中配置了多个首选 locales, 并且 (2) 其中有一个被您的应用支持, 则 locale 将回退到最合适的语言。
另外,如果没有可用的回退 locales,
但有两个 locales 共享同一种语言(例如 en-US 和 en-GB),
则 locale 将回退到共享该语言的受支持 locale。
如果上述条件均不满足,则会使用默认 locale。
有关配置受支持 locales 的信息,请参阅 gt.config.json 文档。
示例
基本用法
在服务端渲染期间获取用户的 locale。
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 符合 语言环境代码字符串 格式。
后续步骤
- 了解如何通过 withGTConfig() 配置支持的 locales。
本指南如何?