jquery.i18n国际化踩坑日志

  1. 需要引入jquery支持;
  2. 加载时默认请求两次文件;
  3. 载入页面时,只会渲染页面已存在的元素;
  4. 当向页面添加新的dom元素,需要执行单个渲染;
  5. ? 动态改变页面自定义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()重新渲染该元素。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 12,855评论 0 36
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 5,083评论 1 19
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 8,939评论 1 87
  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 3,603评论 1 25
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 1,662评论 0 2