Helpers

getLocale()

getLocale 服务端方法的 API 参考

概述

getLocale() 函数用于在服务端渲染期间获取用户当前的语言环境。 返回的语言环境是格式化为字符串的,例如 'en-US'

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

如需在客户端使用,请参阅 useLocale()

参考

返回值

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


回退行为

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

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

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

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

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

示例

基本用法

在服务器端渲染期间获取用户的语言环境。

GetUserLocale.jsx
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 格式。

后续步骤

这份指南怎么样?