многоязычный сайт с JQuery, мопсом и JSON вместе с большим всплывающим окном - PullRequest
0 голосов
/ 06 июля 2019

Я готовлю простой многоязычный веб-сайт со следующим кодом 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!"
  }
}

Я вызываю содержимое в pug следующим образом (перевод с 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')

или также с переменной:

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

Спасибо за помощь!

...