diff options
| author | Jieiku | 2023-09-26 18:46:53 -0700 |
|---|---|---|
| committer | Jieiku | 2023-09-26 18:46:53 -0700 |
| commit | f5d32f6032ea172d0f1076b1fa04c96c9205285b (patch) | |
| tree | cb87b51826639c73a9f2055b011445819329263a /templates/macros/macros.html | |
| parent | 0e3727b97a6297ac9cdbbf3753a301c182e356d6 (diff) | |
| download | abridge-f5d32f6032ea172d0f1076b1fa04c96c9205285b.tar.gz abridge-f5d32f6032ea172d0f1076b1fa04c96c9205285b.tar.bz2 abridge-f5d32f6032ea172d0f1076b1fa04c96c9205285b.zip | |
i18n translation system refactor
Diffstat (limited to 'templates/macros/macros.html')
| -rw-r--r-- | templates/macros/macros.html | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/templates/macros/macros.html b/templates/macros/macros.html index d5ea391..d0ce1a0 100644 --- a/templates/macros/macros.html +++ b/templates/macros/macros.html @@ -1,3 +1,7 @@ +{%- macro translate(key, i18n="", default="") %} +{{- i18n[key] | default(value=default) | safe -}} +{%- endmacro %} + {%- macro page_listing(page, config) %} {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} {%- if config.extra.offline %}{% set uglyurls = true %}{% endif %} @@ -7,6 +11,15 @@ {%- endmacro page_listing %} +{%- macro series_link(inner, page) %} + {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} + {%- if inner.content == page.content %} + <li><a href="{{ inner.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}"><b>{{ inner.title }}</b></a></li> + {% else %} + <li><a href="{{ inner.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}">{{ inner.title }}</a></li> + {%- endif %} +{%- endmacro %} + {%- macro title_post(page, config) %} {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} @@ -17,6 +30,10 @@ {%- macro meta_post(page, config) %} +{# Load current language i18n data from .toml files in user's '/i18n' folder, use theme as fallback. #} +{%- set i18n = load_data(path="i18n/" ~ lang ~ '.toml', required=false) -%} +{%- if not i18n -%}{%- set i18n = load_data(path="themes/abridge/i18n/" ~ lang ~ ".toml", required=false) -%}{%- endif %} + {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} {%- if config.extra.offline %}{% set uglyurls = true %}{% endif %} <span{%- if config.extra.meta_post.size %} class="{{ config.extra.meta_post.size }}"{% endif %}> @@ -55,7 +72,7 @@ {%- if config.extra.meta_post.date %} {%- if config.extra.icon_date %}<i class="{{ config.extra.icon_date }}"></i> {% endif %} {%- if config.extra.date_locale %} {%- if lang != config.default_language -%} - {%- set lang_locale = trans(key="date_locale" | safe, lang=lang) -%} + {%- set lang_locale = macros::translate(key='date_locale', default='en_US', i18n=i18n) -%} {%- else -%} {%- set lang_locale = config.extra.date_locale -%} {%- endif -%} @@ -67,10 +84,10 @@ {#- Updated #} {%- if config.extra.meta_post.updated and page.updated %} {%- if config.extra.icon_date %}<i class="{{ config.extra.icon_date }}"></i> {% endif -%} - {%- if lang != config.default_language %} {{ trans(key="Updated" | safe, lang=lang) }}{% else %} Updated{% endif %}: + {{ macros::translate(key="Updated", default="Updated", i18n=i18n) }}: {%- if config.extra.date_locale %} {%- if lang != config.default_language -%} - {%- set lang_locale = trans(key="date_locale" | safe, lang=lang) -%} + {%- set lang_locale = macros::translate(key='date_locale', default='en_US', i18n=i18n) -%} {%- else -%} {%- set lang_locale = config.extra.date_locale -%} {%- endif %} {{ page.updated | date(format="%B %d, %Y", locale=lang_locale) }} @@ -97,6 +114,9 @@ {%- macro meta_index(page, config) %} +{# Load current language i18n data from .toml files in user's '/i18n' folder, use theme as fallback. #} +{%- set i18n = load_data(path="i18n/" ~ lang ~ '.toml', required=false) -%} +{%- if not i18n -%}{%- set i18n = load_data(path="themes/abridge/i18n/" ~ lang ~ ".toml", required=false) -%}{%- endif %} {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} {%- if config.extra.offline %}{% set uglyurls = true %}{% endif %} <span{%- if config.extra.meta_index.size %} class="{{ config.extra.meta_index.size }}"{% endif %}> @@ -135,7 +155,7 @@ {%- if config.extra.meta_index.date %} {%- if config.extra.icon_date %}<i class="{{ config.extra.icon_date }}"></i> {% endif %} {%- if config.extra.date_locale %} {%- if lang != config.default_language -%} - {%- set lang_locale = trans(key="date_locale" | safe, lang=lang) -%} + {%- set lang_locale = macros::translate(key='date_locale', default='en_US', i18n=i18n) -%} {%- else -%} {%- set lang_locale = config.extra.date_locale -%} {%- endif -%} @@ -147,10 +167,10 @@ {#- Updated #} {%- if config.extra.meta_index.updated and page.updated %} {%- if config.extra.icon_date %}<i class="{{ config.extra.icon_date }}"></i> {% endif -%} - {%- if lang != config.default_language %} {{ trans(key="Updated" | safe, lang=lang) }}{% else %} Updated{% endif %}: + {{ macros::translate(key="Updated", default="Updated", i18n=i18n) }}: {%- if config.extra.date_locale %} {%- if lang != config.default_language -%} - {%- set lang_locale = trans(key="date_locale" | safe, lang=lang) -%} + {%- set lang_locale = macros::translate(key='date_locale', default='en_US', i18n=i18n) -%} {%- else -%} {%- set lang_locale = config.extra.date_locale -%} {%- endif %} {{ page.updated | date(format="%B %d, %Y", locale=lang_locale) }} @@ -297,12 +317,3 @@ </nav> {%- endif %} {%- endmacro %} - -{%- macro series_link(inner, page) %} - {%- set uglyurls = config.extra.uglyurls | default(value=false) -%} - {%- if inner.content == page.content %} - <li><a href="{{ inner.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}"><b>{{ inner.title }}</b></a></li> - {% else %} - <li><a href="{{ inner.permalink | safe }}{%- if uglyurls %}index.html{%- endif %}">{{ inner.title }}</a></li> - {%- endif %} -{%- endmacro %}
\ No newline at end of file |
