【问题标题】:How to combine strings and handles in liquid如何在液体中组合琴弦和手柄
【发布时间】:2015-12-08 13:06:10
【问题描述】:

我在 Jekyll 中使用数据文件来组合字符串和句柄。

我使用nav.yml-data 文件为我的 Jekyll 站点生成菜单,其中nav.title 是菜单条目的标题。我的目标是根据活动语言翻译该标题。为此,我有一个带有相应翻译的il8n.yml-文件,并且-使用多语言插件-我可以通过{{site.data.il8n.term[site.active_lang]}}访问这些翻译字符串,其中term是我要翻译的短语。

这很简单,但是当我尝试将菜单数据文件中的 nav.title-string 与 il8n-data 文件中的翻译相结合时遇到了问题。

有没有办法在 il8n 文件中查找 nav.title 的条目?例如,我的nav.yml-data 文件中有一个菜单项“出版物”条目:

- title: "publications"
  href: "/publications/"

以及我的il8n.yml-data 文件中的“出版物”翻译条目:

- title: "publications"
  de: Publikationen
  en: Publications

有没有办法把这两个句柄结合起来?我目前的解决方法是在 il8n 文件中添加一个 menu: true 条目,并在相应的循环中查找该条件,但我希望将翻译与菜单项分开。

【问题讨论】:

    标签: ruby jekyll liquid


    【解决方案1】:

    通过设置 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      • 2022-06-27
      • 1970-01-01
      • 2022-01-05
      相关资源
      最近更新 更多