{% 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 }}