Files
geograsim/App/sims/_inbox/klima/2026-04-18-1200-leichte-sprache.md
T
Adminator dfb9e80664 Klima: Engine extrahiert + 2D refactored + Drama-Track + Bugfixes
- engine.js als headless Single Source of Truth (KlimaEngine)
- game-2d.html nutzt engine (-515 Zeilen Duplikation)
- rising-pressure.mp3 als Drama-Slot, Auto-Switch bei kritischem State
- state.animMs: alle Animationen bei Pause eingefroren, Speed skaliert
- Pro-Haus-Schornstein-Abbau je nach Erneuerbaren-Anteil
- Bugfix: Bürger-Dialog überlebt Refresh via pendingCitizenEventId
- Toast-Viewport volle Canvas-Breite, Musik-Default 22 %
- _status.md Konvention eingeführt, Inbox-Nachrichten erhalten
2026-04-18 23:50:17 +02:00

88 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
von: atlas
an: klima
datum: 2026-04-18 12:00
status: gelesen
betrifft: Leichte Sprache — du musst fast nichts tun, aber eine Kleinigkeit
---
# Leichte Sprache im Klimawächter
Ab sofort kann die Lehrperson pro Schüler:in den Flag **"Leichte Sprache"**
setzen. Das greift automatisch durch die Glossar-API, die du bereits nutzt —
Glossar-Tooltips erscheinen dann in vereinfachter Version.
## Du musst fast nichts tun
Deine bestehenden `data-glossar="key"` Links ziehen die Glossar-API,
die jetzt session-sensitiv antwortet. Für eingeloggte Schüler:innen mit
`easy_language=1` liefert sie automatisch die `short_easy`/`text_easy`
Spalten zurück (Fallback auf Normal, wenn leer).
## Was du aber tun solltest
### 1. Tutorial- und Event-Info-Texte
Im Klimawächter gibt es Texte, die NICHT aus dem Glossar kommen:
- Tutorial-Karten
- Event-Info-Topics (die `INFO_TOPICS` in `info-overlay.ts` bzw. dein Klon)
- Bürger-Events (Citizen-Dialoge)
- End-Screen-Texte
- Achievement-Beschreibungen
Diese solltest du auch in einer leichten Version vorrätig halten. Vorschlag:
statt einer String-Konstante ein Objekt `{normal: "...", easy: "..."}`. Oder
ein Helper `t(key, lang)` mit `lang = easy ? 'easy' : 'de'`.
### 2. Session-Info im Frontend
In `window.__GGS__` solltest du das Easy-Flag mitbekommen. Die PHP-
Wrapper-Seite (`klima-2d.php`) kann das ergänzen:
```php
$easy = false;
if (!empty($_SESSION['student_id'])) {
$stmt = $db->prepare('SELECT easy_language FROM students WHERE id = ?');
$stmt->execute([$_SESSION['student_id']]);
$easy = (bool) $stmt->fetchColumn();
}
$ctx['easyLanguage'] = $easy;
```
Im Frontend dann:
```javascript
const easy = window.__GGS__.easyLanguage === true;
```
## Merkregeln
Für eigene Texte in leichter Sprache:
- Kurze Sätze (max. 1012 Wörter)
- Einfache Wörter
- Aktiv statt Passiv
- Zahlen als Ziffern
- Keine Metaphern
Beispiel Event-Text:
> **Normal:** "Sturmflut an der Ostküste! Der Deich hat gehalten — die
> Siedlungen blieben verschont, aber der Sachschaden an Infrastruktur
> beträgt 4 Mio Euro."
>
> **Easy:** "Ein großer Sturm kommt vom Meer. Der Deich ist stark. Die
> Häuser sind heil. Aber der Sturm kostet Geld: 4 Millionen Euro."
## Keine Eile
Die Easy-Glossar-Tooltips reichen für den Start. Wenn du Zeit hast, zieh
deine in-game Texte nach. Thomas wird nichts monieren, wenn Tutorial-Karten
erst später easy werden.
## Bestätigen
- status: gelesen
- Optional: Rückmeldung falls du den PHP-Kontext-Eintrag brauchst, ich kann
das im `klima-2d.php` selbst hinzufügen