i18n: aktion-detail, community, creator, kontakt, links — alle 5 Sprachen
Vollständige data-i18n-Abdeckung + Wörterbücher (de, de-CH echter Dialekt, en, fr, pt) für die ersten 5 der ~22 noch fehlenden Seiten.
This commit is contained in:
+26
-8
@@ -28,28 +28,29 @@
|
||||
<main>
|
||||
<section class="hero">
|
||||
<div class="container">
|
||||
<span class="eyebrow">Aktionen & Projekte</span>
|
||||
<h1 id="aktion-title">Aktion wird geladen …</h1>
|
||||
<span class="eyebrow" data-i18n="ad_eyebrow">Aktionen & Projekte</span>
|
||||
<h1 id="aktion-title" data-i18n="ad_loading">Aktion wird geladen …</h1>
|
||||
<p class="lead worlds" id="aktion-summary"></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section-tight">
|
||||
<div class="container grid grid-2" style="align-items:center;">
|
||||
<div class="img-placeholder" id="aktion-photo" style="aspect-ratio:4/3;">Foto folgt</div>
|
||||
<div class="img-placeholder" id="aktion-photo" style="aspect-ratio:4/3;" data-i18n="ad_foto_placeholder">Foto folgt</div>
|
||||
<div id="aktion-body"></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<div class="container text-center">
|
||||
<a class="btn btn-outline" id="aktion-back" href="medien-dogfather.html#events">← Zurück zu allen Events</a>
|
||||
<a class="btn btn-outline" id="aktion-back" data-i18n="ad_back" href="medien-dogfather.html#events">← Zurück zu allen Events</a>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-aktionen.js"></script>
|
||||
<script src="assets/js/i18n-aktion-detail.js"></script>
|
||||
<script src="assets/js/main.js"></script>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
@@ -63,10 +64,20 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
const photoEl = document.getElementById("aktion-photo");
|
||||
const backEl = document.getElementById("aktion-back");
|
||||
|
||||
const t = (schluessel) => (window.dogiUebersetzen ? window.dogiUebersetzen(schluessel) : schluessel);
|
||||
|
||||
if (!aktion) {
|
||||
titleEl.textContent = "Aktion nicht gefunden";
|
||||
summaryEl.textContent = "Diese Aktion existiert nicht (mehr) oder wurde noch nicht angelegt.";
|
||||
bodyEl.innerHTML = `<p>Bitte über <a href="medien-dogfather.html#events">alle Events</a> zurückgehen.</p>`;
|
||||
// Diese Aktion existiert nicht — Texte kommen (auch bei Sprachwechsel)
|
||||
// aus dem seiteneigenen i18n-Wörterbuch statt aus data-i18n, weil sie
|
||||
// per JS gesetzt werden.
|
||||
titleEl.removeAttribute("data-i18n");
|
||||
const renderNichtGefunden = () => {
|
||||
titleEl.textContent = t("ad_notfound_title");
|
||||
summaryEl.textContent = t("ad_notfound_summary");
|
||||
bodyEl.innerHTML = `<p>${t("ad_notfound_body")}</p>`;
|
||||
};
|
||||
renderNichtGefunden();
|
||||
document.addEventListener("dogi-sprache-geaendert", renderNichtGefunden);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -75,6 +86,10 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
const welt = ["dogfather", "hasidog", "casper"].includes(aktion.welt) ? aktion.welt : "dogfather";
|
||||
if (backEl) backEl.href = `medien-${welt}.html#events`;
|
||||
|
||||
// Titel/Zusammenfassung kommen aus data-aktionen.js (nicht Teil dieser
|
||||
// i18n-Aufgabe) — data-i18n-Attribut entfernen, damit ein Sprachwechsel
|
||||
// den geladenen Titel nicht wieder mit dem Lade-Platzhalter überschreibt.
|
||||
titleEl.removeAttribute("data-i18n");
|
||||
titleEl.textContent = aktion.title;
|
||||
summaryEl.textContent = aktion.summary;
|
||||
bodyEl.innerHTML = `
|
||||
@@ -84,7 +99,10 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
if (aktion.photo) {
|
||||
photoEl.outerHTML = `<img src="${aktion.photo}" alt="${aktion.title}" style="border-radius:var(--radius);" />`;
|
||||
} else {
|
||||
photoEl.innerHTML = `Foto folgt in Kürze`;
|
||||
photoEl.removeAttribute("data-i18n");
|
||||
const renderFotoKuerze = () => { photoEl.innerHTML = t("ad_foto_kurze"); };
|
||||
renderFotoKuerze();
|
||||
document.addEventListener("dogi-sprache-geaendert", renderFotoKuerze);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user