несколько языков с использованием html, css и JS - PullRequest
0 голосов
/ 06 августа 2020

У меня есть следующий код.

Мой код

Я пытаюсь создать простой многоязычный пример. В 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".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...