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