Modellsprachen
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 extern konfiguriert werden. In diesem Fall sind beide Sprachlisten identisch.
Der SchlĂĽssel fĂĽr diesen Konfigurations-Eintrag ist Model:Cultures
. Dies kann entweder ĂĽber appsettings.json definiert werden oder direkt ĂĽber die Environment Variable Model__Cultures
(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.
Ein Beispiel für die Einstellung ist: “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 deren Wert verwendet wird, wenn ein Feld einer anderen Sprache nicht ausgefĂĽllt ist. Ansonsten definiert die Reihenfolge in der Definition die Reihenfolge in der Darstellung.
Wird bei einer Sprache keine “Region” angegeben so wird standardmässig “
CH
" verwendet.Es ist möglich im Code n Sprachen in der Konfiguration aber eine davon abweichende Anzahl von m Sprachen zu definieren. Dabei kann m sowohl grösser als auch kleiner als n sein.
Â