`date_to_string`用不同的语言?

时间:2017-03-12 23:22:22

标签: xml jekyll

我是Jekyll的新手,我目前正在创建一个用西班牙语写的博客。我想将XML时间模式转换为西班牙语的字符串。 Ex,而不是" 2017年1月1日更新",我想要" Actualizado el 01 de enero de 2017"或类似的东西。有没有办法将date_to_string转换成符合我需要的东西?谢谢。

2 个答案:

答案 0 :(得分:1)

目前Jekyll没有什么可以开箱即用的。您必须编写一些代码来获取您所用语言的月份名称等。

以下是一个例子:

<!-- Whitespace added for readability -->
{% assign m = page.date | date: "%-m" %}
{{ page.date | date: "%-d" }}
{% case m %}
  {% when '1' %}Januar
  {% when '2' %}Februar
  {% when '3' %}M&auml;rz
  {% when '4' %}April
  {% when '5' %}Mai
  {% when '6' %}Juni
  {% when '7' %}Juli
  {% when '8' %}August
  {% when '9' %}September
  {% when '10' %}Oktober
  {% when '11' %}November
  {% when '12' %}Dezember
{% endcase %}
{{ page.date | date: "%Y" }}

您可以在此处查看有关Jekyll日期格式的其他一些示例: http://alanwsmith.com/jekyll-liquid-date-formatting-examples

答案 1 :(得分:0)

虽然你没有要求多种语言,但我认为在这里添加它会很好。以下是我如何在博客文章中添加多种语言等。

_includes / date.html:

{% capture hide %}

{% if include.mode != 'month' %}

  {% assign day = include.date | date: "%-d" %}

{% endif %}

{% if page.language == 'th' %}

  {% assign m = include.date | date: "%-m" %}
  {% case m %}
    {% when '1' %}
      {% capture month %}มกราคม{% endcapture %}
    {% when '2' %}
      {% capture month %}กุมภาพันธ์{% endcapture %}
    {% when '3' %}
      {% capture month %}มีนาคม{% endcapture %}
    {% when '4' %}
      {% capture month %}เมษายน{% endcapture %}
    {% when '5' %}
      {% capture month %}พฤษภาคม{% endcapture %}
    {% when '6' %}
      {% capture month %}มิถุนายน{% endcapture %}
    {% when '7' %}
      {% capture month %}กรกฎาคม{% endcapture %}
    {% when '8' %}
      {% capture month %}สิงหาคม{% endcapture %}
    {% when '9' %}
      {% capture month %}กันยายน{% endcapture %}
    {% when '10' %}
      {% capture month %}ตุลาคม{% endcapture %}
    {% when '11' %}
      {% capture month %}พฤศจิกายน{% endcapture %}
    {% when '12' %}
      {% capture month %}ธันวาคม{% endcapture %}
  {% endcase %}

{% else %}

  {% capture month %}{{ include.date | date: "%B" }}{% endcapture %}

{% endif %}

{% capture year %}{{ include.date | date: "%Y" }}{% endcapture %}

{% endcapture %}

_includes /-为time.html后:

{% include date.html date=post.date %}

<time class="entry-time" itemprop="datePublished" datetime="{{ post.date | date_to_xmlschema }}">{% if page.language == 'th' %}{{ day }} {{ month }} {{ year }}{% else %}{{ month }} {{ day }}, {{ year }}{% endif %}</time>

然后我可以在任何需要上述HTML输出的地方使用{% include post-time.html %}

如果您需要三种语言,还可以为_includes/date.html文件添加额外的条件。