test(frontend): Wächter gegen deutschen Oberflächentext – und fünf Reste
Konsolidierung: Bestandsaufnahme auf den Stand vom 24.09. gebracht (Punkte 1, 2, 2b und die Tests für documents/tags sind erledigt; sharing, rescan, audit und thumbnails bleiben offen; jsdom ist seit dem 18.09. drin). Beim Nachsehen fielen fünf Übersetzungsreste auf: label="Ganztägig", aria-label="Kalendermenü", label="Bearbeiten" und zweimal "Löschen". Alle in **doppelt** gequoteten JSX-Attributen – die Ersetzungsliste hatte nur die einfach gequoteten, und das damalige Prüfskript hielt Einzelwörter ohne Leerzeichen für Bezeichner. Die Prüfung steht deshalb jetzt als Test, nicht als Skript. Sie läuft bei jedem npm test mit. Der erste Wächter taugte nichts, und das kam nur durch die Mutation heraus: Er prüfte allein auf Umlaute und liess "Papierkorb ist leer" durch. Wer einen Wächter baut, muss ihn einmal angreifen. Jetzt Umlaute plus eine Wortliste mit Wortgrenzen, nachgewiesen an vier Mutationen. Kommentare werden vorher entfernt – mit einem kleinen Durchlauf statt zeilenweise: Blockkommentare haben Fortsetzungszeilen ohne führenden Stern, die beim ersten Versuch fünf Fehlalarme erzeugten. Ehrlich dazu: Das ist ein Netz, kein Beweis. Ein deutscher Satz ohne Umlaut und ohne gelistetes Wort käme durch. Steht so im Test. @types/node kam dazu, weil der Test den Quelltext von der Platte liest. Geprüft: tsc sauber, 48 Vitest-Tests, alle 234 Prüfungen der sieben Selbsttest-Suiten grün. Gebautes Bündel gegengeprüft – deutsche Texte weg, englische da. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e1259dd55c
commit
a7528d7365
8 files changed
+261
-15
No files matched your search
+40
@@ -1562,6 +1562,46 @@ bleibt `node` (schnell); wer ein DOM braucht, schreibt
|
||||
|
||||
---
|
||||
|
||||
## Ein Wächter für die Sprache (24.09.2026)
|
||||
|
||||
Sechs Tage nach der Übersetzung fielen beim Nachsehen **fünf Reste** auf:
|
||||
`label="Ganztägig"`, `aria-label="Kalendermenü"`, `label="Bearbeiten"` und
|
||||
zweimal `"Löschen"`. Alle in **doppelt** gequoteten JSX-Attributen – die
|
||||
Ersetzungsliste hatte nur die einfach gequoteten, und das damalige Prüfskript
|
||||
hielt Einzelwörter ohne Leerzeichen für Bezeichner.
|
||||
|
||||
Deshalb steht die Prüfung jetzt als Test (`src/sprache.test.ts`) statt als
|
||||
Skript, das man einmal laufen lässt. Sie läuft bei jedem `npm test` mit.
|
||||
|
||||
**Der erste Wächter taugte nichts, und das kam nur durch die Mutation heraus:**
|
||||
Er prüfte allein auf Umlaute und liess `"Papierkorb ist leer"` anstandslos
|
||||
durch. Wer einen Wächter baut, muss ihn einmal angreifen.
|
||||
|
||||
Jetzt: Umlaute **plus** eine Liste häufiger deutscher Wörter mit Wortgrenzen
|
||||
(sonst schlägt "ist" in "list" an). Kommentare werden vorher entfernt – und
|
||||
zwar richtig, mit einem kleinen Durchlauf statt zeilenweise: Blockkommentare
|
||||
haben Fortsetzungszeilen ohne führenden Stern, die beim ersten Versuch fünf
|
||||
Fehlalarme erzeugt haben.
|
||||
|
||||
Nachgewiesen an vier Mutationen, alle werden rot:
|
||||
|
||||
| eingeschleuster Text | erkannt an |
|
||||
|---|---|
|
||||
| `Papierkorb ist leer` | "ist", "leer" |
|
||||
| `Loeschen fehlgeschlagen` | "Loeschen", "fehlgeschlagen" |
|
||||
| `Ganztägig` | Umlaut |
|
||||
| `Bitte warten` | "bitte" |
|
||||
|
||||
> **Ein Netz, kein Beweis.** Ein deutscher Satz ohne Umlaut und ohne eines der
|
||||
> gelisteten Wörter käme durch – "Datum bereits vergeben" etwa. Der Test
|
||||
> fängt, was erfahrungsgemäß passiert: ein vergessenes Attribut beim
|
||||
> Übersetzen. Wer die Liste ergänzt, weil einmal etwas durchgerutscht ist, tut
|
||||
> genau das Richtige.
|
||||
|
||||
- [x] Gebautes Bündel enthält keine deutschen Oberflächentexte mehr –
|
||||
gegengeprüft, dass die englischen drin sind (sonst prüfte der Grep nur
|
||||
sich selbst)
|
||||
|
||||
## Wochentage und Monate aus `Intl` (20.09.2026)
|
||||
|
||||
Sechs handgeschriebene Arrays in drei Dateien, und `Intl` kam im ganzen Projekt
|
||||
|
||||
Reference in new issue
Block a user