rf-web/_includes/utils/translated-date.html

57 lines
2.6 KiB
HTML
Raw Permalink Normal View History

{% comment %}
This include allows to translate the days and months in the date by using strings in _data/date-locales/[lang].yml
This include can be called with three parameters:
- include.date: the date to be processed
- include.format: the date format. (If empty a default format will be used)
- include.lang: lang to use for translation.
{% endcomment %}
{% comment %}
If the parameter date format is empty the default format set in _config.yml is used.
If there is no default in _config, "%b %-d, %Y" is used.
{% endcomment %}
{% assign date_format_to_be_translated = include.format | default: site.date_format | default: "%b %-d, %Y" %}
{% comment %}
Init to have the indice of the day in the week (num_day) and the indice of the month in the year (num_mont)
Init the lang parameter depending if it's set in the include call, in the page or in the site settings
{% endcomment %}
{% assign num_day = include.date | date: "%w" | plus: 0 %}
{% assign num_month = include.date | date: "%-m" | plus: -1 %}
{% assign lang = include.lang | default: page.lang | default: site.lang %}
{% comment %}
Use translated abbreviated weekday if "%a" is used in the format and the translation is available in _data/date-locales/[lang].yml
{% endcomment %}
{% if site.data.date-locales[lang].abbreviated_weekday[num_day] %}
{% assign date_format_to_be_translated = date_format_to_be_translated | replace: "%a", site.data.date-locales[lang].abbreviated_weekday[num_day] %}
{% endif %}
{% comment %}
Use translated full weekday if "%A" is used in the format and the translation is available in _data/date-locales/[lang].yml
{% endcomment %}
{% if site.data.date-locales[lang].full_weekday[num_day] %}
{% assign date_format_to_be_translated = date_format_to_be_translated | replace: "%A", site.data.date-locales[lang].full_weekday[num_day] %}
{% endif %}
{% comment %}
Use translated abbreviated month if "%b" is used in the format and the translation is available in _data/date-locales/[lang].yml
{% endcomment %}
{% if site.data.date-locales[lang].abbreviated_month[num_month] %}
{% assign date_format_to_be_translated = date_format_to_be_translated | replace: "%b", site.data.date-locales[lang].abbreviated_month[num_month] %}
{% endif %}
{% comment %}
Use translated abbreviated weekday if "%B" is used in the format and the translation is available in _data/date-locales/[lang].yml
{% endcomment %}
{% if site.data.date-locales[lang].full_month[num_month] %}
{% assign date_format_to_be_translated = date_format_to_be_translated | replace: "%B", site.data.date-locales[lang].full_month[num_month] %}
{% endif %}
{{ include.date | date: date_format_to_be_translated | strip }}