docs: replace ASCII umlaut fallbacks with proper äöüß across all .md

Most German docs were written with `ue`/`ae`/`oe`/`ss` ASCII fallbacks
(`fuer`, `aenderung`, `koennen`, `gemaess`) — relic from older toolchain
constraints. Replaced 237 occurrences across 38 .md files with proper
umlauts and ß so the docs read naturally.

Substitutions are constrained to plain prose: fenced code blocks
(```...```), inline code spans (`...`), markdown link targets `[..](..)`,
and HTML comments are preserved verbatim. Path references like
`docs/howto-erste-aenderung.md` keep their original (umlaut-replaced)
filenames — only the surrounding prose is normalised.

Tool: bin/fix-md-umlauts.py (idempotent — no-op on already-clean files).
Re-runnable if ASCII fallbacks creep back in via copy-paste.

Doc-link-check + doc-drift-check stay green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-29 09:57:22 +02:00
parent 2e73cb98b4
commit 545bcc789b
39 changed files with 499 additions and 237 deletions

View File

@@ -4,13 +4,13 @@ Letzte Aktualisierung: 2026-04-01
## Einstiegspunkt
Alle CLI-Kommandos laufen ueber einen einzigen Einstiegspunkt:
Alle CLI-Kommandos laufen über einen einzigen Einstiegspunkt:
```bash
php bin/console <command> [argumente] [optionen]
```
Uebersicht aller verfuegbaren Kommandos:
Übersicht aller verfügbaren Kommandos:
```bash
php bin/console list
@@ -32,9 +32,9 @@ Fuehrt den vollstaendigen Runtime-Sync aus: `db-migrate` → `migrate` → `perm
docker compose exec php php bin/console module:sync
```
Noetig nach jeder Aenderung an Modulen, Manifesten, Routen oder `APP_ENABLED_MODULES` — und nach jedem `git pull`, der Schema-Updates unter `db/updates/*.sql` mitbringt.
Nötig nach jeder Änderung an Modulen, Manifesten, Routen oder `APP_ENABLED_MODULES` — und nach jedem `git pull`, der Schema-Updates unter `db/updates/*.sql` mitbringt.
Falls `web/index.php` den Fehler "Module runtime is stale" wirft, ist dieser Befehl die Loesung.
Falls `web/index.php` den Fehler "Module runtime is stale" wirft, ist dieser Befehl die Lösung.
Maschinenlesbar:
@@ -52,7 +52,7 @@ Jede `db/updates/*.sql` MUSS idempotent sein (`CREATE TABLE IF NOT EXISTS`, `INS
docker compose exec php php bin/console db:migrate
```
`module:sync` ruft den Befehl als ersten Schritt automatisch auf. Direktaufruf nuetzlich, wenn nur DB-Updates gewuenscht sind ohne Module-Build.
`module:sync` ruft den Befehl als ersten Schritt automatisch auf. Direktaufruf nützlich, wenn nur DB-Updates gewuenscht sind ohne Module-Build.
Status-Anzeige (kein Schreibzugriff):
@@ -60,7 +60,7 @@ Status-Anzeige (kein Schreibzugriff):
docker compose exec php php bin/console db:migrate --status
```
Listet `applied:` und `pending:` separat — nuetzlich beim Debugging veralteter Schemata.
Listet `applied:` und `pending:` separat — nützlich beim Debugging veralteter Schemata.
### module:migrate
@@ -103,7 +103,7 @@ docker compose exec php php bin/console module:deactivate <module-id> --confirm
docker compose exec php php bin/console module:deactivate <module-id> --dry-run
```
Das Modul muss nicht in der Aktivliste stehen. `--dry-run` validiert den Handler ohne Ausfuehrung.
Das Modul muss nicht in der Aktivliste stehen. `--dry-run` validiert den Handler ohne Ausführung.
### scheduler:run
@@ -117,7 +117,7 @@ Der Docker-Scheduler-Service ruft dieses Kommando automatisch alle 60 Sekunden a
### module:validate
Validiert Manifest, Klassen und Struktur eines Moduls. Prueft JSON-Schema-Compliance des `module.php`, Namespace-Konventionen, Interface-Implementierungen, Permission-Key-Formate und Verzeichnisstruktur.
Validiert Manifest, Klassen und Struktur eines Moduls. Prüft JSON-Schema-Compliance des `module.php`, Namespace-Konventionen, Interface-Implementierungen, Permission-Key-Formate und Verzeichnisstruktur.
```bash
docker compose exec php php bin/console module:validate <module-id>
@@ -128,7 +128,7 @@ docker compose exec php php bin/console module:validate --all
### make:module
Erzeugt die vollstaendige Verzeichnisstruktur fuer ein neues Modul inkl. Manifest, ContainerRegistrar-Stub, AuthorizationPolicy-Stub und leeren Verzeichnissen.
Erzeugt die vollstaendige Verzeichnisstruktur für ein neues Modul inkl. Manifest, ContainerRegistrar-Stub, AuthorizationPolicy-Stub und leeren Verzeichnissen.
```bash
docker compose exec php php bin/console make:module <module-id>
@@ -144,7 +144,7 @@ Fuehrt System-Gesundheitschecks aus (ENV, DB, RBAC, Scheduler-Heartbeat).
docker compose exec php php bin/console doctor
```
Siehe `/docs/howto-betriebscheck-doctor.md` fuer Details.
Siehe `/docs/howto-betriebscheck-doctor.md` für Details.
Maschinenlesbar:
@@ -168,15 +168,15 @@ bin/dev qa-extended
```
`bin/dev console ...` delegiert intern auf `docker compose exec -T php php bin/console ...`.
`bin/dev qa` ist ein Alias fuer `bin/dev qa-required`.
`bin/dev qa` ist ein Alias für `bin/dev qa-required`.
## Neue Kommandos anlegen
1. Klasse in `core/Console/Commands/` erstellen, die `MintyPHP\Console\Command` erweitert.
2. `name()`, `description()` und `execute()` implementieren.
3. Optional: `usage()` fuer `--help`-Ausgabe ueberschreiben.
3. Optional: `usage()` für `--help`-Ausgabe überschreiben.
Das Kommando wird automatisch erkannt — kein manuelles Registrieren noetig.
Das Kommando wird automatisch erkannt — kein manuelles Registrieren nötig.
Beispiel:
@@ -204,5 +204,5 @@ Die `Command`-Basisklasse stellt Helfer bereit:
| Methode | Zweck |
|---|---|
| `$this->bootstrapApp($channel)` | App-Bootstrap fuer Nicht-Modul-Kommandos |
| `$this->bootstrapApp($channel)` | App-Bootstrap für Nicht-Modul-Kommandos |
| `$this->projectRoot()` | Gibt den absoluten Projekt-Root-Pfad zurueck |