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
+11 -6
View File
@@ -336,17 +336,22 @@ document.addEventListener("DOMContentLoaded", () => {
// Team-Vorschau: VanVan zuerst, dann die nächsten nach Rang, plus 1-2 Scouts
const teamPreview = document.getElementById("team-preview");
if (teamPreview && window.MODIS) {
const feld = (x) => (window.dogiFeld ? window.dogiFeld(x) : x || "");
const people = [...window.MODIS].sort((a, b) => a.rank - b.rank).slice(0, 4);
teamPreview.innerHTML = people
.map(
(p) => `
const renderTeamPreview = () => {
teamPreview.innerHTML = people
.map(
(p) => `
<a class="profile-card" href="${p.page || `profil.html?p=${p.slug}`}">
<div class="avatar">${(p.avatar || p.photo) ? `<img src="${p.avatar || p.photo}" alt="${p.name}" loading="lazy">` : `<span class="avatar-initial">${p.name.charAt(0).toUpperCase()}</span>`}</div>
<h3>${p.name}</h3>
<div class="role">${p.role}</div>
<div class="role">${feld(p.role)}</div>
</a>`
)
.join("");
)
.join("");
};
renderTeamPreview();
document.addEventListener("dogi-sprache-geaendert", renderTeamPreview);
}
// Aktionen-Teaser: die ersten 3 Einträge aus data-aktionen.js