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


Posted in Javascript onMay 09, 2017

页面引用的插件

<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则是文字的语言内容

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

中文的common.properties文件内容

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

英文的common.properties文件内容

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery imgareaselect 使用利用js与程序结合实现图片剪切
Jul 30 Javascript
深入认识javascript中的eval函数
Nov 02 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
Dec 28 Javascript
jquery 回车事件实现代码
Aug 23 Javascript
利用javascript实现web页面中指定区域打印
Oct 30 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
Feb 03 Javascript
javascript常用函数(1)
Nov 04 Javascript
Bootstrap每天必学之导航条
Nov 27 Javascript
基于jQuery实现仿百度首页选项卡切换效果
May 29 Javascript
vue移动端实现手机左右滑动入场动画
Jun 17 Javascript
element中的$confirm的使用
Apr 26 Javascript
vue修饰符.capture和.self的区别
Apr 22 Vue.js
Angular中$state.go页面跳转并传递参数的方法
May 09 #Javascript
Vue 2.0中生命周期与钩子函数的一些理解
May 09 #Javascript
JavaScript中splice与slice的区别
May 09 #Javascript
详解node中创建服务进程
May 09 #Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
May 08 #Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 #jQuery
微信小程序 标签传入数据
May 08 #Javascript
You might like
WINXP下apache+php4+mysql
2006/11/25 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
Python中Class类用法实例分析
2015/11/12 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
Python 由字符串函数名得到对应的函数(实例讲解)
2017/08/10 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
python的pstuil模块使用方法总结
2019/07/26 Python
对django 模型 unique together的示例讲解
2019/08/06 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
python 字典的打印实现
2019/09/26 Python
python脚本后台执行方式
2019/12/21 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
高校学生干部的自我评价分享
2013/11/04 职场文书
交通安全演讲稿
2014/01/07 职场文书
宣传保护环境的公益广告词
2014/03/13 职场文书
化学工程专业求职信
2014/08/10 职场文书
自我查摆剖析材料
2014/10/11 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
铣工实训报告
2014/11/05 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js