Sprachen (Languages)
Zweck
Language modelliert die in SpeamCore verfuegbaren Sprachen. Pro Sprache werden code (z. B. de, en, fr-CH), name und flag (Flaggen-Icon-Identifier) gepflegt. Aktive Sprachen erscheinen im Top-Bar-Sprachwechsler und in LanguageSelector-Komponenten.
Die Sub-Route /languages/translation-status zeigt den Uebersetzungs-Status pro Sprache und Namespace — wertvoll für das Erkennen von Luecken vor Releases.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_Language, Language | Liste/Detail aufrufbar | — |
create/update/delete | Language | Pflegen | APP_SPEAMCORE_CREATE/UPDATE/DELETE_LANGUAGE |
view | LanguageTranslationStatus | Sub-Route Status | APP_SPEAMCORE_VIEW_LANGUAGE_TRANSLATION_STATUS |
Schritt-für-Schritt-Anleitung
Sprache anlegen
- Sprachen (
/languages) → + Neu. code(Pflicht, z. B.de,fr).name(Pflicht, z. B. „Deutsch").flag(optional,react-iconso. SVG-Bezeichner — wird im Sprachwechsler angezeigt).
Uebersetzungs-Status prüfen
/languages/translation-status zeigt die Vollständigkeit pro Namespace (common, routes, product, ...).

Toolbar (Detail-Seite)
Schlanke Toolbar oben rechts:
| Icon | Aktion (aria-label) | CASL | Wirkung |
|---|---|---|---|
| ← | Zurückgehen | — | Zurück zur Liste. |
| 🏠 | Zur Startseite gehen | — | Springt auf das Dashboard / /. |
| ⏮/◀/▶/⏭ | Pagination | — | Navigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung. |
Globale Floating-Drawer (links)
Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:
- KAL. (Mini-Kalender)
- ZEIT (Persoenliche Wochen-Arbeitszeit)
- ARBEIT (Eigene bevorstehende Aufträge)
Felder und Eingaben
| Feldname | Pflicht | Datentyp | Wirkung beim Ausfuellen | Voraussetzung |
|---|---|---|---|---|
code | ja | String | i18n-Locale-Code (z. B. de, en-US). | Gueltiger BCP-47-Code. |
name | ja | String | Anzeigename in der Liste/Selectors. | — |
flag | nein | String | Flaggen-Icon-Bezeichner. | — |
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Setup-Wizard — Schritt 1 (Sprache) wählt aus den aktiven Sprachen.
- Mitarbeiter / Mandant —
languageals Profileinstellung. - Mail und Belege — Spracheinstellung wirkt auf E-Mail-Versand und Beleg-Druck.
Häufige Fehler und Lösungen
| Fehler | Lösung |
|---|---|
| Sprache erscheint nicht im Sprachwechsler | Status der Sprache prüfen und sicherstellen, dass die i18n-Locale-Datei existiert. |
| Anzeige bleibt englisch trotz Wechsel | Browser-Cache leeren und react-i18next neu laden. |
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/languages | Liste | view Language |
POST | /api/languages | Anlegen | create Language |
GET | /api/languages/:id | Detail | view Language |
PATCH | /api/languages/:id | Ändern | update Language |
DELETE | /api/languages/:id | Soft-Delete | delete Language |
GET | /api/language-translation-statuses | Uebersetzungs-Status | view LanguageTranslationStatus |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.