Enhance usability and localization across components: Update USABILITY_CONCEPT.md with new focus areas, improve user feedback in AppFooter and FamilyView components, and refine text in various UI elements for better clarity and consistency. Replace console logs with user-friendly messages, correct German translations, and streamline interaction logic in multiple components.

This commit is contained in:
Torsten Schulz (local)
2026-03-20 09:41:03 +01:00
parent 1774d7df88
commit c7d33525ff
48 changed files with 1161 additions and 481 deletions

View File

@@ -0,0 +1,345 @@
# Falukant: Konzept für Liebhaber, Geliebte und Mätressen
## Ziel
Das Familiensystem von Falukant soll neben Ehe, Verlobung und Nachkommen auch außereheliche Bindungen abbilden. Im frühen Mittelalter sind Liebhaberinnen, Geliebte und Mätressen kein moderner Privatbereich, sondern ein sozialer, wirtschaftlicher und standesabhängiger Faktor. Das System soll deshalb:
- zur Spielwelt passen
- je nach Stand unterschiedlich bewertet werden
- Ansehen, Frömmigkeit und Familienfrieden beeinflussen
- laufende Kosten verursachen
- Stoff für Ereignisse, Skandale und Machtspiele liefern
## Grundprinzip
Eine außereheliche Beziehung ist in Falukant weder pauschal erlaubt noch pauschal verboten. Entscheidend sind:
- öffentlicher Bekanntheitsgrad
- sozialer Stand der Spielfigur
- Familienstand der Spielfigur
- gesellschaftliche Erwartung der Umgebung
- Fähigkeit, die Beziehung finanziell und politisch zu tragen
Die gleiche Beziehung kann für einen niedrigen Stand ruinös, für einen reichen Stadtadeligen unerquicklich, aber handhabbar und für einen hohen Adeligen unter Bedingungen tolerierbar sein.
## Begriffe
Für die Mechanik sollten drei Hauptformen unterschieden werden:
### Heimliche Liebschaft
- diskrete Beziehung ohne offizielle Duldung
- geringe laufende Grundkosten
- erhöhtes Skandal- und Erpressungsrisiko
- besonders gefährlich bei verheirateten Figuren
### Geliebte oder Liebhaber
- wiederkehrende, bekannte außereheliche Beziehung
- im engeren Umfeld teilweise bekannt
- mittlere Unterhaltskosten
- spürbarer Einfluss auf Ehe, Hausstand und Ansehen
### Mätresse oder Favorit
- gesellschaftlich wahrnehmbare, dauerhaft unterhaltene Beziehung
- vor allem für gehobene Stände denkbar
- hohe regelmäßige Kosten
- kann Status, Gerüchte, Neid und politische Verbindungen erzeugen
Hinweis für die Spielwelt: Für männliche und weibliche Spielfiguren soll das System symmetrisch funktionieren. Die gesellschaftliche Reaktion kann jedoch je nach Geschlecht und Stand unterschiedlich stark ausfallen.
## Standeslogik
Die Behandlung soll nicht nur von „gut oder schlecht“ abhängen, sondern vom Stand.
### Unfreie, Freie, einfache Bürger
- außereheliche Beziehungen werden schnell als Verschwendung oder Unsittlichkeit gewertet
- schon geringe Zusatzkosten können den Haushalt destabilisieren
- offenkundige Affären senken Ansehen deutlich
- Heimlichkeit ist wichtiger als Repräsentation
Typische Wirkung:
- stärkerer Ansehensverlust
- erhöhtes Risiko von Streit im Haus
- kaum gesellschaftlicher Nutzen
### Wohlhabende Bürger, Patrizier, städtische Oberschicht
- diskrete Beziehungen können geduldet werden, wenn Haushalt und Ehe nach außen stabil bleiben
- auffällige Affären schaden dem Ruf in Zünften, Rat und Nachbarschaft
- die finanzielle Belastung ist tragbar, wird aber sichtbar
Typische Wirkung:
- bei Diskretion nur mäßiger Ansehensverlust
- bei öffentlichem Bekanntwerden deutlicher Malus
- gelegentlich soziale Vorteile über Kontakte der Geliebten möglich
### Niederer Adel
- Geliebte oder Mätressen sind nicht unvorstellbar, aber müssen „standesgemäß“ geführt werden
- eine vernachlässigte Ehe oder ein niedriger sozialer Rang der Geliebten kann das Haus kompromittieren
- uneheliche Kinder oder öffentliche Kränkungen des Ehepartners schaden besonders
Typische Wirkung:
- moderate bis starke Ansehensschwankungen je nach Öffentlichkeit
- Frömmigkeit und Hausfrieden werden wichtiger
- politische Nebeneffekte möglich
### Hoher Adel
- eine diskret und kostspielig unterhaltene Mätresse kann als Ausdruck von Macht und Überfluss toleriert werden
- dieselbe Situation wird zum Skandal, wenn Haus, Kirche oder Erbfolge bedroht sind
- das Problem ist weniger die bloße Existenz als die öffentliche Unordnung
Typische Wirkung:
- geringe oder neutrale Wirkung bei geordneter Diskretion
- starker Malus bei Skandal, Erpressung, Streit mit Ehepartner oder unehelichen Erbansprüchen
- hohe Unterhaltskosten sind Pflicht, nicht Kür
## Kernwerte pro Beziehung
Jede Liebhaber-Beziehung sollte mindestens diese Werte tragen:
- `type`: heimlich, geliebt, Mätresse/Favorit
- `affection`: Zuneigung und Bindung
- `visibility`: wie bekannt die Beziehung ist
- `discretion`: wie gut sie verborgen oder kontrolliert wird
- `maintenanceLevel`: wie aufwendig die Beziehung unterhalten wird
- `monthlyCost`: laufende Kosten
- `statusFit`: passt die Beziehung zum Stand der Spielfigur
- `householdTension`: Spannungen im eigenen Haus
- `scandalRisk`: Risiko für Gerüchte, Erpressung oder Entdeckung
Optional später:
- `fertilityRisk`
- `politicalValue`
- `churchOffense`
- `favoredByCourt`
## Laufende Kosten
Eine außereheliche Beziehung muss regelmäßig Geld kosten. Sonst wird sie spielerisch zu billig.
### Basiskosten
- Geschenke
- Unterkunft oder Versorgung
- Kleidung und Schmuck
- Reisen, Botengänge, Treffen
### Zusätzliche Kosten bei gehobenen Formen
- eigenes Haus oder eigene Zimmer
- Dienerschaft
- Bewachung oder Diskretionsgeld
- Kleidung auf Standesniveau
- gesellschaftliche Geschenke
### Kostenlogik
Die Kosten sollen aus zwei Faktoren entstehen:
- Beziehungsform
- Stand der Spielfigur
Beispielhaft:
- Heimliche Liebschaft: niedrige Grundkosten, aber höheres Risiko
- Geliebte: mittlere planbare Kosten
- Mätresse/Favorit: hohe planbare Kosten plus mögliche Sonderausgaben
Wichtig:
- Ein hoher Adeliger darf eine Mätresse nicht billig führen.
- Wer zu wenig investiert, verliert Diskretion, Zuneigung und Ansehen.
## Wirkung auf Ansehen
Ansehen soll nicht nur einmalig sinken, sondern über Zustände beeinflusst werden.
### Positive oder neutrale Fälle
- hohe Stände
- gute Diskretion
- Ehe und Haushalt wirken stabil
- keine Erbfolgen oder offenen Kränkungen
- Geliebte steht sozial nicht völlig außerhalb des Hauses
Mögliche Wirkung:
- kein Malus
- geringer passiver Malus
- in Ausnahmefällen leichter Statusbonus als Zeichen von Überfluss und Einfluss
### Negative Fälle
- Beziehung ist öffentlich
- Spielfigur ist verheiratet
- die Ehefrau oder der Ehemann wird sichtbar gedemütigt
- die Geliebte passt nicht zum Stand
- die Kosten ruinieren den Haushalt
- die Kirche oder lokale Autoritäten greifen das Thema auf
Mögliche Wirkung:
- täglicher oder wöchentlicher Ansehensverlust
- einmalige Skandalereignisse
- höhere Kosten für Reputationspflege
- Nachteile bei Standesaufstieg
## Wirkung auf Familienleben
Das System muss spürbar mit Ehe und Haushalt verbunden sein.
### Auf die Ehe
- Ehezufriedenheit sinkt
- Streitwahrscheinlichkeit steigt
- Geschenke oder Feste für den Ehepartner können Konflikte mildern
- bei sehr hoher Spannung drohen Trennung, Rückzug oder öffentliche Kränkung
### Auf Kinder und Erbfolge
- uneheliche Kinder können später Ereignisse auslösen
- anerkannte uneheliche Kinder können Hausfrieden und Stand belasten
- je höher der Stand, desto wichtiger wird die Frage nach legitimer Erbfolge
### Auf den Familienbereich
In `FamilyView` sollte eine Liebhaber-Person nicht nur mit Name und Zuneigung erscheinen, sondern auch mit:
- Form der Beziehung
- monatlichen Kosten
- Bekanntheitsgrad
- aktuellem Einfluss auf Hausfrieden
- aktuellem Einfluss auf Ansehen
## Wirkung auf Kirche und Frömmigkeit
Für die Epoche ist die religiöse Dimension wichtig.
- Hohe Frömmigkeit plus öffentliche Affäre erzeugt stärkere Heuchelei-Strafe.
- Niedrige Frömmigkeit macht Affären sozial nicht folgenlos, kann aber kirchliche Reaktionen weniger überraschend wirken lassen.
- Kirchenspenden oder Bußhandlungen könnten später Skandale abmildern, aber nicht kostenlos neutralisieren.
## Ereignisse
Das System braucht nicht nur passive Werte, sondern Ereignisse.
### Alltägliche Ereignisse
- Wunsch nach Geschenk
- Wunsch nach besserer Unterkunft
- Streit mit Ehepartner
- Bitte um öffentliche Anerkennung
### Risikoereignisse
- Gerücht am Hof oder in der Stadt
- Erpressung durch Diener, Rivalen oder Geistliche
- Schwangerschaft oder uneheliches Kind
- Duell- oder Ehrenkonflikt
- Forderung nach Versorgung eines Kindes
### Standesereignisse
- niedrige Stände: Nachbarschaftsgerede, wirtschaftliche Belastung, häuslicher Streit
- Bürgerliche: Ratshausgerüchte, Zunftschaden, moralischer Druck
- Adel: Hofklatsch, Machtfraktionen, Belastung der Erbfolge, kirchliche Einmischung
## Spielregeln zur Balance
Damit das System interessant bleibt und nicht zur reinen Strafe oder zum Gratisbonus wird:
- maximal eine aktiv unterhaltene Mätresse/Favorit gleichzeitig
- mehrere heimliche Liebschaften sind möglich, aber das Skandalrisiko steigt stark
- hohe Kosten müssen echte Opportunitätskosten erzeugen
- Ansehen darf nicht einfach mit Geld zurückgekauft werden
- zu geringe Versorgung verschlechtert Diskretion und Beziehung
- eine Beziehung darf keinen simplen Gratisbonus auf Werte geben
## UI- und UX-Konzept
Der bestehende Bereich in [FamilyView.vue](/mnt/share/torsten/Programs/YourPart3/frontend/src/views/falukant/FamilyView.vue) kann direkt ausgebaut werden.
### Anzeige pro Person
- Name und Titel
- Rolle: heimliche Liebschaft, Geliebte, Mätresse/Favorit
- Zuneigung
- Bekanntheitsgrad
- monatliche Kosten
- Standespassung
- aktueller Effekt auf Ansehen
- aktueller Effekt auf Hausfrieden
### Aktionen
- beschenken
- besser unterbringen
- diskret halten
- öffentlich anerkennen
- Beziehung beenden
- Versorgung reduzieren
### Hinweise
- Warnung bei drohendem Skandal
- Warnung bei unpassender Standeswahl
- Warnung bei zu geringer Versorgung
- Hinweis, wenn die Beziehung die Ehe oder den Aufstieg belastet
## Umsetzungsphasen
### Phase 1: Grundsystem
- Beziehungen vom Typ `lover` im Familienbereich sauber anzeigen
- Beziehungstypen unterscheiden
- monatliche Kosten berechnen
- passiven Einfluss auf Ansehen und Hausfrieden einführen
### Phase 2: Reibung und Entscheidungen
- Sichtbarkeit und Diskretion einführen
- Ereignisse zu Streit, Geschenkforderungen und Gerüchten
- Wechselwirkungen mit Ehe und Ansehen
### Phase 3: Tiefe Systeme
- uneheliche Kinder
- Erpressung und kirchliche Reaktionen
- politische oder hofbezogene Nebeneffekte
- Standes- und Erbfolgekonflikte
## Konkrete Empfehlungsregel für Falukant
Als Startregel für die erste spielbare Version:
- jede Liebhaber-Beziehung hat laufende Monatskosten
- jede Beziehung erzeugt je nach Stand einen passiven Ansehensmodifikator
- verheiratete Figuren erhalten zusätzlich Hausfriedensverlust
- hohe Stände können eine diskrete, gut unterhaltene Mätresse mit geringem oder neutralem Ansehensmalus führen
- niedrige und mittlere Stände tragen bei öffentlicher Affäre deutlich stärkere Nachteile
- unzureichende Versorgung erhöht pro Tick Sichtbarkeit, Streit und Skandalrisiko
Damit entsteht genau das gewünschte Spannungsfeld:
- romantisch oder politisch nützlich
- aber nie kostenlos
- gesellschaftlich nie neutral
- je nach Stand anders lesbar und anders gefährlich
## Offene Designentscheidungen
Vor der technischen Umsetzung sollten noch drei Punkte festgelegt werden:
1. Soll es einen festen Wert `householdTension` geben oder soll das über bestehende Ehe-/Familienwerte laufen?
2. Soll Frömmigkeit direkt mit dem Liebhaber-System gekoppelt werden oder erst in einer späteren Kirchenphase?
3. Sollen uneheliche Kinder bereits in Phase 1 möglich sein oder erst ab Phase 3?

View File

@@ -0,0 +1,178 @@
# Umlaut-Normalisierung Plan
## Ziel
Alle sichtbaren deutschsprachigen UI-Texte sollen konsistent echte Umlaute und korrektes `ß` verwenden.
Beispiele:
- `ae` -> `ä`
- `oe` -> `ö`
- `ue` -> `ü`
- `ss` -> `ß`, wenn orthografisch korrekt
Nicht Teil dieses Schritts:
- technische Bezeichner, Dateinamen, Keys, Routen, API-Felder
- bewusst ASCII-basierte interne Kennungen
- englische, spanische oder backendseitige maschinennahe Werte
- bestehende Konzept-/Audit-Dokumente, sofern nicht explizit gewünscht
## Leitregeln
- Nur sichtbare Texte anfassen.
- Keine Übersetzungs-Keys umbenennen, wenn nur der angezeigte Wert falsch ist.
- Keine Logikänderung mit Sprachkorrekturen vermischen.
- `ss` nur dort zu `ß` ändern, wo es sprachlich korrekt ist.
- Neue Texte immer direkt mit echter deutscher Schreibweise anlegen.
## Scope
### 1. Direkte UI-Texte in Vue-Dateien
Prüfen und korrigieren in:
- `frontend/src/components/**/*.vue`
- `frontend/src/views/**/*.vue`
- `frontend/src/dialogues/**/*.vue`
Typische Problemfälle:
- Überschriften
- Buttons
- Statushinweise
- Hilfetexte
- Leerzustände
- Fehlermeldungen
### 2. i18n-Inhalte
Prüfen und korrigieren in:
- `frontend/src/i18n/locales/de/**/*.json`
Besonders relevant:
- Navigation
- Header/Footer
- Home
- Blog
- Forum
- Vokabeltrainer
- Minigames
- Einstellungen
- Admin
### 3. Gemeinsame Shell- und Systemtexte
Zuerst prüfen:
- `frontend/src/components/AppSectionBar.vue`
- `frontend/src/components/AppNavigation.vue`
- `frontend/src/components/AppHeader.vue`
- `frontend/src/components/AppFooter.vue`
- `frontend/src/components/DialogWidget.vue`
- `frontend/src/components/MessageboxWidget.vue`
### 4. Produktbereiche mit hoher Sichtbarkeit
Danach prüfen:
- `frontend/src/views/home/**/*`
- `frontend/src/views/social/**/*`
- `frontend/src/views/falukant/**/*`
- `frontend/src/views/minigames/**/*`
- `frontend/src/views/settings/**/*`
- `frontend/src/views/blog/**/*`
- `frontend/src/views/admin/**/*`
## Abarbeitung
### Phase A: Inventur
1. Fundstellen mit Suchmustern sammeln.
2. Treffer in drei Klassen sortieren:
- `sichtbarer UI-Text`
- `i18n-Wert`
- `nicht anfassen` wie Variablen, Klassen, Keys, Pfade
Empfohlene Suchmuster:
- `Persoen`
- `Gaeste`
- `Zurueck`
- `Uebersicht`
- `Loesch`
- `Fuer`
- `Oeff`
- `Schli`
- `groess`
- `aend`
- `moeg`
- `ueber`
- `uebrig`
- `fuer`
- `waehr`
- `muess`
- `koenn`
### Phase B: Shell zuerst
Zuerst alle global sichtbaren Texte korrigieren:
- Bereichsleisten
- Navigation
- Header
- Footer
- Standarddialoge
Ziel:
- zentrale UI sofort sprachlich konsistent
### Phase C: i18n-DE bereinigen
Danach alle deutschen Locale-Dateien durchgehen.
Vorgehen:
- nur Werte ändern, nicht die Key-Namen
- orthografische Einzelprüfung bei `ss` -> `ß`
- HTML-haltige Texte mit prüfen, damit keine alten ASCII-Umschreibungen stehen bleiben
### Phase D: Direkttexte in Views und Dialogen
Dann alle nicht-i18n-basierten sichtbaren Texte korrigieren.
Priorität:
1. Home, Navigation, Auth
2. Social, Blog, Settings
3. Falukant, Minigames, Admin
### Phase E: Konsistenzreview
Zum Schluss ein kompletter Review auf typische Restfehler:
- `ue` in sichtbaren Labels
- `oe` in Überschriften
- `ae` in Buttons und Hinweisen
- `ss` statt `ß` in Wörtern wie `dass`, `groß`, `außer`, `heißen`, `Fuß`, `Maß`
## Abnahmekriterien
Der Schritt gilt als abgeschlossen, wenn:
- in allen sichtbaren deutschen UI-Texten keine ASCII-Umschreibungen mehr verbleiben
- zentrale Shell-Texte vollständig normalisiert sind
- `de`-Locale-Dateien keine falschen Umschreibungen mehr enthalten
- Builds weiterhin sauber laufen
- keine technischen Keys oder internen Bezeichner versehentlich geändert wurden
## Risiken
- versehentliche Änderung von technischen Strings statt UI-Texten
- falsche `ß`-Korrekturen in Fällen, in denen `ss` korrekt ist
- Mischung aus i18n-Texten und hart codierten Texten kann zu doppelter Pflege führen
## Umsetzungsempfehlung
Die eigentliche Umsetzung sollte in zwei Arbeitsblöcken passieren:
1. `UN1`
Shell + i18n-DE + hochsichtbare Bereiche
2. `UN2`
Restliche Views/Dialoge + Abschlussreview
## Ergebnisdokumentation
Nach Abschluss sollte kurz dokumentiert werden:
- welche Dateien geändert wurden
- ob nur sichtbare Texte geändert wurden
- ob noch bewusst ASCII-basierte technische Strings bestehen

View File

@@ -355,6 +355,7 @@ Arbeit:
- verschachtelte Scrollcontainer in Falukant, Admin und Minigames entfernen oder entkoppeln
- tabellenlastige Kernansichten auf klarere Aufgabenreihenfolge pruefen
- Debug-/Altinteraktionen aus grossen Kernviews reduzieren, wenn sie Bedienbarkeit oder Folgepflege stoeren
- Direktwege, Rueckspruenge und Fokusverhalten in den haeufigsten Hauptpfaden nachziehen
Aktueller Stand:
@@ -362,6 +363,7 @@ Aktueller Stand:
- `U6.2` abgeschlossen
- `U6.3` abgeschlossen
- `U6.4` abgeschlossen
- `U6.5` abgeschlossen
- aus der Review nach U5 als eigener Nachlauf identifiziert
- Fokus bewusst nicht mehr auf Redesign, sondern auf Reibungsabbau in realen Nutzungswegen
- priorisierte Teilpakete:
@@ -369,6 +371,7 @@ Aktueller Stand:
- `U6.2 Scroll- und Layoutfallen entfernen`
- `U6.3 Tabellen- und Arbeitsflaechen vereinfachen`
- `U6.4 Interaktionsaltlasten reduzieren`
- `U6.5 Direktwege und Ruecklogik polieren`
## Konkreter Arbeitskatalog