Bei der Modellierung gibt es unterschiedliche Sprachen welche definiert werden können:
UI-Sprachen: Liste der Sprachen welche im UI unterstützt wird. Das betrifft als also Überschriften (Captions), Beschreibungen, Hinweise, Instruktionen und dergleichen.
Daten-Sprachen: Liste der Sprachen die bei Multi-Language Feldern (Multi-Language Properties) in der Datenbank unterstützt wird.
Normalerweise werden diese Sprachen im Code im Modell fix definiert. Dies ist aber in Projekten, wo je nach Installation unterschieden werden soll welche Sprachen aktiv und als zwingend markiert werden sollen nicht genügend.
Definition über Konfiguration
Die UI-Sprachen und Daten-Sprachen können anstatt per Code auch über die Einstellungen konfiguriert werden. In diesem Fall sind beide Sprachlisten identisch.
Der Schlüssel für diesen Konfigurations-Eintrag ist Model:Cultures
. Dies kann entweder über das appsettings.json definiert werden oder direkt über Environment Variablen (z.B. auf Azure).
Da diese Einstellung beim Beginn des Modell-Aufbaus schon vorhanden sein muss, werden nur Konfigurationsmechanismen berücksichtigt, welche ohne Datenbankzugriff und Applikations-Modell auskommen.
Die Syntax ist dabei wie folgt: “DE*, IT, FR
". Das heisst:
Eine Sprache welche als Suffix einen
*
hat, wird als required betrachtet. Alle anderen Sprachen sind optional. Wird eine Multi-Language-Property mit "IsNotNullable
" gekennzeichnet so ist in diesem Beispiel nur die deutsche Sprache zwingend.Die erste angegebene Sprache ist die Fallback-Sprache welche verwendet wird, wenn ein Feld einer anderen Sprache nicht ausgefüllt ist
Wird bei einer Sprache keine “Region” angegeben so wird standardmässig “
CH
" verwendet.