Beide Korrekturen im Browser gegengeprueft. Der aussagekraeftigste Fall ist die Gruppe "Alle Benutzer" mit zwei Mitgliedern und einer Freigabe: der Dialog schreibt "2 Mitglieder und 1 Modul-Freigabe" — Mehrzahl und Einzahl im selben Satz, jede Zahl einzeln richtig. Bei "Vertrieb Innendienst" mit je einem heisst es durchgaengig Einzahl. Die vier Du-Stellen sind ebenfalls im Browser bestaetigt: Aktivierungsdialog, Sperrseite und Marktplatz-Hinweis siezen jetzt. Der Leerzustand der Gruppenliste ist live nicht erreichbar, weil Gruppen existieren — er bleibt durch den Komponententest abgedeckt. Der UAT-Bericht zu Phase 15, in dem beide Maengel urspruenglich notiert wurden, ist entsprechend nachgezogen. Dort war nur der Aktivierungsdialog als Du-Stelle vermerkt; bei der Korrektur kamen drei weitere zum Vorschein. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K5jtbGzC5Sf9npJ3JCjKhq
7.0 KiB
quick_id, subsystem, tags, provides, affects, actuals, tech-stack, key-files, key-decisions, requirements-completed, duration, completed, status
| quick_id | subsystem | tags | provides | affects | actuals | tech-stack | key-files | key-decisions | requirements-completed | duration | completed | status | ||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 260907-ipz | i18n |
|
|
|
|
|
|
12min | 2026-09-07 | complete |
Quick Task 260907-ipz: Anrede vereinheitlichen (Duzen auf Siezen) und Einzahl korrigieren Summary
Vier duzende deutsche Texte auf Sie-Form umgestellt und die falsche Mehrzahl im Gruppen-Loeschdialog durch echtes ICU-Plural in de.json/en.json ersetzt.
Performance
- Duration: 12min
- Commits: 3
- Files changed: 5
Accomplishments
Task 1: Anrede auf Siezen vereinheitlichen (Defekt 1)
Alle vier bisher duzenden Werte in apps/web/src/messages/de.json wurden auf die Sie-Form
umgestellt:
admin.groups.noGroupsBody: "Legen Sie Ihre erste Gruppe an, um Modulzugriff gezielt zu vergeben."adminModules.activationDialog.body: "… oder möchten Sie die Freigaben separat konfigurieren?"modules.accessDenied.body: "Sie haben für dieses Modul keine Freigabe. Wenden Sie sich an Ihren Administrator."marketplace.toastNoAccess: "Kein Zugriff auf dieses Modul — wenden Sie sich an Ihren Administrator."
en.json blieb fuer diese Aufgabe unveraendert. Die drei betroffenen Testdateien
(groups-page.test.tsx, grants-matrix.test.tsx, module-access-gate.test.tsx) wurden mit
ihren Mock-Nachrichten und der einen betroffenen Zusicherung (Leerzustand-Text in
groups-page.test.tsx) auf denselben Wortlaut nachgezogen. Kein Test wurde geloescht.
Commit: b701617 — fix(260907-ipz): Anrede in vier deutschen Texten auf Siezen umstellen
Task 2: Ein-/Mehrzahl im Loeschdialog korrigieren (Defekt 2), TDD
RED: Der Mock-Uebersetzer resolve() in groups-page.test.tsx wurde um eine
ICU-Plural-Aufloesung erweitert (Regex /\{(\w+),\s*plural,\s*one\s*\{...\}\s*other\s*\{...\}\}/g,
nach dem Vorbild der bestehenden select-Aufloesung in grants-matrix.test.tsx). Ein neuer Test
'uses singular wording for exactly one member and one module grant' mit
impact: { memberCount: 1, grantCount: 1 } wurde direkt nach dem bestehenden Mehrzahl-Test
eingefuegt. Zu diesem Zeitpunkt trug die Mock-Nachricht noch den alten Wortlaut
({memberCount} Mitglieder), sodass der Test nachweislich rot lief mit dem Rendering
"Diese Gruppe hat 1 Mitglieder und 1 Modul-Freigaben." — exakt der live beobachtete Defekt.
Commit: dee52a2 — test(260907-ipz): failing test fuer Einzahl im Loeschdialog
GREEN: admin.groups.deleteConfirm.body wurde in de.json und en.json auf ICU-Plural
umgestellt (memberCount und grantCount je mit eigenem plural-Argument, Zweige one/other,
Zahl als #), im selben Stil wie das bestehende admin.ldap.…resultSummary. Die Mock-Nachricht
in groups-page.test.tsx wurde wortgleich nachgezogen. Danach liefen alle 12 Tests in der Datei
gruen — der neue Einzahl-Test, die beiden bestehenden Mehrzahl-Tests und alle uebrigen.
Commit: 3746754 — feat(260907-ipz): ICU-Plural fuer Mitglieder- und Freigabenzahl im Loeschdialog
Kein REFACTOR-Commit war noetig — die Implementierung war bereits minimal.
Verification
grepueberde.jsonund alle drei Testdateien nach Du-Formen: leer.pnpm --dir apps/web test -- groups-page.test.tsx grants-matrix.test.tsx module-access-gate.test.tsx umlaut-guard.spec.ts— 4 Testdateien, 26 Tests, alle gruen.pnpm --dir apps/web test(volle Suite) — 38 Testdateien, 226 Tests, alle gruen.pnpm --dir apps/web run type-check—tsc --noEmit, keine Fehler, keine Ausgabe.- Schluesselsatz-Parität
de.json/en.json: 787 Schluessel identisch (Node-Skript, beide Richtungen leer). grep -c 'memberCount, plural'undgrep -c 'grantCount, plural': je genau 1 Treffer in beiden Sprachdateien.
Deviations from Plan
None - plan executed exactly as written.
Known Stubs
None.
TDD Gate Compliance
RED-Commit (test(260907-ipz): ...) und GREEN-Commit (feat(260907-ipz): ...) sind in dieser
Reihenfolge im Git-Log vorhanden. Kein Gate-Verstoss.
Not Yet Verified (Human/Browser)
Die im Plan genannte Sichtpruefung im Browser (Docker-Rebuild + manuelle Pruefung aller vier Textstellen plus des Loeschdialogs auf Deutsch und Englisch) wurde bewusst NICHT von diesem Executor durchgefuehrt — das obliegt laut Ausfuehrungsauftrag dem Orchestrator/User.
Abnahme im Browser am 2026-09-07 — alle sechs Punkte bestanden
Web neu gebaut, echter Chrome, beide Konten.
| Prüfpunkt | Ergebnis |
|---|---|
| Löschdialog "Vertrieb Innendienst" (1 Mitglied, 1 Freigabe) | „Diese Gruppe hat 1 Mitglied und 1 Modul-Freigabe." |
| Löschdialog "Alle Benutzer" (2 Mitglieder, 1 Freigabe) | „Diese Gruppe hat 2 Mitglieder und 1 Modul-Freigabe." — Mehrzahl und Einzahl im selben Satz, beide richtig |
| Aktivierungsdialog | „… oder möchten Sie die Freigaben separat konfigurieren?" |
Sperrseite als nutzer2 |
„Sie haben für dieses Modul keine Freigabe. Wenden Sie sich an Ihren Administrator." |
Marktplatz-Hinweis als nutzer2 |
„Kein Zugriff auf dieses Modul — wenden Sie sich an Ihren Administrator." |
Duz-Formen irgendwo in de.json |
keine mehr (Wortgrenzen-Suche über alle Werte) |
Der gemischte Fall bei "Alle Benutzer" ist der aussagekräftigste: er zeigt, dass die Pluralregel je Zahl einzeln greift und nicht pauschal auf eine Form umschaltet.
Der Leerzustand der Gruppenliste (admin.groups.noGroupsBody) ist live nicht
erreichbar, weil Gruppen existieren — er bleibt durch den Komponententest abgedeckt.