Я работаю над проектом, используя nodeJs, handlebars и expressJs framework. Я добавляю функциональность языка изменений с помощью модуля i18n-express. Этот модуль добавляет строку запроса в конце URL - адреса, когда мы собираемся изменить язык. Теперь проблема в том, что когда я перемещаю одну страницу на другую страницу, тогда строка запроса удаляется и теряет его состояние. Как я могу поддерживать состояние языка? если пользователь выбирает французский язык, тогда все страницы открыты на французском языке. Это то, чего я хочу.
Код:
var i18n = require("i18n-express");
app.use(i18n({
translationsPath: path.join(__dirname, 'lang'), // <--- use here. Specify translations files path.
siteLangs: ["ar","en","cn","fr","ge","he","hu","it","ja","ko","es","ru"],
cookieLangName : 'ulang',
textsVarName: 'translation'
}));
Ссылка на изменение языка
<a href="#!" id="{{icon}}" onclick=" return changeLanguage(this)"></a>
Функция Onclick для изменения языка
function changeLanguage(event){
$('#languages img').attr('src','/images/flag-icons/'+event.id+'.png');
var url = window.location.href;
url = url.split("?")[0];
url += '?clang='+event.id;
window.location.href = url;
localStorage.setItem("clang", '?clang='+event.id); //event.id returns locale name such as en, ar, sp, fr etc.
//console.log(url);
}