溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js如何使用i18n實現(xiàn)頁面國際化

發(fā)布時間:2021-07-07 14:14:09 來源:億速云 閱讀:883 作者:小新 欄目:web開發(fā)

小編給大家分享一下js如何使用i18n實現(xiàn)頁面國際化,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

頁面引用的插件

<script type="text/JavaScript" src="${path}/plugings/jQuery-easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${path}/js/jquery.i18n.properties.min.js"></script>

以下是頁面引用的js

/**
 * 設置語言類型: 默認為中文 
 */ 
var i18nLanguage = "zh-CN"; 
 
/* 
設置一下網(wǎng)站支持的語言種類 
zh-CN(中文簡體)、en(英語) 
 */ 
var webLanguage = ['zh-CN', 'en']; 
 
//獲取網(wǎng)站語言 
function getWebLanguage(){ 
   //1.cookie是否存在 
  if (jQuery.cookie("userLanguage")) { 
    i18nLanguage = jQuery.cookie("userLanguage"); 
    console.log("language cookie is "+i18nLanguage); 
  } else { 
    //2.1 獲取用戶設置的瀏覽器語言 
    var navLanguage = getNavLanguage(); 
    console.log("user set browser language is "+navLanguage); 
    if (navLanguage) { 
      // 判斷是否在網(wǎng)站支持語言數(shù)組里 
      var charSize = $.inArray(navLanguage, webLanguage); 
      if (charSize > -1) { 
        i18nLanguage = navLanguage; 
        // 存到緩存中 
        jQuery.cookie("userLanguage ",navLanguage, {  
          expires : 7  
        }); 
      }; 
    } else{ 
      console.log("not navigator"); 
      return false; 
    } 
  } 
   
}
//國際化easyui中英文包 
function changeEasyuiLanguage(languageName) { 
  // when login in China the language=zh-CN  
  var src =$.contextPath+"/plugings/jquery-easyui/locale/easyui-lang-"+languageName.replace('-','_')+".js"; 
 console.log(src); 
 $.getScript(src); 
};
/** 
 * 執(zhí)行頁面i18n方法 
 * @return 
 * @author LH 
 */  
var execI18n = function(){ 
  //獲取網(wǎng)站語言(i18nLanguage,默認為中文簡體) 
  getWebLanguage(); 
    //國際化頁面 
    jQuery.i18n.properties({ 
      name : "common", //資源文件名稱 
      path : $.contextPath+"/i18n/"+i18nLanguage+"/", //資源文件路徑 
      mode : 'map', //用Map的方式使用資源文件中的值 
      language : i18nLanguage, 
      cache:false, //指定瀏覽器是否對資源文件進行緩存,默認false 
      encoding: 'UTF-8', //加載資源文件時使用的編碼。默認為 UTF-8。  
      callback : function() {//加載成功后設置顯示內(nèi)容 
        //以下是將要國際化的文字內(nèi)容 
        //退出 
        $("#logOut").html($.i18n.prop('logOut')); 
        //用戶 
        $("#loginUser").html($.i18n.prop('loginUser')) 
      } 
    }); 
}
/*頁面執(zhí)行加載執(zhí)行*/ 
$(function(){ 
  /*執(zhí)行I18n翻譯*/ 
  execI18n(); 
  console.log("網(wǎng)站語言: "+i18nLanguage); 
  //國際化easyui 
  changeEasyuiLanguage(i18nLanguage);  
});

國際化的文件存放路徑,zh-CN表示簡體中文;en表示英語;也可擴展其它語言,只要在i18n文件夾下添加對應的文件;key要一一對應,value則是文字的語言內(nèi)容

js如何使用i18n實現(xiàn)頁面國際化

中文的common.properties文件內(nèi)容

login.userName=Username
login.passWord=Password
login.sub=Login
login.reset=Reset
login.anonymous=Anonymous

英文的common.properties文件內(nèi)容

login.userName=Username
login.passWord=Password
login.sub=Login
login.reset=Reset
login.anonymous=Anonymous

以上是“js如何使用i18n實現(xiàn)頁面國際化”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

js
AI