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:
+9
-4
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user