【问题标题】:Jekyll site with several languagesJekyll 网站有多种语言
【发布时间】:2015-03-12 04:24:26
【问题描述】:

我有一个网站,我正在用西班牙语写,但现在我也想用英文写这个。 我用的是Jekyll,主题是“Skinny Bones”,稍微修改了一下代码,但是发现了一个问题,希望大家能帮帮我。

我在 _config.yml 中设置了一个名为 lang 的新变量,最初设置为“es”(西班牙语)。

之后,我更改了下一个代码:

{% for post in site.categories.articles %}
 {% include post-grid.html %}
{% endfor %}

通过这个:

 <!-- español -->
 {% if site.lang == 'es' %}
  {% for post in site.categories.media %}
   {% if post.lang == 'es' %}
    {% include post-grid.html %}
   {% endif %}
  {% endfor %}
 {% endif %}

<!-- inglés -->
{% if site.lang == 'en' %}
 {% for post in site.categories.media %}
  {% if post.lang == 'en' %}
    {% include post-grid.html %}
  {% endif %}
 {% endfor %}
{% endif %}

在此表单上,如果变量在 _config.yml 中设置为“en”,并且媒体文件夹中的帖子是 lang 设置为“en”的帖子,它将显示。

这项工作正常,当我更改 _config.yml 并使用“en”或“es”设置变量并在本地主机中重建项目时,会发生更改,并且只有它显示成语正确的帖子。

但我的问题是:¿如何在服务器运行时更​​改 _config.yml 上的变量? 我的想法是在页面的某个位置制作一个按钮来更改此变量。

我看到了函数 {% 分配 site.lang='es' %} 但当我在代码中执行此操作时不起作用。

嗯,我知道这不是一个复杂的问题,但我没有找到解决方案。

非常感谢您的帮助。

如果你想看,这是我的repo page

【问题讨论】:

    标签: jekyll liquid multilingual


    【解决方案1】:

    ¿如何在服务器运行时更​​改 _config.yml 上的变量?

    我很确定你不能。你看过这个插件吗?

    https://github.com/screeninteraction/jekyll-multiple-languages-plugin

    【讨论】:

    • 是的,我试过了,但是在我的页面中我使用了一个主题,并且很难用插件来适应它,至少对我来说是这样。如果我不使用 _config.yml 文件但我使用另一个文件,这可能吗?
    • "如果我不使用 _config.yml 文件但我使用另一个文件,这可能吗?"我不太明白那部分。您的意思是“使用不同于 config.yml 的方法”吗?我认为这就是你必须做的,但我怀疑它会涉及一个插件。有没有比上面列出的更简单的插件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    相关资源
    最近更新 更多