我需要手动设置用户的语言环境,并在getStaticProps
中获得对多语言静态站点的访问权限。
我有两个问题。
- 是否可以创建一个多语言网站,而无需在子路径或作为域的语言?
- 为什么
Next
读取我的NEXT_LOCALE
cookie错误?我将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_LOCALE
cookie,而不是从子路径或域读取,但在我的情况下,NEXT_LOCALE
cookie完全被忽略。
这是否与"next": "10.0.5"
有关?我需要降级吗?还是我误解了什么?
-
Latest Next.js不支持。我已经提出了一个PR
-
尝试用
nextConfig.i18n.localeDetection = true
启动服务器。设置NEXT_LOCALE
cookie并使用根路径/
重新加载页面