Изменить код языка в URL javascript / nodejs - PullRequest
1 голос
/ 25 июня 2019

У меня есть общий заголовочный файл, включающий навигационную панель, в которой есть многоязычный выпадающий список. когда я выбираю выпадающий язык, переводит страницу без проблем. Но когда я перехожу на другие страницы, если должен отображаться язык, выбранный на первой странице (например), если на первой странице выбрано th, другая страница должна быть /th вместо '/ en' в настоящее время общий заголовочный файл всегда /en, когда я выбрал раскрывающийся список, как я обновляю a href links javascript

необходимо обновить все ссылки href, когда в раскрывающемся списке выбран определенный язык.

//header.ejs
<body>
  <nav>
  <ul>
 <li class="nav-item">
            <a class="nav-link" href="/en/about" style="margin-right: 1.5rem!important;">about us</a>//change this link
          </li>
          <li class=" nav-item">
            <a class="nav-link" href="/en/contact"
              style="margin-right: 1.5rem!important;">contact us</a>
          </li>//change this link
  </ul>
    <div class="dropdown">
      <button id="language" class="btn btn-warning dropdown-toggle" type="button" id="dropdownMenu2"
        data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" onclick="clickButton()">
        English
      </button>
      <div id="languagelist" class="dropdown-menu" aria-labelledby="dropdownMenu2" onclick="clickItem(); return false">
        <a class="dropdown-item" href="javascript:" onclick="setLanguage('en')">English</a> 
        <a class="dropdown-item" href="javascript:" onclick="setLanguage('th')">Thai</a>
      </div>
    </div>
  </nav>
</body>

1 Ответ

0 голосов
/ 25 июня 2019
  1. на load посмотреть, установлен ли язык в cookie.
  2. установить выбранный язык в cookie при setLanguage вызове.

$(document).ready(function() {
  //read previously set cookie value
    var selectedLanguage = $.cookie( 'selectedLanguage' );
  // 1. on load see if language is set or not in cookie.
     selectedLanguage = selectedLanguage ? selectedLanguage : 'en';
     setLanguage(selectedLanguage);
     
     
     function setLanguage(lan){
        $.cookie('selectedLanguage', lan);
     }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js" integrity="sha256-1A78rJEdiWTzco6qdn3igTBv9VupN3Q1ozZNTR4WE/Y=" crossorigin="anonymous"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...