Skip to content
Snippets Groups Projects
Commit 1f663aa6 authored by magicfelix's avatar magicfelix
Browse files

Internationalize template

parent 3a348194
No related branches found
No related tags found
1 merge request!89Resolve "Internationalize template"
Pipeline #195708 passed
Showing
with 176 additions and 44 deletions
......@@ -104,3 +104,117 @@ link = "https://bildung.social/@Teckids"
icon = "fa-brands fa-git"
rel = "me"
link = "https://edugit.org/Teckids/"
[languages.en]
description = "A comprehensible (digital) world – together, for everyone."
taxonomies = [
{ name = "projekt", render = false, feed = true },
{ name = "zielgruppe", render = false, feed = true },
{ name = "aspekt", render = false, feed = false },
{ name = "produkt", render = false, feed = false },
{ name = "tags", render = false },
]
[languages.en.translations]
impressum = "Imprint"
not_found_header = "Page not found (404)"
not_found_body = "The requested page can not be found."
published_on = "Published on"
word_count = "Number of words"
words = "words"
reading_time = "Reading time"
minutes_short = "min"
further_related_posts = "Further related posts"
related_blog_posts = "Teckids blog posts on this topic"
teckids_blog_posts = "Teckids blog posts"
teckids_blog_page = "Teckids blog – page"
pages_of = "of"
previous_page = "Previous"
next_page = "Next"
page = "Page"
more_teckids_blog_posts = "More Teckids blog posts"
donation_account = "Bank account for donations"
supporters_partners = "Supporters and partners"
further = "Further information"
channels_networks = "Channels and Networks"
licensed_under = "Licensed under"
created_using = "Created using"
and = "and"
or = "or"
this_page_can = "This page can"
edited_on_edugit = "be edited on EduGit"
improvement_suggestion = "an improvement can be suggested"
upcoming_events = "Upcoming events"
projects = "Projects"
our_projects = "Our projects"
information_for = "Information for …"
teckids_community = "Teckids community"
page_missing = "This page is not yet finished"
page_missing_explanation = "Due to the creation of our new website being elaborate, the information on this page unfortunately is not complete."
event_cost_explanation = """It's important to us that everyone interested can take part in Hack’n’Sun.
We are aware that our prices are high for some families for any reason. If this is the case for you, please mail us the amount you want to pay. There's no need to tell us why."""
event_fully_booked = "The event is fully booked. For further registrations or a waiting list, one can contact us via e-mail."
event_info_registration = "All information and registration"
write_email = "Write an e-mail"
call_us = "Call us"
wiki = "Wiki"
wiki_subtitle = "Informationen and assistance in the Teckids wiki"
forum = "Forum"
forum_subtitle = "Questions and discussions in the Teckids forum"
chat = "Chat"
chat_subtitle = "Chat about it"
help_platforms = "Information about and assistance in using our platforms"
[translations]
impressum = "Imprint"
not_found_header = "Seite nicht gefunden (404)"
not_found_body = "Die gesuchte Seite wurde leider nicht gefunden."
published_on = "Veröffentlicht am"
word_count = "Anzahl Wörter"
words = "Wörter"
reading_time = "Lesezeit"
minutes_short = "min"
further_related_posts = "Weitere Posts dazu"
related_blog_posts = "Verwandte Posts aus dem Teckids-Blog"
teckids_blog_posts = "Aus dem Teckids-Blog"
teckids_blog_page = "Teckids-Blog – Seite"
pages_of = "von"
previous_page = "Vorherige"
next_page = "Nächste"
page = "Seite"
more_teckids_blog_posts = "Mehr aus dem Teckids-Blog"
donation_account = "Spendenkonto"
supporters_partners = "Unterstützer und Partner*innen"
further = "Weiteres"
channels_networks = "Kanäle und Netzwerke"
licensed_under = "Lizensiert unter"
created_using = "Erstellt mit"
and = "und"
or = "oder"
this_page_can = "Diese Seite kann"
edited_on_edugit = "auf EduGit editiert werden"
improvement_suggestion = "eine Verbesserung vorgeschlagen werden"
upcoming_events = "Nächste Veranstaltungen"
projects = "Projekte"
our_projects = "Unsere Projekte"
information_for = "Informationen für …"
teckids_community = "Teckids-Gemeinschaft"
page_missing = "Diese Seite fehlt leider noch"
page_missing_explanation = "Da der Aufbau unserer neuen Website sehr aufwändig ist, sind die Informationen auf dieser Seite leider noch nicht vollständig."
event_cost_explanation = """Uns ist wichtig, dass alle Interessierten an unserer Freizeit teilnehmen können.
Uns ist bewusst, dass die Kosten für viele Familien sehr hoch sind, ganz egal
aus welchen Gründen. Sollte der Betrag zu hoch sein, schickt uns bitte einfach
eine E-Mail mit eurem Wunschbetrag. Die Gründe dafür müsst ihr nicht nennen."""
event_fully_booked = "Die Veranstaltung ist ausgebucht. Für weitere Anmeldungen oder Plätze auf der Warteliste können uns Interessierte per E-Mail kontaktieren."
event_info_registration = "Alle Infos und Anmeldung"
write_email = "E-Mail schreiben"
call_us = "Anrufen"
wiki = "Wiki"
wiki_subtitle = "Informationen und Handreichungen im Teckids-Wiki"
forum = "Forum"
forum_subtitle = "Fragen und Diskussion im Teckids-Forum"
chat = "Chat"
chat_subtitle = "Darüber reden im Chat"
help_platforms = "Informationen und Hilfe zu unseren Plattformen"
+++
[extra]
claims = []
+++
+++
title = "Teckids blog"
template = "blog/overview.html"
page_template = "blog/post.html"
sort_by = "date"
paginate_by = 15
generate_feeds = true
+++
+++
+++
+++
+++
......@@ -5,11 +5,11 @@
<div class="container">
<div class="message is-danger">
<div class="message-header">
<p>Seite nicht gefunden (404)</p>
<a class="button delete" href="{{ get_url(path="@/_index.md") }}"></a>
<p>{{ trans(key="not_found_header", lang=lang) }}</p>
<a class="button delete" href="{{ get_url(path="@/_index.md", lang=lang) }}"></a>
</div>
<div class="message-body">
Die gesuchte Seite wurde leider nicht gefunden.
{{ trans(key="not_found_body", lang=lang) }}
</div>
</div>
</div>
......
......@@ -12,7 +12,7 @@
{% block meta %}
<meta name="description" content="{{ thing.description | default(value=config.description) }}" />
<link rel="alternate" type="application/atom+xml" href="{{ get_url(path="atom.xml", trailing_slash=false) }}" />
<link rel="alternate" type="application/atom+xml" href="{{ get_url(path="atom.xml", trailing_slash=false, lang=lang) }}" />
{% endblock %}
{% block meta_extra %}{% endblock %}
......@@ -25,7 +25,7 @@
<meta property="og:type" content="{% block og_type %}{{ thing.extra.og.type | default(value='article') }}{% endblock og_type %}" />
<meta property="og:url" content="{% block og_url %}{{ thing.permalink | safe }}{% endblock og_url %}" />
{% if thing.extra.depiction %}
<meta property="og:image" content="{{ get_url(path="@/" ~ thing.relative_path, trailing_slash=true) }}{{ thing.extra.depiction.image | safe }}" /> <meta property="og:image:alt" content="{{ thing.extra.depiction.alt }}" />
<meta property="og:image" content="{{ get_url(path="@/" ~ thing.relative_path, trailing_slash=true, lang=lang) }}{{ thing.extra.depiction.image | safe }}" /> <meta property="og:image:alt" content="{{ thing.extra.depiction.alt }}" />
{% elif config.extra.og.image %}
<meta property="og:image" content="{{ get_url(path=config.extra.og.image.url) }}" />
<meta property="og:image:alt" content="{{ config.extra.og.image.alt }}" />
......
<p class="subtitle is-7 py-2">
<span title="Veröffentlicht am"><i class="fa-solid fa-calendar-days"></i> <time datetime="{{ post.date }}" property="schema:datePublished">{{ post.date }}</time></span> ·
<span title="Anzahl Wörter"><i class="fa-solid fa-ruler"></i> <span property="schema:wordCount">{{ post.word_count }} Wörter</span></span> ·
<span title="Lesezeit"><i class="fa-solid fa-hourglass-start"></i> {{ post.reading_time }} min</span>
<span title="{{ trans(key="published_on", lang=lang) }}"><i class="fa-solid fa-calendar-days"></i> <time datetime="{{ post.date }}" property="schema:datePublished">{{ post.date }}</time></span> ·
<span title="{{ trans(key="word_count", lang=lang) }}"><i class="fa-solid fa-ruler"></i> <span property="schema:wordCount">{{ post.word_count }} {{ trans(key="words", lang=lang) }}</span></span> ·
<span title="{{ trans(key="reading_time", lang=lang) }}"><i class="fa-solid fa-hourglass-start"></i> {{ post.reading_time }} {{ trans(key="minutes_short", lang=lang) }}</span>
</p>
......@@ -3,17 +3,17 @@
{% block rdfa_type %}schema:Blog{% endblock %}
{% block main %}
{% set title = "Teckids-Blog – Seite " ~ paginator.current_index ~ " von " ~ paginator.number_pagers %}
{% set title = trans(key="teckids_blog_page", lang=lang) ~ paginator.current_index ~ " " ~ trans(key="pages_of", lang=lang) ~ " " ~ paginator.number_pagers %}
{% set posts = paginator.pages %}
{% set count = paginator.paginate_by %}
{% include "blog/section.html" %}
{% if paginator.number_pagers > 1 %}
<nav class="pagination is-centered section" role="navigation" aria-label="pagination">
<a href="{{ paginator.previous }}" class="pagination-previous">Vorherige</a>
<a href="{{ paginator.next }}" class="pagination-next">Nächste</a>
<a href="{{ paginator.previous }}" class="pagination-previous">{{ trans(key="previous_page", lang=lang) }}</a>
<a href="{{ paginator.next }}" class="pagination-next">{{ trans(key="next_page", lang=lang) }}</a>
<ul class="pagination-list">
<li><a href="{{ paginator.first }}" class="pagination-link {% if paginator.current_index == 1 %}is-current{% endif %}" aria-label="Seite 1">1</a></li>
<li><a href="{{ paginator.first }}" class="pagination-link {% if paginator.current_index == 1 %}is-current{% endif %}" aria-label="{{ trans(key="page", lang=lang) }} 1">1</a></li>
{% set range_start = paginator.current_index - 3 %}
{% if range_start < 2 %}{% set range_start = 2 %}{% endif %}
{% set range_end = paginator.current_index + 3 %}
......@@ -22,12 +22,12 @@
<li><span class="pagination-ellipsis">&hellip;</span></li>
{% endif %}
{% for pn in range(start=range_start, end=range_end + 1) %}
<li><a href="{{ paginator.base_url ~ pn ~ "/" }}" class="pagination-link {% if pn == paginator.current_index %}is-current{% endif %}" aria-label="Seite {{ pn }}">{{ pn }}</a></li>
<li><a href="{{ paginator.base_url ~ pn ~ "/" }}" class="pagination-link {% if pn == paginator.current_index %}is-current{% endif %}" aria-label="{{ trans(key="page", lang=lang) }}" {{ pn }}">{{ pn }}</a></li>
{% endfor %}
{% if range_end < paginator.number_pagers - 1 %}
<li><span class="pagination-ellipsis">&hellip;</span></li>
{% endif %}
<li><a href="{{ paginator.last }}" class="pagination-link {% if paginator.current_index == paginator.number_pagers %}is-current{% endif %}" aria-label="Seite {{ paginator.number_pagers }}">{{ paginator.number_pagers }}</a></li>
<li><a href="{{ paginator.last }}" class="pagination-link {% if paginator.current_index == paginator.number_pagers %}is-current{% endif %}" aria-label="{{ trans(key="page", lang=lang) }}" {{ paginator.number_pagers }}">{{ paginator.number_pagers }}</a></li>
</ul>
</nav>
{% endif %}
......
......@@ -10,7 +10,7 @@
{% endblock %}
{% block content %}
{% set blog_section = get_section(path="blog/_index.md") %}
{% set blog_section = get_section(path="blog/_index.md", lang=lang) %}
{% set post = page -%}
<div class="columns mt-4">
<meta property="schema:isPartOf" href="{{ blog_section.permalink }}" />
......@@ -45,10 +45,10 @@
</div>
</div>
<nav class="panel is-light mt-6">
<p class="panel-heading">Weitere Posts dazu</p>
<p class="panel-heading">{{ trans(key="further_related_posts", lang=lang) }}</p>
{% for kind, terms in page.taxonomies %}
{% for term in terms %}
{% set taxonomy = get_taxonomy_term(kind=kind, term=term) %}
{% set taxonomy = get_taxonomy_term(kind=kind, term=term, lang=lang) %}
{% set posts = taxonomy.pages | filter(attribute="date") %}
{% if posts %}
<p class="panel-block subtitle is-7">{{ kind | title }}: {{ term }}</p>
......
{% set main_blog_section = get_section(path="blog/_index.md") %}
{% set main_blog_section = get_section(path="blog/_index.md", lang=lang) %}
{% if not posts is defined %}
{% set posts = main_blog_section.pages %}
{% endif %}
<section class="section" resource="{{ main_blog_section.permalink }}" typeof="schema:Blog">
<meta property="schema:publisher" href="https://teckids.org/" />
<div class="container">
<h2 class="title is-2">{{ title | default(value="Aus dem Teckids-Blog") }}</h2>
<h2 class="title is-2">{{ title | default(value=trans(key="teckids_blog_posts", lang=lang)) }}</h2>
<div class="columns is-multiline is-same-height mt-4">
{% for post in posts | slice(end=count|default(value=6)) %}
<div class="column is-one-third">
......
......@@ -11,12 +11,12 @@
<span property="schema:addressLocality">{{config.extra.footer.address.city|safe}}</span>
</address>
<aside class="mt-5">
<p class="title is-6">Spendenkonto</p>
<p class="title is-6">{{ trans(key="donation_account", lang=lang) }}</p>
<p>{{config.extra.footer.bank|safe}}</p>
</aside>
</div>
<div class="column is-half">
<p class="title is-5">Unterstützer und Partner*innen</p>
<p class="title is-5">{{ trans(key="supporters_partners", lang=lang) }}</p>
<div class="columns is-centered is-vcentered is-multiline">
{% for sponsor in config.extra.footer.sponsor %}
<div class="column is-one-quarter" property="schema:sponsor" typeof="schema:Organization">
......@@ -31,7 +31,7 @@
</div>
</div>
<div class="column is-onw-fourth">
<p class="title is-5">Weiteres</p>
<p class="title is-5">{{ trans(key="further", lang=lang) }}</p>
<aside class="menu">
{% for menu in config.extra.footer.menu %}
<p class="menu-label">{{menu.label}}</p>
......@@ -42,7 +42,7 @@
</ul>
{% endfor %}
</aside>
<p class="title is-5 mt-5">Kanäle und Netzwerke</p>
<p class="title is-5 mt-5">{{ trans(key="channels_networks", lang=lang) }}</p>
<aside class="columns is-centered is-vcentered is-multiline is-mobile">
{% for social in config.extra.footer.social %}
<div class="column is-one-third">
......@@ -55,7 +55,7 @@
</div>
</div>
<aside class="section has-text-centered is-size-7">
© {{ config.author }} · Lizenziert unter <a property="schema:license" href="{{ config.extra.footer.license.url }}">{{ config.extra.footer.license.name }}</a><br/>
Erstellt mit <a href="https://www.getzola.org/">Zola</a> und <a href="https://bulma.io/">Bulma</a><br/>
{% if thing.path %}Diese Seite kann <a href="{{ config.extra.repo.web.tree }}/{{ thing.relative_path }}">auf EduGit editiert werden</a> oder <a href="{{ config.extra.repo.web.issues }}">eine Verbesserung vorgeschlagen werden</a>.<br/>{% endif %}
© {{ config.author }} · {{ trans(key="licensed_under", lang=lang) }} <a property="schema:license" href="{{ config.extra.footer.license.url }}">{{ config.extra.footer.license.name }}</a><br/>
{{ trans(key="created_using", lang=lang) }} <a href="https://www.getzola.org/">Zola</a> {{ trans(key="and", lang=lang) }} <a href="https://bulma.io/">Bulma</a><br/>
{% if thing.path %}{{ trans(key="this_page_can", lang=lang) }} <a href="{{ config.extra.repo.web.tree }}/{{ thing.relative_path }}">{{ trans(key="edited_on_edugit", lang=lang) }}</a> {{ trans(key="or", lang=lang) }} <a href="{{ config.extra.repo.web.issues }}">{{ trans(key="improvement_suggestion", lang=lang) }}</a>.<br/>{% endif %}
</aside>
{% set blog_section = get_section(path="blog/_index.md") %}
{% set blog_section = get_section(path="blog/_index.md", lang=lang) %}
{% set count = 3 %}
{% include "blog/section.html" %}
<nav class="section pt-0">
<div class="container">
<a href="{{ get_url(path="@/blog/_index.md") }}" class="button is-large is-fullwidth is-link is-rounded">
Mehr aus dem Teckids-Blog
<a href="{{ get_url(path="@/blog/_index.md", lang=lang) }}" class="button is-large is-fullwidth is-link is-rounded">
{{ trans(key="more_teckids_blog_posts", lang=lang) }}
</a>
</div>
</nav>
......@@ -23,7 +23,7 @@
</div>
<footer class="card-footer">
{% for link in claim.links %}
<a href="{{ get_url(path=link.url) }}" class="card-footer-item">
<a href="{{ get_url(path=link.url, lang=lang) }}" class="card-footer-item">
<span class="icon-text">
<span>{{ link.title }}</span>
<span class="icon"><i class="fa-solid fa-arrow-right"></i></span>
......
{# FIXME generate dynamically #}
{% set title = "Nächste Veranstaltungen" %}
{% set title = trans(key="upcoming_events", lang=lang) %}
{% set slug = "hacknsun-2025-bn" %}
{% include "shortcodes/event_section.html" %}
{% set projects_section = get_section(path="projekte/_index.md") %}
{% set projects_section = get_section(path="projekte/_index.md", lang=lang) %}
<section class="section" resource="https://teckids.org/">
<div class="container">
<h2 class="title is-2">Unsere Projekte</h2>
<h2 class="title is-2">{{ trans(key="our_projects", lang=lang) }}</h2>
<div class="columns is-same-height mt-4">
{% for project_section_path in projects_section.subsections %}
{% set project_section = get_section(path=project_section_path) %}
{% set project_section = get_section(path=project_section_path, lang=lang) %}
<div class="column is-one-third" property="schema:brand" resource="{{ project_section.permalink }}" typeof="schema:Brand">
<div class="card is-shadowless">
<div class="card-image">
......
<nav class="navbar is-fixed-top is-boxed" role="navigation" aria-label="main navigation" id="main-navbar">
<input type="checkbox" id="burger-toggle" role="button" class="navbar-toggle" aria-label="menu" aria-expanded="false" data-target="main-menu" />
<div class="navbar-brand">
<a href="{{ get_url(path="@/_index.md") }}" class="navbar-item">
<a href="{{ get_url(path="@/_index.md", lang=lang) }}" class="navbar-item">
<figure class="image" id="navbar-logo">
<img src="{{ get_url(path="artwork/logo-teckids-orange.svg") }}" alt="Logo Teckids" />
</figure>
......@@ -18,28 +18,28 @@
<div class="navbar-menu" id="main-menu">
<div class="navbar-start">
<div class="navbar-item has-dropdown is-hoverable is-mega">
<a href="#" class="navbar-item">Projekte</a>
<a href="#" class="navbar-item">{{ trans(key="projects", lang=lang) }}</a>
<div class="navbar-dropdown is-boxed">
{% include "menu/projects.html" %}
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable is-mega">
<a href="#" class="navbar-item">Informationen für…</a>
<a href="#" class="navbar-item">{{ trans(key="information_for", lang=lang) }}</a>
<div class="navbar-dropdown is-boxed">
{% include "menu/infos.html" %}
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a href="#" class="navbar-item">Teckids-Gemeinschaft</a>
<a href="#" class="navbar-item">{{ trans(key="teckids_community", lang=lang) }}</a>
<div class="navbar-dropdown is-boxed">
{% include "menu/gemeinschaft.html" %}
</div>
</div>
{% for item in config.extra.main_menu_item %}
<a href="{{ get_url(path=item.path) }}" class="navbar-item is-hoverable">{{ item.title }}</a>
<a href="{{ get_url(path=item.path, lang=lang) }}" class="navbar-item is-hoverable">{{ item.title }}</a>
{% endfor %}
</div>
</div>
......
{% set gemeinschaft_section = get_section(path="gemeinschaft/_index.md") %}
{% set gemeinschaft_section = get_section(path="gemeinschaft/_index.md", lang=lang) %}
<div class="container is-fluid">
<div class="columns">
{% for gemeinschaft_section_path in gemeinschaft_section.subsections %}
{% set gemeinschaft_subsection = get_section(path=gemeinschaft_section_path) %}
{% set gemeinschaft_subsection = get_section(path=gemeinschaft_section_path, lang=lang) %}
<section class="column">
<div class="card p-0 m-0 is-shadowless is-radiusless is-overlay is-flex is-flex-direction-column is-fullheight is-justify-content-space-between">
<div class="card-content p-0 m-0">
......
{% set zielgruppen = get_taxonomy(kind = "zielgruppe") %}
{% set zielgruppen = get_taxonomy(kind = "zielgruppe", lang=lang) %}
<div class="container is-fluid">
<div class="columns">
......
{% set projects_section = get_section(path="projekte/_index.md") %}
{% set projects_section = get_section(path="projekte/_index.md", lang=lang) %}
<div class="container is-fluid">
<div class="columns">
{% for project_section_path in projects_section.subsections %}
{% set project_section = get_section(path=project_section_path) %}
{% set project_section = get_section(path=project_section_path, lang=lang) %}
<section class="column menu-project-section" id="menu-project-section-{{ project_section.components[1] }}">
<div class="card p-0 m-0 is-shadowless is-radiusless is-overlay is-flex is-flex-direction-column is-fullheight is-justify-content-space-between">
<div class="card-content p-0 m-0">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment