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 相关文章推荐
JavaScript实现Sleep函数的代码
Mar 04 Javascript
Bootstrap入门书籍之(一)排版
Feb 17 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
Oct 10 Javascript
用jmSlip编写移动端顶部日历选择控件
Oct 24 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
Jan 21 Javascript
javascript中mouseenter与mouseover的异同
Jun 06 Javascript
ECMAScript6变量的解构赋值实例详解
Sep 19 Javascript
解决vuecli3.0热更新失效的问题
Sep 19 Javascript
微信小程序实现留言功能
Oct 31 Javascript
JS隐藏号码中间4位代码实例
Apr 09 Javascript
vue键盘事件点击事件加native操作
Jul 27 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
Oct 31 Javascript
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
解析php curl_setopt 函数的相关应用及介绍
2013/06/17 PHP
json的键名为数字时的调用方式(示例代码)
2013/11/15 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
判断脚本加载是否完成的方法
2009/05/26 Javascript
PPK 谈 JavaScript 的 this 关键字 [翻译]
2009/09/29 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
JS JQUERY实现滚动条自动滚到底的方法
2015/01/09 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
Python验证码识别的方法
2015/07/10 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
海量信息软件测试笔试题
2015/08/08 面试题
国庆节文艺活动方案
2014/02/03 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
2015政治思想表现评语
2015/03/25 职场文书
2015年人民调解工作总结
2015/05/18 职场文书
好人好事新闻稿
2015/07/17 职场文书
环保建议书范文
2015/09/14 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
css3应用示例:新增的选择器
2022/03/16 HTML / CSS
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle