Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The model encapsulates all information about an application domain.

  • Classes

  • Paths/Relations

  • Layouts

  • Display Languages

  • Data Languages

Display Languages

Each model has a list of cultures that it supports for metadata of typeIMetaElement, which includes a Metadata Captions.

Data Languages

Each model has a list of cultureslanguages that it supports for Metadata Multi-language PropertiesBei 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.