Делаю переключатель языка и перевод на сайте. Код перевода работает хорошо с дефолтным селектом, но он мне не подходит.
Вот селект:
<select class="multilang_select-lng" id="search">
<option value="en">EN</option>
<option value="ru">RU</option>
</select>
Вот код с его инциализацией + убираю поиск:
$(document).ready(function () {
$('.multilang_select-lng').select2();
$("#search").select2({
minimumResultsForSearch: Infinity,
});
});
А вот код мультиланга:
//выбираю селект со страницы
const selectLng = document.querySelector('#search');
const allLang = ['en', 'ru'];
selectLng.addEventListener('change', changeURLLanguage);
function changeURLLanguage() {
//пытаюсь взять его значиение value, но ничего не работает
let lang = selectLng.value;
location.href = window.location.pathname + '#' + lang;
location.reload();
}
function changeLanguage() {
let hash = window.location.hash;
hash = hash.substr(1);
console.log(hash);
if (!allLang.includes(hash)) {
location.href = window.location.pathname + '#en';
location.reload();
}
selectLng.value = hash;
document.querySelector('title').innerHTML = langArr['unit'][hash];
for (let key in langArr) {
let elem = document.querySelector('.lng-' + key);
if (elem) {
elem.innerHTML = langArr[key][hash];
}
}
}
changeLanguage();