如何在控制台使用next-i18next没有错误时修复生产中的语言更改问题?



我的changellanguage函数在生产中不工作。使用i18n的调试功能,我没有任何警告,更重要的是每次单击选择菜单时都能正确检测到语言更改。我在控制台上有log locale,它返回undefined有人能告诉我我做错了什么吗?请看下面我的changellanguage

const changeLanguage = (e) => {
const locale = e.target.value;
i18n.changeLanguage(locale);
router.push(router.pathname, router.asPath, { locale });
};

您不需要使用函数来更改区域设置。

对于nextjs,你有router(),这完全适合任何情况。

同样,你有<Link>locale属性。

第一种可能的方法-用URL更改区域设置。因此,您可以使用链接.map您的区域设置,然后更改它。

<Link href='/test' locale={router.locale} key="your_key">
<a>test</a>
</Link>

2的方式,改变函数

router.push("/test", null, {locale: "your_desired_locale_or_variable"})

您的区域设置在您的config文件中定义,可能您有en区域设置而不是en-us

相关内容

  • 没有找到相关文章

最新更新