✨ feat: add multi-language support
This commit is contained in:
@@ -10,19 +10,19 @@
|
||||
|
||||
<ul class="meta">
|
||||
{% if page.draft %}
|
||||
<li class="draft-label">DRAFT</li>
|
||||
<li class="draft-label">{%- if lang != config.default_language %} {{ trans(key="draft" | safe, lang=lang) }} {% else %} DRAFT {% endif %}</li>
|
||||
{% endif %}
|
||||
|
||||
{% if page.date %}
|
||||
<li>{{ macros_format_date::format_date(date=page.date, short=true) }} {{ separator }}</li>
|
||||
{% endif %}
|
||||
|
||||
<li title="{{ page.word_count }} words"> {{ page.reading_time }} min read</li>
|
||||
<li title="{{ page.word_count }} {%- if lang != config.default_language %} {{ trans(key="words" | safe, lang=lang) }} {% else %} words {% endif %}"> {{ page.reading_time }}{%- if lang != config.default_language %} {{ trans(key="min_read" | safe, lang=lang) }} {% else %} min read {% endif %}</li>
|
||||
|
||||
{% if page.taxonomies and page.taxonomies.tags %}
|
||||
<li> {{ separator }} Tags: </li>
|
||||
<li> {{ separator }} {%- if lang != config.default_language -%}{{ trans(key="tags" | safe, lang=lang) | capitalize }}{% else %}Tags{%- endif -%}: </li>
|
||||
{% for tag in page.taxonomies.tags %}
|
||||
<li><a href={{ get_taxonomy_url(kind='tags' , name=tag) | safe }}>{{ tag }}</a>
|
||||
<li><a href={{ get_taxonomy_url(kind='tags', name=tag, lang=lang) | safe }}>{{ tag }}</a>
|
||||
{%- if not loop.last -%}
|
||||
,
|
||||
{%- endif -%}
|
||||
@@ -31,7 +31,7 @@
|
||||
{% endif %}
|
||||
|
||||
{% if page.updated %}
|
||||
</ul><ul class="meta last-updated"><li>Last updated on {{ macros_format_date::format_date(date=page.updated, short=true) }}</li>
|
||||
</ul><ul class="meta last-updated"><li>{%- if lang != config.default_language %} {{ trans(key="last_updated_on" | safe, lang=lang) }} {% else %} Last updated on {% endif %} {{ macros_format_date::format_date(date=page.updated, short=true) }}</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
{% if page.extra.toc | default(value=false) %}
|
||||
{% if page.toc %}
|
||||
<div class="toc-container">
|
||||
<h3>Table of Contents</h3>
|
||||
<h3>{%- if lang != config.default_language %} {{ trans(key="table_of_contents" | safe, lang=lang) }} {% else %} Table of Contents {% endif %}</h3>
|
||||
<ul>
|
||||
{% for h1 in page.toc %}
|
||||
<li>
|
||||
|
@@ -1,10 +1,15 @@
|
||||
{% macro format_date(date, short) %}
|
||||
|
||||
{% if config.extra.short_date_format and short %}
|
||||
{{ date | date(format=config.extra.short_date_format) }}
|
||||
{% elif config.extra.long_date_format and not short %}
|
||||
{{ date | date(format=config.extra.long_date_format) }}
|
||||
{# Set locale #}
|
||||
{%- if lang != config.default_language %}
|
||||
{% set date_locale = trans(key="date_locale" | safe, lang=lang) %}
|
||||
{% else %}
|
||||
{% set date_locale = "en_GB" %}
|
||||
{% endif %}
|
||||
|
||||
{% if config.extra.long_date_format and not short %}
|
||||
{{ date | date(format=config.extra.long_date_format, locale=date_locale) }}
|
||||
{% elif not config.extra.short_date_format and date_locale == "en_GB" %}
|
||||
{% set day = date | date(format='%-d') | int %}
|
||||
|
||||
{% if day in [11, 12, 13] %}
|
||||
@@ -29,6 +34,8 @@
|
||||
{% else %}
|
||||
{{ date | date(format="%B %Y") }}
|
||||
{% endif %}
|
||||
{% elif short %}
|
||||
{{ date | date(format="%d %b %Y", locale=date_locale) }}
|
||||
{% endif %}
|
||||
|
||||
{% endmacro %}
|
||||
|
@@ -25,7 +25,7 @@
|
||||
{% if post.taxonomies.tags %}
|
||||
<div class="bloglist-tags">
|
||||
{% for tag in post.taxonomies.tags %}
|
||||
<a class="tag" href="{{ get_taxonomy_url(kind="tags", name=tag) }}">{{ tag }}</a>
|
||||
<a class="tag" href="{{ get_taxonomy_url(kind='tags', name=tag, lang=lang) | safe }}">{{ tag }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -38,14 +38,14 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<a class="readmore" href={{ post.permalink }}>Read more →</a>
|
||||
<a class="readmore" href={{ post.permalink }}>{%- if lang != config.default_language %} {{ trans(key="read_more" | safe, lang=lang) }} {% else %} Read more {% endif %}→</a>
|
||||
</div>
|
||||
</section>
|
||||
{% endif %}
|
||||
{% if not loop.last %}
|
||||
{% if loop.index == max %}
|
||||
<div class="all-posts">
|
||||
<a href="{{ get_url(path="/blog/") }}">All posts ⟶</a>
|
||||
<a href="{{ get_url(path="blog", lang=lang) }}/">{%- if lang != config.default_language %} {{ trans(key="all_posts" | safe, lang=lang) }} {% else %} All posts {% endif %}⟶</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
@@ -4,25 +4,25 @@
|
||||
<ul class="pagination">
|
||||
{% if paginator.previous %}
|
||||
<li class="page-item page-prev">
|
||||
<a href="{{ paginator.previous }}" class="page-link" aria-label="Previous page">← Prev</a>
|
||||
<a href="{{ paginator.previous }}" class="page-link" aria-label="{%- if lang != config.default_language %} {{ trans(key="prev" | safe, lang=lang) }}{% else %} Prev {%- endif -%}">← {%- if lang != config.default_language %} {{ trans(key="prev" | safe, lang=lang) }}{% else %} Prev {%- endif -%}</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item page-prev">
|
||||
<span class="page-link disabled" aria-disabled="true" aria-label="Previous (disabled)">← Prev</span>
|
||||
<span class="page-link disabled" aria-disabled="true" aria-label="{%- if lang != config.default_language %} {{ trans(key="prev" | safe, lang=lang) }}{% else %} Prev {%- endif -%} (disabled)">← {%- if lang != config.default_language %} {{ trans(key="prev" | safe, lang=lang) }}{% else %} Prev {%- endif -%}</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="page-item page-numbers">
|
||||
{{ paginator.current_index }} of {{ paginator.number_pagers }}
|
||||
{{ paginator.current_index }} {%- if lang != config.default_language %} {{ trans(key="of" | safe, lang=lang) }}{% else %} of {%- endif %} {{ paginator.number_pagers }}
|
||||
</li>
|
||||
|
||||
{% if paginator.next %}
|
||||
<li class="page-item page-next">
|
||||
<a href="{{ paginator.next }}" class="page-link" aria-label="Next page">Next →</a>
|
||||
<a href="{{ paginator.next }}" class="page-link" aria-label="{%- if lang != config.default_language %} {{ trans(key="next" | safe, lang=lang) }}{% else %} Next {%- endif -%}">{%- if lang != config.default_language %} {{ trans(key="next" | safe, lang=lang) }}{% else %} Next {%- endif %} →</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item page-next">
|
||||
<span class="page-link disabled" aria-disabled="true" aria-label="Next page (disabled)">Next →</span>
|
||||
<span class="page-link disabled" aria-disabled="true" aria-label="{%- if lang != config.default_language %} {{ trans(key="next" | safe, lang=lang) }}{% else %} Next {%- endif -%} (disabled)">{%- if lang != config.default_language %} {{ trans(key="next" | safe, lang=lang) }}{% else %} Next {%- endif %} →</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
@@ -5,7 +5,14 @@
|
||||
{%- set custom_separator = config.extra.separator | default(value="•") -%}
|
||||
{%- set separator = " " ~ custom_separator ~ " " -%}
|
||||
|
||||
{%- if current_path and current_path == "/" -%}
|
||||
{# Get the base path for the current language. #}
|
||||
{%- if lang != config.default_language %}
|
||||
{%- set base_path = "/" ~ lang ~ "/" %}
|
||||
{%- else -%}
|
||||
{%- set base_path = "/" %}
|
||||
{%- endif %}
|
||||
|
||||
{%- if current_path and current_path == base_path -%}
|
||||
{%- set suffix = "" -%}
|
||||
{%- set separator = "" -%}
|
||||
{% elif title %}
|
||||
@@ -19,9 +26,13 @@
|
||||
{%- set suffix = term.name -%}
|
||||
{% elif taxonomy.name %}
|
||||
{# List of tags. #}
|
||||
{%- set suffix = taxonomy.name | capitalize -%}
|
||||
{%- if lang != config.default_language -%}
|
||||
{%- set suffix = trans(key=taxonomy.name | safe, lang=lang) | capitalize -%}
|
||||
{% else %}
|
||||
{%- set suffix = taxonomy.name | capitalize -%}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{%- set suffix = "Lost?" %}
|
||||
{%- set suffix = "404" %}
|
||||
{%- endif -%}
|
||||
|
||||
{# Return the final concatenated string. #}
|
||||
|
Reference in New Issue
Block a user