在URL javascript/nodejs中更改语言代码 [英] Change language code within URL javascript/nodejs

查看:51
本文介绍了在URL javascript/nodejs中更改语言代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个通用的头文件,其中包括具有多语言下拉列表的导航栏. 当我选择下拉语言时,翻译页面没有任何问题. 但是当我移到其他页面时,如果应该反映在第一页上选择的语言(例如,如果在第一页上选择了th,则其他页面应该是/th而不是'/en' 当前通用的头文件始终为/en,当我选择下拉菜单时如何更新a href links javascript

I have common header file includes navbar in which have multilanguage dropdown. when i select dropdown language, translates page without any issues. But when i move to other pages, if should reflect the language selected on first page (eg) if th is selected on first page, other page should be /th instead of '/en' currently common header file is always /en, when i chose dropdown how i update a href links javascript

从下拉列表中选择特定语言后,需要更新所有href链接.

need to update all href links when particular language is selected from dropdown.

//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>

推荐答案

    load上查看cookie中是否设置了语言.
  1. setLanguage通话中的cookie中设置所选语言.
  1. on load see if language is set or not in cookie.
  2. set selected language in cookie on setLanguage call.

$(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>

这篇关于在URL javascript/nodejs中更改语言代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆