js使用i18n實(shí)現(xiàn)頁(yè)面國(guó)際化的方法
頁(yè)面引用的插件
<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>
以下是頁(yè)面引用的js
/** * 設(shè)置語(yǔ)言類型: 默認(rèn)為中文 */ var i18nLanguage = "zh-CN"; /* 設(shè)置一下網(wǎng)站支持的語(yǔ)言種類 zh-CN(中文簡(jiǎn)體)、en(英語(yǔ)) */ var webLanguage = ['zh-CN', 'en']; //獲取網(wǎng)站語(yǔ)言 function getWebLanguage(){ //1.cookie是否存在 if (jQuery.cookie("userLanguage")) { i18nLanguage = jQuery.cookie("userLanguage"); console.log("language cookie is "+i18nLanguage); } else { //2.1 獲取用戶設(shè)置的瀏覽器語(yǔ)言 var navLanguage = getNavLanguage(); console.log("user set browser language is "+navLanguage); if (navLanguage) { // 判斷是否在網(wǎng)站支持語(yǔ)言數(shù)組里 var charSize = $.inArray(navLanguage, webLanguage); if (charSize > -1) { i18nLanguage = navLanguage; // 存到緩存中 jQuery.cookie("userLanguage ",navLanguage, { expires : 7 }); }; } else{ console.log("not navigator"); return false; } } }
//國(guó)際化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í)行頁(yè)面i18n方法 * @return * @author LH */ var execI18n = function(){ //獲取網(wǎng)站語(yǔ)言(i18nLanguage,默認(rèn)為中文簡(jiǎn)體) getWebLanguage(); //國(guó)際化頁(yè)面 jQuery.i18n.properties({ name : "common", //資源文件名稱 path : $.contextPath+"/i18n/"+i18nLanguage+"/", //資源文件路徑 mode : 'map', //用Map的方式使用資源文件中的值 language : i18nLanguage, cache:false, //指定瀏覽器是否對(duì)資源文件進(jìn)行緩存,默認(rèn)false encoding: 'UTF-8', //加載資源文件時(shí)使用的編碼。默認(rèn)為 UTF-8。 callback : function() {//加載成功后設(shè)置顯示內(nèi)容 //以下是將要國(guó)際化的文字內(nèi)容 //退出 $("#logOut").html($.i18n.prop('logOut')); //用戶 $("#loginUser").html($.i18n.prop('loginUser')) } }); }
/*頁(yè)面執(zhí)行加載執(zhí)行*/ $(function(){ /*執(zhí)行I18n翻譯*/ execI18n(); console.log("網(wǎng)站語(yǔ)言: "+i18nLanguage); //國(guó)際化easyui changeEasyuiLanguage(i18nLanguage); });
國(guó)際化的文件存放路徑,zh-CN表示簡(jiǎn)體中文;en表示英語(yǔ);也可擴(kuò)展其它語(yǔ)言,只要在i18n文件夾下添加對(duì)應(yīng)的文件;key要一一對(duì)應(yīng),value則是文字的語(yǔ)言內(nèi)容
中文的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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于JavaScript操作DOM常用的API小結(jié)
DOM(Document Object Model)即文檔對(duì)象模型,針對(duì) HTML 和 XML 文檔的 API(應(yīng)用程序接口)。本篇文章給大家介紹javascript操作dom常用的api小結(jié),對(duì)javascript dom api相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12js中將多個(gè)語(yǔ)句寫成一個(gè)語(yǔ)句的兩種方法小結(jié)
js中將多個(gè)語(yǔ)句寫成一個(gè)語(yǔ)句的兩種方法講述了逗號(hào)運(yùn)算符將多個(gè)語(yǔ)句寫成一個(gè)語(yǔ)句以及花括號(hào)寫成一個(gè)語(yǔ)句的實(shí)現(xiàn)方法,需要的朋友可以參考一下2007-12-12JS實(shí)現(xiàn)間歇滾動(dòng)的運(yùn)動(dòng)效果實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)間歇滾動(dòng)的運(yùn)動(dòng)效果,涉及javascript定時(shí)器觸發(fā)動(dòng)態(tài)改變頁(yè)面元素的相關(guān)操作技巧,需要的朋友可以參考下2016-12-12實(shí)例分析JS中的相等性判斷===、 ==和Object.is()
這篇文章主要給大家介紹了關(guān)于JS中相等性判斷===、 ==和Object.is()的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11javascript FAQ函數(shù)(提問(wèn)+回復(fù))
javascript FAQ函數(shù),當(dāng)點(diǎn)擊問(wèn)題時(shí)顯示下面的回復(fù)內(nèi)容。2009-07-07