JS消息国际化

需求背景:***销售支撑系统现在需要在中国及非中国的地区上线,以前在JS里面的提示信息需要提到外面来做国际化。

技术实现:通过浏览器的属性来获取是中文操作系统还是英文操作系统,如果是中文操作系统,则从中文资源里面读取提示信息。如果是英文操作系统,则从英文资源里面读取信息。

代码:
1、首先获得操作系统的类型:中文、英文
function getLanguageType() {
var appName = navigator.appName;
var clientLanguage = null;
if (appName == "Microsoft Internet Explorer") {
clientLanguage = navigator.userLanguage;
} else {
clientLanguage = navigator.language;
}
return clientLanguage.substring(0, 2);
}

2、获取资源信息
function getResource(key) {
var langType = getLanguageType();
if (langType.toUpperCase()=="ZH") {
return CPropertes_ZN[key];
} else {
return CPropertes_EN[key];
}
}

String.prototype.toMessage=function(args){
if(this==""){
return this;
}else{
var propVal=getResource(this);
if(propVal != undefined && args != undefined){
for(var i=0;i<args.length;i++){
propVal=propVal.replace(/%s/,args[i]);
}
}
return propVal;
}
}

var CPropertes_ZN = {
"USER_NOT_EXIST": "用户名[%s]不存在."
}

var CPropertes_EN = {
"USER_NOT_EXIST": "用户名[%s]不存在."
}

3、测试
alert( "USER_NOT_EXIST".toMessage(["yltf"]) );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值