Я использую плагин gulp-html-i18n gulp для обработки задачи перевода на статическом веб-сайте.
Для отображения переведенного содержимогоЯ должен использовать Усы lib как gulp-html-i18n , упомянутые в его документ .
Я сталкиваюсь с трудностями в операциях конкатенации.Например, если мне нужно назначить условный класс для элемента html, я буду использовать следующий поток:
${{! if}}$
${{#index.isEnglish}}$
<body class="en">
${{/index.isEnglish}}$
${{! else}}$
${{^index.isEnglish}}$
<body class="sp">
${{/index.isEnglish}}$
В приведенном выше коде я проверяю, является ли язык, например, английский,затем класс назначается на основе значения isEnglish .
При таком подходе мы столкнемся с большой проблемой, если мне потребуется добавить новый язык, также он длинный и не полный.
Кроме того, предположим, у меня есть массив объектов в следующем интерфейсе:
"data":[{
"title": "foo",
"description": "bar",
"icon": "iconname"
},...]
Что если мне понадобится объединить имя значка с путем атрибута scr при циклическом прохождениимассив выше?
<div class="content">
${{#index.home.services.data}}$
<h3>
${{title}}$
</h3>
<p>
${{description}}$
</p>
<img src="path/${{}}$.png" alt=""> ---> Not working with Moustache
${{/index.home.services.data}}$
</div>
Так, как я могу решить проблемы выше?и каковы лучшие практики для конкатенаций Moustache.js?