defaultLocale没有在Next.js I18n中保留默认语言
我正在尝试将我的默认语言设置为Next.js i18n,但始终将";en";作为默认语言,称为LIKE FLABACK。
我还收到此错误:
错误:[@format js/intl ERROR MISSING_DATA]Intl.NumberFormat中的locale:";sq";缺少区域设置数据。使用默认区域设置:简体中文作为备用(&Q)
module.exports = {
i18n: {
locales: ['sq', 'en'],
defaultLocale: "sq",
}
}
解决方案
next.js将automatically detect根据页面请求中发送的Accept-Language
头选择用户喜欢的区域设置。
在您的情况下,尽管您的默认区域设置是sq
,但en
区域设置会在Accept-Language
头中检测到,因此您会被重定向到以区域设置为前缀的路径。
可以通过在I18N选项中将localeDetection
设置为false
来禁用此行为。
// next.config.js
module.exports = {
i18n: {
locales: ['sq', 'en'],
defaultLocale: 'sq',
localeDetection: false
}
}
关于@formatjs/intl
错误,它表明您使用的环境/浏览器不支持sq
区域设置。您可能希望查看@formatjs/intl-numberformat
以多填充该区域设置数据。
相关文章