Skip to content

feat(web): native de-CH copy across the site + locale regression guards#159

Merged
muraschal merged 1 commit into
mainfrom
feat/de-ch-native-copy
Jun 26, 2026
Merged

feat(web): native de-CH copy across the site + locale regression guards#159
muraschal merged 1 commit into
mainfrom
feat/de-ch-native-copy

Conversation

@muraschal

Copy link
Copy Markdown
Contributor

Dogfooding the optimized content audit (#158): re-ran its C15 native-language lens (LOCALE de-CH, native-rewrite) on this repo's own German and applied the full rewrite set — sentences completely re-modeled into original Swiss-German product copy, not word-swaps. Meaning, claims and every protected technical term preserved; English untouched.

i18n.ts — hero / value-prop / CTAs / nav / trust / principles / phases / proof / reports prose: causative + point-at calques rebuilt, terminology canon applied. audit-details.ts — all 13 audits' de blocks re-modeled, jargon chains broken into native sentences (terms kept), genus fixed.
14 ß→ss · 3 ASCII quote-closers → „…" · consistent terminology.

Regression guards so it can't drift back:

  • locale-de-ch.test.ts (new) — hard-fails any ß + a morphology-aware Denglish denylist across both copy files (English source immune — German inflections only).
  • i18n.test.ts — replaced the de!==en principle assertion (institutionalized translationese) with presence + locale-validity.

Verified: typecheck · 48 tests (5 files) · lint · production build all green.

Re-ran the optimized content audit (C15 native-language lens, LOCALE de-CH,
native-rewrite) on this repo's own German and applied the full rewrite set —
sentences COMPLETELY re-modeled into original Swiss-German product copy, not
word-level swaps. Meaning, claims and every protected technical term (CI/CD,
OWASP, Trust Boundary, Prompt-Injection, file:line, SBOM, RAG, …) preserved;
only the German sentence architecture changed. English strings untouched.

- web/lib/i18n.ts — hero, value-prop, CTAs, nav, trust block, principles,
  phases, proof, reports prose: causative "lässt … laufen" and "point-at"
  calques rebuilt; terminology canon (kartieren/zuordnen, Prüfbereich, Befund,
  Durchlauf, einsetzen, Rechner, Selbst-); "live exposure" → "keine akute
  Gefährdung im Betrieb" (claim-faithful, not "rechtliches Risiko").
- web/lib/audit-details.ts — all 13 audits' de blocks re-modeled; jargon-density
  chains broken into native sentences with the precise terms kept; genus fixed
  ("das Audit"); 6 ß→ss.
- 14 ß→ss total, 3 ASCII quote-closers → „…", consistent terminology.

Guards so it can't drift back:
- web/lib/locale-de-ch.test.ts (new) — hard-fails any ß + a morphology-aware
  Denglish denylist (mappen/laufen-lassen/deduplizieren/Linse/"der Audit"/…),
  scanning both copy files; English source is immune (German inflections only).
- web/lib/i18n.test.ts — replaced the de!==en principle assertion (which
  institutionalized translationese) with a presence + locale-validity check.

Verified: typecheck · 48 tests (5 files) · lint · production build all green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
auditor Ready Ready Preview, Comment Jun 26, 2026 7:00am

Request Review

@muraschal muraschal merged commit 26c23e8 into main Jun 26, 2026
4 checks passed
@muraschal muraschal deleted the feat/de-ch-native-copy branch June 26, 2026 07:01
@muraschal muraschal mentioned this pull request Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant