feat: Implementiere mehrsprachige Unterstützung (i18n)

- Füge Flask-Babel für professionelle i18n-Implementierung hinzu
- Implementiere automatische Browser-Spracherkennung
- Erstelle datenschutzfreundliche Sprachauswahl ohne Cookies
- Verwende URL-Parameter und localStorage für Sprachauswahl
- Füge vollständige Übersetzungen für Deutsch und Englisch hinzu
- Implementiere responsive Dropdown-Sprachauswahl mit Landesflaggen
- Verbessere Barrierefreiheit mit ARIA-Attributen und Screenreader-Support
- Aktualisiere README mit i18n-Dokumentation
- Version 1.4.0
This commit is contained in:
2025-08-01 16:40:46 +02:00
parent d88581a663
commit c7d95e5c4c
11 changed files with 1427 additions and 107 deletions

View File

@@ -60,6 +60,8 @@ Die Webanwendung erreicht hervorragende Performance-Werte in allen Kategorien (P
- Datum plus/minus X Wochen/Monate
- Kalenderwoche zu Datum
- Start-/Enddatum einer Kalenderwoche eines Jahres
- **Mehrsprachige Unterstützung** (Deutsch/Englisch) mit automatischer Browser-Spracherkennung
- **Datenschutzfreundliche Sprachauswahl** ohne Cookies (URL-Parameter + localStorage)
- Sprachausgabe für alle Ergebnisse (barrierefrei)
- Statistik-Dashboard mit Passwortschutz unter `/stats`
@@ -87,6 +89,34 @@ Die Werktagsberechnung kann optional bundeslandspezifische Feiertage berücksich
Die Feiertage werden automatisch für den gewählten Zeitraum abgerufen und bei der Werktagsberechnung als arbeitsfreie Tage behandelt. Im Ergebnis werden zusätzlich die Anzahl der Wochenendtage und Feiertage angezeigt.
## Mehrsprachige Unterstützung (i18n)
Die Anwendung unterstützt Deutsch und Englisch mit folgenden Features:
### **Automatische Spracherkennung:**
- **Browser-Sprache**: Automatische Erkennung der Browser-Einstellung
- **URL-Parameter**: Sprachauswahl über `?lang=de` oder `?lang=en`
- **localStorage**: Persistente Sprachauswahl im Browser
- **Fallback**: Deutsch als Standardsprache
### **Datenschutzfreundliche Implementierung:**
- **Keine Cookies**: Sprachauswahl ohne Cookies
- **URL-Parameter**: Transparente Sprachauswahl in der URL
- **localStorage**: Lokale Speicherung im Browser
- **Teilbare URLs**: URLs mit Sprachauswahl können geteilt werden
### **Barrierefreiheit:**
- **Screenreader**: Vollständige Unterstützung
- **Tastatur-Navigation**: Vollständig bedienbar
- **ARIA-Attribute**: Korrekte Beschriftungen
- **Semantische HTML**: Korrekte Struktur
### **Technische Details:**
- **Flask-Babel**: Professionelle i18n-Implementierung
- **Gettext**: Standard für Übersetzungen
- **Responsive Design**: Angepasst für alle Geräte
- **SEO-freundlich**: URLs sind indexierbar
## Installation (lokal)
1. Python 3.8+ installieren
@@ -466,3 +496,5 @@ Dieses Projekt steht unter der [MIT-Lizenz](LICENSE).
---
(c) 2025 [Markus Busche](https://digitalcourage.social/@elpatron)
**Version 1.4.0** - Mehrsprachige Unterstützung hinzugefügt