- 需要引入jquery支持;
- 加载时默认请求两次文件;
- 载入页面时,只会渲染页面已存在的元素;
- 当向页面添加新的dom元素,需要执行单个渲染;
- ? 动态改变页面自定义data属性值后,多次输出其data值依然为第一次改变后的内容。(暂未理解)
$.i18n.properties({
name:'strings', //文件名
path: 'i18n/', // 文件路径
mode: 'map',
language: 'zh', // 语言,若设置为空,会自动获取浏览器语言。
callback: function () {
$('.i18n').each(function () { // 遍历页面每个i18n class的地方,并根据其自定义的data-tag属性更新页面显示语言。
$(this).html($.i18n.prop($(this).data('tag')));
});
}
});
2.1
第一次请求:可以理解为垫片文件,第二次请求失败后执行的默认语言
strings(文件名)
第二次请求:需要转换的语言文件
strings(文件名) + language(语言)
(移动端H5项目打包成App时,垫片文件若为空会引起国际化失败【概率事件】)4.1 页面单个渲染
每次页面插入新元素,或动态改变其自定义data属性值都需要用$.i18n.prop()重新渲染该元素。