Files
tessera-ctl/.planning/quick/260907-ipz-anrede-vereinheitlichen-duzen-auf-siezen/260907-ipz-SUMMARY.md
T

5.8 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
next-intl
icu-plural
de.json
en.json
vitest
Vier deutsche Oberflaechentexte auf Sie-Form umgestellt (leere Gruppenliste, Modul-Aktivierungsdialog, Modul-Sperrseite, Marktplatz-Hinweis)
ICU-Plural fuer memberCount/grantCount im Gruppen-Loeschdialog (de + en), behebt falsche Mehrzahl bei genau 1
Mock-Uebersetzer in groups-page.test.tsx kann jetzt ICU-Plural aufloesen (nach Vorbild der select-Aufloesung in grants-matrix.test.tsx)
Neuer Regressionstest fuer den Einzahl-Fall (memberCount: 1, grantCount: 1)
tokens tasks commits plan_head_before
2409 2 3 04827a4
added patterns
ICU-Plural in next-intl-Nachrichten: `{name, plural, one {# Form} other {# Formen}}`, wie bereits bei admin.ldap...resultSummary etabliert
created modified
apps/web/src/messages/de.json
apps/web/src/messages/en.json
apps/web/src/app/(portal)/admin/groups/groups-page.test.tsx
apps/web/src/app/(portal)/admin/modules/grants/grants-matrix.test.tsx
apps/web/src/components/modules/module-access-gate.test.tsx
Neuer Einzahl-Test wurde angelegt (nicht nur der bestehende Text korrigiert), weil beide bestehenden Loeschdialog-Tests nur mit memberCount:4/grantCount:2 laufen und den Einzahl-Fall nie abgedeckt haetten
Keiner der fuenf bestehenden Test-Fundstellen wurde geloescht — alle wurden auf den neuen Wortlaut nachgezogen
en.json wurde nur fuer den Loeschdialog (Defekt 2) angefasst, nicht fuer die Anrede (Defekt 1) — Englisch kennt die Du/Sie-Unterscheidung nicht
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

  • grep ueber de.json und 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' und grep -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.