Javascript i18next具有多个HTML页面

Javascript i18next具有多个HTML页面,javascript,jquery,html,locale,i18next,Javascript,Jquery,Html,Locale,I18next,我有一个网页,它由许多与锚定标记链接的HTML页面组成。对于本页的翻译,我使用i18next。在每个页面中,翻译似乎都有效,但问题是,在我更改语言并移动到其他页面后,所选语言不会被应用,并再次设置为默认语言。我读过sessionStorage,因为它可能解决这个问题,但似乎无法实现它。 用于切换语言的js: function changeLanguageManual (lang) { if (lang) { i18next.changeLanguage(lang); } jqueryI

我有一个网页,它由许多与锚定标记链接的HTML页面组成。对于本页的翻译,我使用i18next。在每个页面中,翻译似乎都有效,但问题是,在我更改语言并移动到其他页面后,所选语言不会被应用,并再次设置为默认语言。我读过sessionStorage,因为它可能解决这个问题,但似乎无法实现它。 用于切换语言的js:

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

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


基本上,我希望在导航到不同的内部HTML页面时,所选语言保持不变,并且没有设置为默认值。
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();
});

我在i18next.js文件中复制了这个脚本,在我再次尝试更改语言之前,它似乎工作正常。由于在所有HTML页面中导入相同的js文件,因此它总是初始化提供的第一种语言。有没有办法让一个页面中选择的语言与其他页面中选择的语言保持一致?是的,你可以用谷歌搜索SessionStorage和LocalStorage。同一域的所有页面都可以存储和读取同一会话实例或本地存储