feat: i18n annotations — data-de/data-en + toggle for all 54 custom sites
Phase 2 of i18n rollout: - All 54 static custom sites now have data-de/data-en attributes on visible text elements with English translations - i18n.js script tag injected into all sites - Language toggle button with machine-translation disclaimer added to every site's footer area - Brand names / domain wordplay preserved unchanged in both languages - 2 dynamic sites (dasbes.de, dumusst.com) skipped — no static HTML
This commit is contained in:
@@ -216,17 +216,17 @@
|
||||
<div class="eggs">🥚 🐣 🥚</div>
|
||||
|
||||
<h1>oster<span class="ai">AI</span></h1>
|
||||
<p class="subtitle">Frohe Ostern — mit einer Prise KI.</p>
|
||||
<p class="subtitle" data-de="Frohe Ostern — mit einer Prise KI." data-en="Happy Easter — with a dash of AI.">Frohe Ostern — mit einer Prise KI.</p>
|
||||
|
||||
<div class="rule"></div>
|
||||
|
||||
<div class="prose">
|
||||
<p>
|
||||
<p data-de="Ostern ist das Fest der Überraschungen. Versteckte Eier, unerwartete Begegnungen, und die leise Ahnung, dass nach dem Winter <em>immer etwas Neues kommt</em>." data-en="Easter is the festival of surprises. Hidden eggs, unexpected encounters, and the quiet sense that after winter <em>something new always comes</em>.">
|
||||
Ostern ist das Fest der Überraschungen. Versteckte Eier,
|
||||
unerwartete Begegnungen, und die leise Ahnung, dass nach
|
||||
dem Winter <em>immer etwas Neues kommt</em>.
|
||||
</p>
|
||||
<p>
|
||||
<p data-de="In diesem Jahr haben wir ein paar digitale Ostereier versteckt. Keine Schokolade — aber vielleicht eine Idee, ein Lächeln, oder ein kleiner Moment der Ruhe." data-en="This year we've hidden a few digital Easter eggs. No chocolate — but perhaps an idea, a smile, or a small moment of calm.">
|
||||
In diesem Jahr haben wir ein paar digitale Ostereier versteckt.
|
||||
Keine Schokolade — aber vielleicht eine Idee, ein Lächeln,
|
||||
oder ein kleiner Moment der Ruhe.
|
||||
@@ -236,23 +236,23 @@
|
||||
<div class="egg-grid">
|
||||
<div class="egg-card">
|
||||
<div class="egg-emoji">🌱</div>
|
||||
<h3>Neuanfang</h3>
|
||||
<p>Jeder Frühling ist ein Proof of Concept.</p>
|
||||
<h3 data-de="Neuanfang" data-en="New Beginning">Neuanfang</h3>
|
||||
<p data-de="Jeder Frühling ist ein Proof of Concept." data-en="Every spring is a proof of concept.">Jeder Frühling ist ein Proof of Concept.</p>
|
||||
</div>
|
||||
<div class="egg-card">
|
||||
<div class="egg-emoji">🐰</div>
|
||||
<h3>Geduld</h3>
|
||||
<p>Manche Eier brauchen Zeit zum Finden.</p>
|
||||
<h3 data-de="Geduld" data-en="Patience">Geduld</h3>
|
||||
<p data-de="Manche Eier brauchen Zeit zum Finden." data-en="Some eggs take time to find.">Manche Eier brauchen Zeit zum Finden.</p>
|
||||
</div>
|
||||
<div class="egg-card">
|
||||
<div class="egg-emoji">✨</div>
|
||||
<h3>Überraschung</h3>
|
||||
<p>Die besten Dinge kommen unerwartet.</p>
|
||||
<h3 data-de="Überraschung" data-en="Surprise">Überraschung</h3>
|
||||
<p data-de="Die besten Dinge kommen unerwartet." data-en="The best things come unexpectedly.">Die besten Dinge kommen unerwartet.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="highlight">
|
||||
<p>
|
||||
<p data-de="„Die Zukunft gehört denen, die an die Schönheit ihrer Ostereier glauben." — frei nach Eleanor Roosevelt, wahrscheinlich." data-en=""The future belongs to those who believe in the beauty of their Easter eggs." — loosely after Eleanor Roosevelt, probably.">
|
||||
„Die Zukunft gehört denen, die an die Schönheit ihrer
|
||||
Ostereier glauben." — frei nach Eleanor Roosevelt,
|
||||
wahrscheinlich.
|
||||
@@ -262,10 +262,15 @@
|
||||
<div class="closing">🐣</div>
|
||||
|
||||
<footer>
|
||||
<p>oster<span class="ai">AI</span>.de — Frohe Ostern 2026</p>
|
||||
<p data-de="oster<span class="ai">AI</span>.de — Frohe Ostern 2026" data-en="oster<span class="ai">AI</span>.de — Happy Easter 2026">oster<span class="ai">AI</span>.de — Frohe Ostern 2026</p>
|
||||
<div style="text-align:center;margin-top:16px;">
|
||||
<button data-i18n-toggle title="Maschinell übersetzt / Machine-translated — German is the original." style="background:none;border:1px solid var(--text-muted,#444);color:var(--text-muted,#444);font-size:0.65rem;letter-spacing:0.1em;padding:4px 12px;border-radius:4px;cursor:pointer;">EN</button>
|
||||
<br><small data-de="Maschinell übersetzt" data-en="Machine-translated" style="color:var(--text-muted,#444);font-size:0.6rem;opacity:0.5;">Maschinell übersetzt</small>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="/shared/i18n.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user