我正在使用Jekyll中的数据文件来处理字符串和句柄的组合。
我使用nav.yml
- 数据文件为我的Jekyll网站生成菜单,其中nav.title
是菜单条目的标题。我的目标是根据主动语言翻译该标题。为此,我有一个il8n.yml
- 文件及相应的翻译,并且 - 使用polyglot-plugin - 我可以通过{{site.data.il8n.term[site.active_lang]}}
访问这些翻译字符串,其中term
是我想要的短语翻译。
这很简单,但是当我尝试将菜单数据文件中的nav.title
- 字符串与il8n-data文件的翻译结合起来时,我遇到了问题。
有没有办法在il8n文件中查找nav.title
的条目?作为一个例子,我有一个菜单项"出版物"在我的nav.yml
- 数据文件中:
- title: "publications"
href: "/publications/"
和#34;出版物"的翻译条目在我的il8n.yml
- 数据文件中:
- title: "publications"
de: Publikationen
en: Publications
有没有办法合并这两个句柄?我当前的解决方法是il8n文件中的menu: true
条目以及查找该条件的相应循环,但我希望将翻译与菜单项分开。
答案 0 :(得分:0)
通过设置il8n-data文件,您可以执行以下操作:
<ul>
{% for item in site.data.nav %}
<li>
{% assign itemTranslation = site.data.il8n | where: 'title', item.title %}
{{ itemTranslation[0][site.active_lang] }}
</li>
{% endfor %}
</ul>
使用这样的il8n.yml命令:
publications:
de: Publikationen
en: Publications
toto is great:
de: toto is great in german
en: toto is great
你可以这样做:
<ul>
{% for item in site.data.nav %}
<li>{{ site.data.il8n2[item.title][site.active_lang] }}</li>
{% endfor %}
</ul>