今天在写一个国际化的功能,编写此文章记录下此功能!
html代码:
<div class="wrap">
<a id="J_lang_switch" data-lang="string_lang9">切换到英文</a>
<h1 data-lang="string_lang1">用户登陆</h1>
<ul class="nav">
<li><span data-lang="lang_userName">导航1</span><input name="userName"></li>
<li><span data-lang="lang_password">导航2</span><input name="password"></li>
</ul>
</div>
js代码:
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="js/jquery.i18n.properties-1.0.9.js"></script>
<script>
var language_pack = {
now_lang : 0, // 0:ch,1:en
loadProperties : function(new_lang){
var self = this;
var tmp_lang = '';
if(new_lang == 0){
tmp_lang = 'zh';
$('body').removeClass('en').addClass('zh');
}else{
tmp_lang = 'en';
$('body').removeClass('zh').addClass('en');
}
jQuery.i18n.properties({
name: 'strings',
path:'language/',
language: tmp_lang,
cache: false,
mode:'map',
callback: function() {
for(var i in $.i18n.map){
$('[data-lang="'+i+'"]').text($.i18n.map[i]);
}
document.title = $.i18n.map['string_title'];
}
});
self.now_lang = new_lang;
}
}
$(document).ready(function(){
language_pack.loadProperties(0);
$('#J_lang_switch').click(function(){
var new_lang;
if(language_pack.now_lang == 0){
new_lang = 1;
}else{
new_lang = 0;
}
language_pack.loadProperties(new_lang);
});
});
</script>
中文配置文件:lang_zh.properties
lang_userName=\u7528\u6237\u540D
lang_password=\u5BC6\u7801
lang_login=\u7528\u6237\u767B\u9646
lang_lang9=\u5207\u6362\u5230\u82F1\u6587
英文配置文件:lang_en.properties
lang_userName=user name
lang_password=password
lang_login=user login
lang_lang9=change to chinese
需要完整项目文件的请加我QQ598681310并备注