因为 i18n 在 github 页面上不可用,所以我建立在@Kleo Petroff 的回答和 @Falc 的回答的基础上,我设置了一种在 YAML 文件中定义区域名称的日期:
没有整个 case 语句,代码几乎相同:
{% capture i18n_date %}
{{ page.date | date: "%-d" }}
{% assign m = page.date | date: "%-m" | minus: 1 %}
{{ site.data.fr.months[m] }}
{{ page.date | date: "%Y" }}
{% endcapture %}
我在上面的代码中设置了以下数据结构(可能在_config.yml
,或在某个_data/some.yml
文件中),文件是_data/fr.yml
:
months:
- Janvier
- Février
- Mars
- Avril
- Mai
- Juin
- Juillet
- Aout
- Septembre
- Octobre
- Novembre
- Décembre
请注意,page.date | date: "%-m"
将月份数字输出为字符串,即六月数字实际上"6"
不是,在管道m site.data.fr.months[m]` 时6
,液体会默默地将该字符串转换为数字,我只在查看 Falc 时看到了技巧回答。minus filter.
During development it was not something I was aware and thus liquid didn't returned anything when passing
with the value "6" to