У меня есть следующий код.
Мой код
Я пытаюсь создать простой многоязычный пример. В index. html У меня есть меню с элементами, а также есть языки «rus», «eng» и «arm» для изменения.
Кроме того, у меня есть страница «news. html», где написано "ежедневные новости".
При нажатии rus, eng или arm весь сайт должен сменить язык.
html часть:
<div class="middle-menu">
<a href="news.html" class="middle-menu-items" id="news">News</a>
<a href="#" class="middle-menu-items" id="council">047 Council</a>
<a href="#" class="middle-menu-items" id="journal">Journal</a>
<a href="#" class="middle-menu-items" id="conatcs">Contacts</a>
<div>
<a href="#eng" data-reload> Eng </a>
<a href="#arm" data-reload> Հայ </a>
<a href="#rus" data-reload> Рус </a>
</div>
</div>
и для изменения Языки Я пишу следующий скрипт:
<script>
var dateReload = document.querySelectorAll("[data-reload]");
var language = {
eng: {
news: "News",
council: "Council",
journal: "Journal",
contacts: "Contacts",
myNews: "Daily News"
},
arm: {
news: "Նորություններ",
council: "Խորհուրդ",
journal: "Ամսագիր",
contacts: "Կոնտակտներ",
myNews: "Ամենօրյա նորություններ"
},
rus: {
news: "Новости",
council: "совет",
journal: "Журнал",
contacts: "Контакты",
myNews: "Ежедневные новости"
}
};
if (window.location.hash) {
if (window.location.hash === "#arm") {
news.textContent = language.arm.news;
council.textContent = language.arm.council;
journal.textContent = language.arm.journal;
conatcs.textContent = language.arm.contacts;
dailyNews.textContent = language.arm.myNews;
} else if (window.location.hash === "#rus") {
news.textContent = language.rus.news;
council.textContent = language.rus.council;
journal.textContent = language.rus.journal;
conatcs.textContent = language.rus.contacts;
dailyNews.textContent = language.rus.myNews;
}
}
for (i = 0; i <= dateReload.length; i++) {
dateReload[i].onclick = function() {
location.reload(true);
};
}
</script>
Идея в том, что когда ссылка ha sh изменится на "#arm" или "#rus", я должен увидеть свой сайт соответственно на русском или армянском языках.
После нажатия на «arm, rus или eng» ничего не произошло, но после нажатия на кнопку обновления в codeandbox я вижу уже измененный язык. (но ничего не произошло в «news. html»).
Пожалуйста, помогите мне решить эти проблемы, я буду очень признателен, если вы поможете мне сначала изменить язык после щелчка (не после обновления) и второй помогите мне сделать то же самое для "news. html".