/
Modellsprachen

Modellsprachen

Bei der Modellierung gibt es unterschiedliche Sprachen welche definiert werden können:

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.

 

Related content