Helpers
getLocale()
getLocale 服务端方法的 API 参考
概述
getLocale()
函数用于在服务端渲染期间获取用户当前的语言环境。
返回的语言环境是格式化为字符串的,例如 'en-US'
。
getLocale()
是一个服务端方法,只能在服务端组件中使用。
如需在客户端使用,请参阅 useLocale()
。
参考
返回值
一个 promise,解析为表示用户当前语言环境的字符串,例如 'en-US'
。
回退行为
当请求了不受支持的语言环境时,将会选择一个回退语言环境。
例如,在遇到不受支持的语言环境时, 如果 (1) 用户在其浏览器设置中配置了多个首选语言环境, 并且 (2) 这些语言环境中有一个被你的应用程序支持, 那么语言环境将会回退到最佳的语言。
此外,如果没有可用的回退语言环境,
但有两个语言环境属于同一语言(例如,en-US
和 en-GB
),
那么语言环境将会回退到支持的、属于同一语言的语言环境。
如果上述条件都不满足,则会使用默认语言环境。
有关配置支持的语言环境的信息,请参阅 gt.config.json
文档。
示例
基本用法
在服务器端渲染期间获取用户的语言环境。
import { getLocale } from 'gt-next/server';
export default async function GetUserLocale() {
const locale = await getLocale();
return <p>User locale: {locale}</p>;
}
注意事项
getLocale()
函数是异步的,必须使用 await 才能获取 locale。- 它专为服务端使用而设计。客户端组件请参见
useLocale()
。 - 返回的 locale 遵循 locale strings 格式。
后续步骤
- 了解如何使用 withGTConfig() 配置支持的语言环境。
- 如需管理备用语言环境,请参阅
getDefaultLocale()
。
这份指南怎么样?