如何从 Cookie / 头信息中获取语言环境
使用 Hooks(推荐)
对于大多数使用场景,推荐使用 useLocale hook 来获取当前语言环境,因为它是自动解析的。这与 Vue.js 中的 useLocale 组合式函数类似。
ts
复制代码
复制代码到剪贴板
对于服务器组件,你可以从以下位置导入:
tsx
复制代码
复制代码到剪贴板
还有一个 useLocaleCookie hook,仅解析 cookie 的值。
手动配置 Cookie
你可以声明自定义的 cookie 名称,如下:
ts
复制代码
复制代码到剪贴板
然后你可以这样获取它
客户端
ts
复制代码
复制代码到剪贴板
服务器端(Next.js)
ts
复制代码
复制代码到剪贴板
如果 locale 尚未设置
locale 只有在用户明确选择了语言后,才会被设置为 cookie。默认情况下,对于新访客,locale 是从请求头字段中解析的。
您可以从请求头中检测用户偏好的语言环境。以下是如何处理的示例:
ts
复制代码
复制代码到剪贴板