首页 > 解决方案 > 带有多个 HTML 页面的 i18next

问题描述

我有一个网页,它由许多与锚标签链接的 HTML 页面组成。对于此页面的翻译,我使用 i18next。在每个页面中,翻译似乎都有效,但问题是,在我更改语言并移至不同页面后,所选语言未应用,并再次设置为默认语言。我已经阅读了有关 sessionStorage 的信息,因为它可能会解决这个问题,但似乎无法实现它。js切换语言:

function changeLanguageManual (lang) {
if (lang) {
    i18next.changeLanguage(lang);

}
jqueryI18next.init(i18next, $);
$('body').localize();

}

基本上我想实现这一点,当我导航到不同的内部 HTML 页面时,所选语言保持不变,并且没有设置为默认值。

标签: javascriptjqueryhtmllocalei18next

解决方案


作为异步方法(返回 Promise)的i18next状态的 API 文档。changeLanguage尝试调用jQuery i18 init内部回调。

i18next.changeLanguage('en', (err, t) => {
    if (err) return console.log('something went wrong loading', err);
    jqueryI18next.init(i18next, $);
    $('body').localize();
});

推荐阅读