NEXT_LOCALE cookie正在被忽略.我做错了什么吗?



我需要手动设置用户的语言环境,并在getStaticProps中获得对多语言静态站点的访问权限。

我有两个问题。

  1. 是否可以创建一个多语言网站,而无需在子路径或作为域的语言?
  2. 为什么Next读取我的NEXT_LOCALEcookie错误?我将cookie设置为me,它说区域设置是en。我得到me作为一个区域设置只有当我去localhost:3000/me

我能找到的关于cookie的所有信息都是docs

中的这句话

Next.js支持用NEXT_LOCALE=the-locale cookie覆盖accept-language报头。可以使用语言切换器设置此cookie,然后当用户返回到站点时,它将利用cookie中指定的区域设置。

例如,如果用户喜欢使用区域设置fr,但是设置了NEXT_LOCALE=en cookie,则将使用en区域设置,直到cookie被删除或过期。

由此判断,应该读取NEXT_LOCALEcookie,而不是从子路径或域读取,但在我的情况下,NEXT_LOCALEcookie完全被忽略。

这是否与"next": "10.0.5"有关?我需要降级吗?还是我误解了什么?

  1. Latest Next.js不支持。我已经提出了一个PR

  2. 尝试用nextConfig.i18n.localeDetection = true启动服务器。设置NEXT_LOCALEcookie并使用根路径/重新加载页面

相关内容

  • 没有找到相关文章

最新更新