這個是接著上一篇 國際化總結(jié)—關(guān)于Struts2
創(chuàng)新互聯(lián)主打移動網(wǎng)站、成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、國際域名空間、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再決定采用什么樣的設(shè)計。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計,我們還會規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。
在做國際化的時候,有時候script腳本中也需要有國際化,所以就用到了jquery的一個包:jquery.i18n
關(guān)于這個包的詳細(xì)使用有空在弄,這里只是介紹如何實(shí)現(xiàn)js腳本的國際化的一些簡單代碼
直接上代碼了:
首先是加載jquery.i18n的,這個需要隨著頁面的加載馬上就執(zhí)行,就寫在document的onready代碼的最前面吧
function loadProperties(){ /*lan = $("#local_lan").val(); lan = (lan==null||lan.trim()=='')?'en':"zh";*/ var lan = 'zh';//zh,en $.ajax({ type:"POST", url:"getlanguage", dataType:"json", async:false, success:function(json){ lan=json; }, error: function(json){ alert("ERROR!!!\ncontact wuzhongwei@..."); } }); jQuery.i18n.properties({// 加載資瀏覽器語言對應(yīng)的資源文件 name:'msg', // 資源文件名稱 path:'Js/i18n/', // 資源文件路徑 mode:'map', // 用 Map 的方式使用資源文件中的值 language:lan, callback: function() {// 加載成功后設(shè)置顯示內(nèi)容 } }); }
上面的代碼核心部分是使用ajax獲取當(dāng)前使用的是什么環(huán)境,相關(guān)的Struts2 Action類代碼如下:
public String execute(){ //flag = sysConfig.getLanguage_version(); Locale locale = (Locale) ActionContext.getContext().getSession().get("WW_TRANS_I18N_LOCALE"); if(locale == null){ locale = Locale.US; } if(locale.equals(Locale.US)){ flag = "en"; }else{ flag = "zh"; } return SUCCESS; }
很簡單的一個方法。
這樣當(dāng)頁面加載的時候就會根據(jù)當(dāng)前使用的語言環(huán)境去獲取相應(yīng)的配置文件
具體的jquery.i18n的使用有空再詳細(xì)說明,包括初始化?。ㄆ鋵?shí)初始化上面的代碼里面就有了),獲取相應(yīng)的資源啊等等