Team-Personendaten (role/bio/bioHtml/intro/quote) jetzt mehrsprachig

Bisher waren role/bio/bioHtml/intro/quote in data-scouts.js und
data-modis.js reine deutsche Strings — dadurch blieben z.B. Zitate
("Ein Mann, ein Wort.") und Kurzrollen auch bei gewählter Fremdsprache
Deutsch (siehe Screenshot-Hinweis: team-scouts.html in EN zeigte noch
deutsches Zitat).

- main.js: neuer window.dogiFeld()-Helper löst mehrsprachige Feld-Objekte
  { de, "de-CH", en, fr, pt } auf (rückwärtskompatibel zu reinen Strings).
- data-scouts.js: role (Patrick, Bananenstift) + bio (Patrick) + intro/
  bioHtml/quote (Bananenstift) vollständig in allen 5 Sprachen.
- data-modis.js: role (alle 7) + bio (VanVan/Funny/Marina/Michi) +
  bioHtml (Diene/Miss/Ghost) + rankLabel (Ghost) vollständig in allen
  5 Sprachen. Lange bioHtml-Texte von unabhängigen Übersetzer-Agenten
  erstellt, idiomatisch statt wörtlich.
- team-scouts.html, team-modis.html, index.html (Team-Vorschau),
  profil.html: Rendering nutzt jetzt durchgängig dogiFeld() und rendert
  bei Sprachwechsel (dogi-sprache-geaendert) neu — team-modis.html und
  die Team-Vorschau auf index.html haben vorher GAR NICHT auf Sprach-
  wechsel reagiert, das ist jetzt behoben. "Stufe"/"Profil ansehen" auf
  team-modis.html liefen bisher hart kodiert Deutsch, jetzt über
  i18n-team-modis.js.
This commit is contained in:
2026-08-02 11:29:47 +02:00
parent 95969c001c
commit 2eb9fc6897
8 changed files with 541 additions and 81 deletions
+9 -4
View File
@@ -57,15 +57,20 @@ document.addEventListener("DOMContentLoaded", () => {
const t = (schluessel) => (window.dogiUebersetzen ? window.dogiUebersetzen(schluessel) : schluessel);
const feld = (x) => (window.dogiFeld ? window.dogiFeld(x) : x || "");
const renderScouts = () => {
grid.innerHTML = window.SCOUTS.map((s) => `
grid.innerHTML = window.SCOUTS.map((s) => {
const quoteText = feld(s.quote);
return `
<a class="profile-card" href="profil.html?p=${s.slug}">
<div class="avatar">${(s.avatar || s.photo) ? `<img src="${s.avatar || s.photo}" alt="${s.name}" loading="lazy">` : `<span class="avatar-initial">${s.name.charAt(0).toUpperCase()}</span>`}</div>
<h3>${s.name}</h3>
<div class="role">${s.role}</div>
${s.quote ? `<p class="quote">„${s.quote}"</p>` : `<p class="small muted">${t("ts_zitat_folgt")}</p>`}
<div class="role">${feld(s.role)}</div>
${quoteText ? `<p class="quote">„${quoteText}"</p>` : `<p class="small muted">${t("ts_zitat_folgt")}</p>`}
<span class="btn btn-outline" style="margin-top:.7rem;pointer-events:none;">${t("ts_profil_ansehen")}</span>
</a>`).join("");
</a>`;
}).join("");
};
renderScouts();
document.addEventListener("dogi-sprache-geaendert", renderScouts);