首页 > 解决方案 > Next.js next-i18next 总是路由到 EN

问题描述

我有一个简单的项目,应该使用英语和荷兰语(默认)。我已经从原始示例中复制了所有内容,但不知何故它没有按预期工作。

即使我有browserLanguageDetection: false,它也迫使我/en结束。

我想显示 NL 文本,/但目前我不能。

你能检查一下沙箱并告诉我这里有什么问题吗?

https://codesandbox.io/s/pensive-galileo-zifjm?file=/pages/index.js

标签: reactjsinternationalizationnext.jsi18nextnext-i18next

解决方案


重要的是要知道在 Next.js 中,第一次加载总是在服务器端完成。在i18n.js你已经定义 browserLanguageDetection: false但你没有定义serverLanguageDetection: false这就是为什么你总是被重定向到/en

在索引页面中,将此行替换为这一行 export default withTranslation('common')(IndexPage);export default withTranslation(['common'])(IndexPage); 避免出现此警告


推荐阅读