Jekyll多语言导航

问题描述

我一直在努力将一周的导航菜单翻译成几种语言。 我在Google上找到了许多示例,人们可以自定义菜单的翻译。文章来自2018年,也许Jekyll 3.5有所改变?

如何创建多语言菜单

文件_data/navigation.yml

languages:
  - language: "en"
    links:
    - title: "About"
      url: /about/
    - title: "Archives"
      url: /archives/
    - title: "GitHub"
      url: https://github.com
    - title: "pt"
      url: /pt/
  - language: "pt"
    links:
    - title: "Sobre"
      url: /sobre/
    - title: "Arquivos"
      url: /arquivos/
    - title: "GitHub"
      url: https://github.com
    - title: "en"
      url: /

两种语言,两个带有正确URL的子树。

然后我需要将其合并到_includes/masthead.htmlnav.html中,没关系

{% for item in site.data.navigation.languages %}
  {% if item.language == page.lang %}
    {% for link in item.links %}
      {% if link.url contains "http" %}
        {% assign url = link.url %}
      {% else %}
        {% assign url = link.url | relative_url %}
      {% endif %}
      <a class="page-link" href="{{ url }}">{{ link.title }}</a>
    {% endfor %}
  {% endif %}
{% endfor %}

通过这种设计,即使没有干净主题插件“ Jekyll Multiple Languages Plugin”,也不会显示它。

我尝试更简单,并更改了标准主题代码

    <ul class="visible-links">
          {%- for link in site.data.navigation.languages -%}
            <li class="masthead__menu-item">
              <a href="{{ link.url | relative_url }}"{% if link.description %} title="{{ link.description }}"{% endif %}>{{ link.title }}</a>
            </li>
          {%- endfor -%}
        </ul>

这将显示所有语言的所有菜单项。

请帮我弄清楚,因为我认为您是最好的社区!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)