🌐 feat(i18n): overhaul translation system & add languages (#145)
Revamp the existing translation system, simplifying
management and adding several new languages. The new system reads from
TOML files in the `/i18n` directory and improves template structures.
It also enhances customisation options and robustness by providing
fallbacks and modularity.
- Implement a new, streamlined translation macro.
- Load translations from `/i18n` TOML files.
- Remove redundant configuration requirements.
- Refactor templates to align with new i18n system.
- Add support for Hindi, Japanese, Russian, Portuguese, Chinese,
Italian, German, Ukranian, Korean, and French languages.
- Credit Thomas Weitzel (@thomasweitzel) for inspiration.
1 year ago
|
|
|
{%- macro set_title(language_strings="") -%}
|
|
|
|
|
|
|
|
{# Setup. #}
|
|
|
|
{%- set prefix = config.title | safe -%}
|
|
|
|
{%- set custom_separator = config.extra.separator | default(value="•") -%}
|
|
|
|
{%- set separator = " " ~ custom_separator ~ " " -%}
|
|
|
|
|
|
|
|
{# 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 %}
|
|
|
|
{%- set suffix = title -%}
|
|
|
|
{% elif section.title -%}
|
|
|
|
{%- set suffix = section.title -%}
|
|
|
|
{% elif page.title %}
|
|
|
|
{%- set suffix = page.title -%}
|
|
|
|
{% elif term.name %}
|
|
|
|
{# Individual tags. #}
|
|
|
|
{%- set suffix = term.name -%}
|
|
|
|
{% elif taxonomy.name %}
|
|
|
|
{# List of tags. #}
|
🌐 feat(i18n): overhaul translation system & add languages (#145)
Revamp the existing translation system, simplifying
management and adding several new languages. The new system reads from
TOML files in the `/i18n` directory and improves template structures.
It also enhances customisation options and robustness by providing
fallbacks and modularity.
- Implement a new, streamlined translation macro.
- Load translations from `/i18n` TOML files.
- Remove redundant configuration requirements.
- Refactor templates to align with new i18n system.
- Add support for Hindi, Japanese, Russian, Portuguese, Chinese,
Italian, German, Ukranian, Korean, and French languages.
- Credit Thomas Weitzel (@thomasweitzel) for inspiration.
1 year ago
|
|
|
{%- set suffix = macros_translate::translate(key=taxonomy.name, language_strings=language_strings) | capitalize -%}
|
|
|
|
{% else %}
|
|
|
|
{%- set suffix = "404" %}
|
|
|
|
{%- endif -%}
|
|
|
|
|
|
|
|
{# Return the final concatenated string. #}
|
|
|
|
{%- if config.extra.invert_title_order -%}
|
|
|
|
{{- suffix ~ separator ~ prefix -}}
|
|
|
|
{%- else -%}
|
|
|
|
{{- prefix ~ separator ~ suffix -}}
|
|
|
|
{%- endif -%}
|
|
|
|
|
|
|
|
{%- endmacro set_title -%}
|