defaultLocale没有在Next.js I18n中保留默认语言

defaultLocale is not keeping default lang in Next.js i18n(defaultLocale没有在Next.js I18n中保留默认语言)

本文介绍了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以多填充该区域设置数据。

这篇关于defaultLocale没有在Next.js I18n中保留默认语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:defaultLocale没有在Next.js I18n中保留默认语言

基础教程推荐