首页 > 编程 > JavaScript > 正文

js使用i18n实现页面国际化的方法

2019-11-19 16:38:03
字体:
来源:转载
供稿:网友

页面引用的插件

<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";  /* 设置一下网站支持的语言种类 zh-CN(中文简体)、en(英语)  */ var webLanguage = ['zh-CN', 'en'];  //获取网站语言 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) {       // 判断是否在网站支持语言数组里       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); };  
/**  * 执行页面i18n方法  * @return  * @author LH  */  var execI18n = function(){   //获取网站语言(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() {//加载成功后设置显示内容         //以下是将要国际化的文字内容         //退出         $("#logOut").html($.i18n.prop('logOut'));         //用户         $("#loginUser").html($.i18n.prop('loginUser'))       }     }); } 
/*页面执行加载执行*/ $(function(){   /*执行I18n翻译*/   execI18n();   console.log("网站语言: "+i18nLanguage);   //国际化easyui   changeEasyuiLanguage(i18nLanguage);  }); 

国际化的文件存放路径,zh-CN表示简体中文;en表示英语;也可扩展其它语言,只要在i18n文件夹下添加对应的文件;key要一一对应,value则是文字的语言内容

中文的common.properties文件内容

login.userName=Usernamelogin.passWord=Passwordlogin.sub=Loginlogin.reset=Resetlogin.anonymous=Anonymous

英文的common.properties文件内容

login.userName=Usernamelogin.passWord=Passwordlogin.sub=Loginlogin.reset=Resetlogin.anonymous=Anonymous

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表