jq项目国际化处理,无需刷新页面、修改链接即可实现多种语言切换,切换效果拼图:
- JS变量调用方法,JS需JQ库(任意版本jquery、jquery.i18n.properties)
// i18n翻译核心调用方法,完整见文章底部Github链接
var i18nLanguage = 'zh_CN';
jQuery.i18n.properties({
name : 'messages', //资源文件前缀
path : 'i18n/', //资源文件路径
mode : 'map', //用Map的方式使用资源文件中的值
language : i18nLanguage,
callback : function() {//加载成功后设置显示内容
//可自定义键名匹配方法
var insertEle = $(".i18n");
console.log(".i18n 写入中...");
insertEle.each(function() {
// 根据i18n元素的 name 获取内容写入
$(this).html($.i18n.prop($(this).attr('name')));
});
console.log("写入完毕");
console.log(".i18n-input 写入中...");
var insertInputEle = $(".i18n-input");
insertInputEle.each(function() {
var selectAttr = $(this).attr('selectattr');
if (!selectAttr) {
selectAttr = "value";
};
$(this).attr(selectAttr, $.i18n.prop($(this).attr('selectname')));
});
console.log("写入完毕");
//js中变量调用的方法,user.home为自己配置的内容
console.log($.i18n.prop('user.home'));
}
})
- HTML使用方法键名匹配方法,完整demo见文章底部Github链接
<!-- 普通标签用法 class + name -->
<div class="i18n" name="user.home"></div>
<div class="i18n" name="user.contact"></div>
<!-- input用法 class + selectname + selectattr-->
<input type="text" class="i18n-input" selectname="input.name" selectattr="placeholder" name="name" /><br>
<textarea class="i18n-input" selectname="input.message" selectattr="placeholder"></textarea><br>
<button class="submit_bt i18n" name="input.submit"></button>
- 资源文件格式
user.home=首页
user.contact=联系我们
input.name=姓名
input.phone=联系方式
input.message=留言
input.submit=提交
- 文件结构路径
作者:zzppff
Github链接:https://github.com/zzppff/jq-kiwi
本方法为部分原创方法,经作者多方收集JQ国际化解决方案整理修改后发布,商业转载请联系作者获得授权,非商业转载请注明出处。
如有其它问题,可联系公众号: