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:
m
2026-04-01 13:19:40 +02:00
parent 846fc04444
commit 5c92a7b021
53 changed files with 1850 additions and 1475 deletions

View File

@@ -171,8 +171,8 @@
<div class="container">
<div class="logo"><span class="ki">KI</span>llions</div>
<div class="nav-links">
<a href="#tokenomics">Tokenomics</a>
<a href="#roadmap">Roadmap</a>
<a href="#tokenomics" data-de="Tokenomics" data-en="Tokenomics">Tokenomics</a>
<a href="#roadmap" data-de="Roadmap" data-en="Roadmap">Roadmap</a>
</div>
</div>
</nav>
@@ -181,10 +181,10 @@
<div class="container">
<div class="token-symbol"><span class="ki">KI</span></div>
<h1><span class="ki">KI</span>llions</h1>
<div class="tagline">Die Währung der KI-Ära</div>
<div class="tagline" data-de="Die Währung der KI-Ära" data-en="The currency of the AI era">Die Währung der KI-Ära</div>
<div class="price-display">
<div class="price-label">1 KIllion</div>
<div class="price-value">= ∞ Möglichkeiten</div>
<div class="price-label" data-de="1 KIllion" data-en="1 KIllion">1 KIllion</div>
<div class="price-value" data-de="= ∞ Möglichkeiten" data-en="= ∞ Possibilities">= ∞ Möglichkeiten</div>
<div class="price-change">↑ +∞% (24h)</div>
</div>
</div>
@@ -192,52 +192,52 @@
<section class="section" id="tokenomics">
<div class="container">
<div class="section-label">// tokenomics</div>
<h2><span class="ki">KI</span>llion-Kennzahlen</h2>
<div class="section-label" data-de="// tokenomics" data-en="// tokenomics">// tokenomics</div>
<h2 data-de="&lt;span class=&quot;ki&quot;&gt;KI&lt;/span&gt;llion-Kennzahlen" data-en="&lt;span class=&quot;ki&quot;&gt;KI&lt;/span&gt;llion Metrics"><span class="ki">KI</span>llion-Kennzahlen</h2>
<div class="stats-grid">
<div class="stat-card">
<div class="stat-value"></div>
<div class="stat-label">Total Supply</div>
<div class="stat-label" data-de="Total Supply" data-en="Total Supply">Total Supply</div>
</div>
<div class="stat-card">
<div class="stat-value">0</div>
<div class="stat-label">Circulating</div>
<div class="stat-label" data-de="Circulating" data-en="Circulating">Circulating</div>
</div>
<div class="stat-card">
<div class="stat-value">???</div>
<div class="stat-label">Market Cap</div>
<div class="stat-label" data-de="Market Cap" data-en="Market Cap">Market Cap</div>
</div>
<div class="stat-card">
<div class="stat-value">N/A</div>
<div class="stat-label">Börsenlistung</div>
<div class="stat-label" data-de="Börsenlistung" data-en="Exchange Listing">Börsenlistung</div>
</div>
</div>
<div class="whitepaper">
<h3>// whitepaper.pdf (Auszug)</h3>
<h3 data-de="// whitepaper.pdf (Auszug)" data-en="// whitepaper.pdf (excerpt)">// whitepaper.pdf (Auszug)</h3>
<div class="whitepaper-line">
<span class="whitepaper-key">Blockchain</span>
<span class="whitepaper-val">Keine (zu teuer)</span>
<span class="whitepaper-key" data-de="Blockchain" data-en="Blockchain">Blockchain</span>
<span class="whitepaper-val" data-de="Keine (zu teuer)" data-en="None (too expensive)">Keine (zu teuer)</span>
</div>
<div class="whitepaper-line">
<span class="whitepaper-key">Konsens-Mechanismus</span>
<span class="whitepaper-val">Proof of Buzzword</span>
<span class="whitepaper-key" data-de="Konsens-Mechanismus" data-en="Consensus Mechanism">Konsens-Mechanismus</span>
<span class="whitepaper-val" data-de="Proof of Buzzword" data-en="Proof of Buzzword">Proof of Buzzword</span>
</div>
<div class="whitepaper-line">
<span class="whitepaper-key">Mining</span>
<span class="whitepaper-val">GPU-Cluster (imaginär)</span>
<span class="whitepaper-key" data-de="Mining" data-en="Mining">Mining</span>
<span class="whitepaper-val" data-de="GPU-Cluster (imaginär)" data-en="GPU cluster (imaginary)">GPU-Cluster (imaginär)</span>
</div>
<div class="whitepaper-line">
<span class="whitepaper-key">Smart Contracts</span>
<span class="whitepaper-val">Dumm aber enthusiastisch</span>
<span class="whitepaper-key" data-de="Smart Contracts" data-en="Smart Contracts">Smart Contracts</span>
<span class="whitepaper-val" data-de="Dumm aber enthusiastisch" data-en="Dumb but enthusiastic">Dumm aber enthusiastisch</span>
</div>
<div class="whitepaper-line">
<span class="whitepaper-key">Use Case</span>
<span class="whitepaper-val">Keiner (Feature, kein Bug)</span>
<span class="whitepaper-key" data-de="Use Case" data-en="Use Case">Use Case</span>
<span class="whitepaper-val" data-de="Keiner (Feature, kein Bug)" data-en="None (feature, not a bug)">Keiner (Feature, kein Bug)</span>
</div>
<div class="whitepaper-line">
<span class="whitepaper-key">Regulierung</span>
<span class="whitepaper-val">Lol</span>
<span class="whitepaper-key" data-de="Regulierung" data-en="Regulation">Regulierung</span>
<span class="whitepaper-val" data-de="Lol" data-en="Lol">Lol</span>
</div>
</div>
</div>
@@ -245,34 +245,34 @@
<section class="roadmap" id="roadmap">
<div class="container">
<div class="section-label">// roadmap</div>
<h2>Der Weg zur <span class="ki">KI</span>llion</h2>
<div class="section-label" data-de="// roadmap" data-en="// roadmap">// roadmap</div>
<h2 data-de="Der Weg zur &lt;span class=&quot;ki&quot;&gt;KI&lt;/span&gt;llion" data-en="The path to &lt;span class=&quot;ki&quot;&gt;KI&lt;/span&gt;llion">Der Weg zur <span class="ki">KI</span>llion</h2>
<div class="roadmap-item">
<div class="roadmap-q">Q1</div>
<div class="roadmap-content">
<h4>Website launchen</h4>
<p>Diese Website. Erledigt. Mehr haben wir für Q1 nicht geplant.</p>
<h4 data-de="Website launchen" data-en="Launch website">Website launchen</h4>
<p data-de="Diese Website. Erledigt. Mehr haben wir für Q1 nicht geplant." data-en="This website. Done. We didn't plan anything else for Q1.">Diese Website. Erledigt. Mehr haben wir für Q1 nicht geplant.</p>
</div>
</div>
<div class="roadmap-item">
<div class="roadmap-q">Q2</div>
<div class="roadmap-content">
<h4>Whitepaper schreiben</h4>
<p>30 Seiten. Mindestens 50% Buzzwords. "Synergien" kommt dreimal vor.</p>
<h4 data-de="Whitepaper schreiben" data-en="Write whitepaper">Whitepaper schreiben</h4>
<p data-de="30 Seiten. Mindestens 50% Buzzwords. &quot;Synergien&quot; kommt dreimal vor." data-en="30 pages. At least 50% buzzwords. &quot;Synergies&quot; appears three times.">30 Seiten. Mindestens 50% Buzzwords. "Synergien" kommt dreimal vor.</p>
</div>
</div>
<div class="roadmap-item">
<div class="roadmap-q">Q3</div>
<div class="roadmap-content">
<h4>Token Sale</h4>
<p>Verkaufe Nichts für Geld. Nenne es "Pre-Seed". VC-Bewertung: 100 Mio.</p>
<h4 data-de="Token Sale" data-en="Token Sale">Token Sale</h4>
<p data-de="Verkaufe Nichts für Geld. Nenne es &quot;Pre-Seed&quot;. VC-Bewertung: 100 Mio." data-en="Sell Nothing for money. Call it &quot;Pre-Seed&quot;. VC valuation: 100M.">Verkaufe Nichts für Geld. Nenne es "Pre-Seed". VC-Bewertung: 100 Mio.</p>
</div>
</div>
<div class="roadmap-item">
<div class="roadmap-q">Q4</div>
<div class="roadmap-content">
<h4>Exit</h4>
<p>Team löst sich auf. Gründer zieht nach Dubai. Klassiker.</p>
<h4 data-de="Exit" data-en="Exit">Exit</h4>
<p data-de="Team löst sich auf. Gründer zieht nach Dubai. Klassiker." data-en="Team dissolves. Founder moves to Dubai. Classic.">Team löst sich auf. Gründer zieht nach Dubai. Klassiker.</p>
</div>
</div>
</div>
@@ -280,16 +280,20 @@
<div class="container">
<div class="disclaimer">
DISCLAIMER: KIllions ist keine echte Kryptowährung. KIllions hat keinen Wert, keine Blockchain, kein Team, kein Produkt und keine Zukunft. Genau wie die meisten echten Krypto-Projekte, nur ehrlicher. Dies ist Satire. Bitte investieren Sie Ihr Geld in etwas Sinnvolles. Zum Beispiel eine Zimmerpflanze.
<span data-de="DISCLAIMER: KIllions ist keine echte Kryptowährung. KIllions hat keinen Wert, keine Blockchain, kein Team, kein Produkt und keine Zukunft. Genau wie die meisten echten Krypto-Projekte, nur ehrlicher. Dies ist Satire. Bitte investieren Sie Ihr Geld in etwas Sinnvolles. Zum Beispiel eine Zimmerpflanze." data-en="DISCLAIMER: KIllions is not a real cryptocurrency. KIllions has no value, no blockchain, no team, no product, and no future. Just like most real crypto projects, only more honest. This is satire. Please invest your money in something meaningful. For example, a houseplant.">DISCLAIMER: KIllions ist keine echte Kryptowährung. KIllions hat keinen Wert, keine Blockchain, kein Team, kein Produkt und keine Zukunft. Genau wie die meisten echten Krypto-Projekte, nur ehrlicher. Dies ist Satire. Bitte investieren Sie Ihr Geld in etwas Sinnvolles. Zum Beispiel eine Zimmerpflanze.</span>
</div>
</div>
<footer>
<div class="container">
<p><span class="ki">KI</span>llions — 1 <span class="ki">KI</span>llion = ∞ Möglichkeiten = 0 Euro</p>
<p data-de="&lt;span class=&quot;ki&quot;&gt;KI&lt;/span&gt;llions — 1 &lt;span class=&quot;ki&quot;&gt;KI&lt;/span&gt;llion = ∞ Möglichkeiten = 0 Euro" data-en="&lt;span class=&quot;ki&quot;&gt;KI&lt;/span&gt;llions — 1 &lt;span class=&quot;ki&quot;&gt;KI&lt;/span&gt;llion = ∞ Possibilities = 0 Euro"><span class="ki">KI</span>llions — 1 <span class="ki">KI</span>llion = ∞ Möglichkeiten = 0 Euro</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>
</div>
</footer>
<script src="/shared/impressum.js"></script>
<script src="/shared/i18n.js"></script>
</body>
</html>