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,7 +216,7 @@
|
||||
|
||||
<section class="numbers">
|
||||
<div class="wrap">
|
||||
<p class="reveal">
|
||||
<p class="reveal" data-de="<span class="num">2.400</span> Stunden pro Jahr.<br> <span class="num">6,5</span> Stunden pro Tag, die du &bdquo;verkaufst&ldquo;.<br> Jede Minute dokumentiert.<br> Jede Pause ein Verlust." data-en="<span class="num">2,400</span> hours per year.<br> <span class="num">6.5</span> hours per day you &ldquo;sell&rdquo;.<br> Every minute documented.<br> Every break a loss.">
|
||||
<span class="num">2.400</span> Stunden pro Jahr.<br>
|
||||
<span class="num">6,5</span> Stunden pro Tag, die du „verkaufst“.<br>
|
||||
Jede Minute dokumentiert.<br>
|
||||
@@ -231,23 +231,23 @@
|
||||
<div class="wrap">
|
||||
|
||||
<div class="kritik-item reveal">
|
||||
<p>Du wirst nach Zeit bezahlt, <span class="dim">nicht nach Ergebnis.</span></p>
|
||||
<p data-de="Du wirst nach Zeit bezahlt, <span class="dim">nicht nach Ergebnis.</span>" data-en="You are paid for time, <span class="dim">not for results.</span>">Du wirst nach Zeit bezahlt, <span class="dim">nicht nach Ergebnis.</span></p>
|
||||
</div>
|
||||
|
||||
<div class="kritik-item reveal">
|
||||
<p>Effizienz wird bestraft. <span class="dim">Wer schneller arbeitet, verdient weniger.</span></p>
|
||||
<p data-de="Effizienz wird bestraft. <span class="dim">Wer schneller arbeitet, verdient weniger.</span>" data-en="Efficiency is punished. <span class="dim">Whoever works faster earns less.</span>">Effizienz wird bestraft. <span class="dim">Wer schneller arbeitet, verdient weniger.</span></p>
|
||||
</div>
|
||||
|
||||
<div class="kritik-item reveal">
|
||||
<p>Der Mandant zahlt <span class="dim">für deine Lernkurve.</span></p>
|
||||
<p data-de="Der Mandant zahlt <span class="dim">für deine Lernkurve.</span>" data-en="The client pays <span class="dim">for your learning curve.</span>">Der Mandant zahlt <span class="dim">für deine Lernkurve.</span></p>
|
||||
</div>
|
||||
|
||||
<div class="kritik-item reveal">
|
||||
<p><span class="num">8</span> Stunden Arbeit = <span class="num">6,5</span> billable. <span class="dim">Die restlichen 1,5? Dein Problem.</span></p>
|
||||
<p data-de="<span class="num">8</span> Stunden Arbeit = <span class="num">6,5</span> billable. <span class="dim">Die restlichen 1,5? Dein Problem.</span>" data-en="<span class="num">8</span> hours work = <span class="num">6.5</span> billable. <span class="dim">The remaining 1.5? Your problem.</span>"><span class="num">8</span> Stunden Arbeit = <span class="num">6,5</span> billable. <span class="dim">Die restlichen 1,5? Dein Problem.</span></p>
|
||||
</div>
|
||||
|
||||
<div class="kritik-item reveal">
|
||||
<p>Partnertrack heißt: <span class="dim"><span class="num">10</span> Jahre beweisen, dass du leidensfähig bist.</span></p>
|
||||
<p data-de="Partnertrack heißt: <span class="dim"><span class="num">10</span> Jahre beweisen, dass du leidensfähig bist.</span>" data-en="Partner track means: <span class="dim"><span class="num">10</span> years proving you can endure.</span>">Partnertrack heißt: <span class="dim"><span class="num">10</span> Jahre beweisen, dass du leidensfähig bist.</span></p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -257,13 +257,17 @@
|
||||
|
||||
<section class="silence">
|
||||
<div class="wrap">
|
||||
<p class="reveal">Kein Kontakt. Kein Newsletter. Kein Impressum.</p>
|
||||
<p class="reveal" data-de="Kein Kontakt. Kein Newsletter. Kein Impressum." data-en="No contact. No newsletter. No imprint.">Kein Kontakt. Kein Newsletter. Kein Impressum.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<div class="wrap">
|
||||
<p>billableaua.de — 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>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -279,5 +283,6 @@
|
||||
document.querySelectorAll('.reveal').forEach(el => observer.observe(el));
|
||||
</script>
|
||||
|
||||
<script src="/shared/i18n.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user