html5 多语言支持,多语言HTML5应用程序

我将本地化的字符串存储在JS文件中(每种支持的语言为1)。防爆。 :

string-en.js:

MyApp.STR = {"Hi":"Hi","By":"By", etc.};

string-fr.js:

MyApp.STR = {"Hi":"Salut","By":"Par", etc.};

在启动时,我加载了有关导航器语言的正确文件:

loadLocalizedString: function(langParam/*optional*/) {

var language = window.navigator.language, lang;

console.log('loadLocalizedString with Navigator Language: ' + language);

if (!langParam) {

//Try to guess the best suited language

if(language) {

lang = language.substring(0,2);

} else {

lang = 'en';

}

if($.inArray(lang, this.SUPPORTED_LANGUAGE) <= -1) {

lang = 'en';//If the language is not available : english by default

}

} else {

lang = langParam;

}

console.log('language: ' + lang);

this.loadString('lib/string-'+lang+'.js');

},

SUPPORTED_LANGUAGE : ["en", "fr", "es", "it"],

loadString:function(fileName) {

try {

$.ajaxSetup({async: false});

$.getScript(fileName);//We don't use the async callback, because we need the translation in the next method

$.ajaxSetup({async: true});

} catch (e) {

console.error('Error while loading : ' + fileName);

}

}

并在应用中使用本地化字符串:

html = MyApp.STR.Hi+' '+userName+' !';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值