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

页面引用的插件

<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=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

以上是 js使用i18n实现页面国际化的方法 的全部内容, 来源链接: utcz.com/z/355479.html

回到顶部