带有JQuery,pug和JSON的多语言站点,带有华丽的弹出窗口

时间:2019-07-06 10:58:11

标签: jquery json pug magnific-popup

我正在使用以下JQuery代码准备一个简单的多语言网站:

(function() {
  var language, translate;

  translate = function(jsdata) {
    $('[tkey1]').each(function(index) {
      var strTr;
      strTr = jsdata[$(this).attr('tkey1')][$(this).attr('tkey2')];
      $(this).html(strTr);
    });
  };

  language = $.cookie('language');
  if (language === 'en') {
    $.getJSON('en.json', translate);
  } else {
    $.getJSON('hu.json', translate);
  }
}).call(this);

我将数据存储在两个嵌套的JSON文件中,例如

en.json

{
  "1.md": {
     "title": "test 1", "body": "Hello Word!"
  },
  "2.md": {
    "title": "test 2", "body": "Hello Word again!"
  }
}

hu.json

{
  "1.md": {
    "title": "teszt 1", "body": "Szia Világ!"
  },
  "2.md": {
    "title": "teszt 2", "body": "Szia Világ megint!"
  }
}

我通过以下方式(将w / Gulp转换为html)称呼帕格中的内容:

p(tkey1="1.md")(tkey2="title")
p(tkey1="1.md")(tkey2="body")

它与html标记一起正常工作,但是我使用了一个插件(宏弹出式窗口),该插件需要以下语法:

a(href='img/test.jpg', title='title here')

如何将适当的JSON数据放入title元素,不幸的是,以下操作无效:

a(href='img/test.jpg', title=(tkey1="1.md")(tkey2="body"))

使用简单的文本字符串,标题效果很好:

a(href='img/test.jpg', title='title here')

或w / variable:

- var titleName = 'title here'
a(href='img/test.jpg', title=titleName)

谢谢您的帮助!

0 个答案:

没有答案