Lokalisierung

Der VFX – Silverlight Wizard übernimmt die Lokalisierungseinstellungen von der migrierten VFX für VFP Anwendung.

Wenn nicht mit Lokalisierung zur Laufzeit gearbeitet wird, werden dennoch alle von VFX verwendeten Texte, zum Beispiel Bezeichnungen in Dialogen und Tooltips, zur Laufzeit aus der Tabelle vfxmsg gelesen. Im  Gegensatz zu VFX für VFP werden in Silverswitch keine Includedateien mit Konstanten verwendet.

Die Lokalisierungseinstellungen werden mit Eigenschaften des Anwendungsobjekts in der Datei VfxApplication – Controls\VfxAppObject.cs gemacht.

 

RuntimeLocalization = true;

Wenn der Wert dieser Eigenschaft auf true gesetzt ist, läuft die Anwendung mit Lokalisierung zur Laufzeit.

 

LangID = "GER";

Wenn eine Anwendung ohne Lokalisierung zur Laufzeit arbeitet, wird mit dieser Eigenschaft die verwendete Sprache eingestellt. Wenn der Wert der Eigenschaft RuntimeLocalization auf true gesetzt ist, gibt der Wert dieser Eigenschaft die Sprache an, mit der die Anwendung gestartet wird.

Der Wert der Eigenschaft LangID enthält die Abkürzung der verwendeten Sprache. Für jede verfügbare Sprache gibt es eine Spalte in der Tabelle Vfxmsg.

 

Es stehen nicht alle Texte in allen Sprachen zur Verfügung.

Wenn mit Lokalisierung zur Laufzeit gearbeitet wird, kann die Liste der verfügbaren Sprachen in der Tabelle  VfxLanguage eingestellt werden. In dieser Tabelle gibt es für jede Sprache einen Datensatz. Wenn in der Spalte IsActive True steht, steht diese Sprache in der Anwendung zur Verfügung.

Die Auswahl der Sprache kann in einer Combobox im Anmeldedialog oder in einer Combobox in der Symbolleiste vorgenommen werden. Die eingestellte Sprache wird je Anwender gespeichert und bei der Benutzeranmeldung nach der Eingabe des Benutzernamens wiederherstellt.

Beim Wechsel der Sprache werden auch die Regionaleinstellungen gesetzt. Dazu gehören Dezimaltrennzeichen, Datumsformat und andere Einstellungen.

Wenn eine Anwendung ohne Lokalisierung zur Laufzeit arbeitet, sind die Comboboxen zur Auswahl der Sprache nicht sichtbar.

 

Lokalisierung von Formularen

Alle Formulare implementieren das Interface IVfxLocalization. Wenn das Formularereignis Loaded ausgeführt wird, wird die Methode InitializeLocalizationManager(stringlanguage) aufgerufen. Mit dieser Methode wird das Objekt VfxLocalizationManager instanziiert. Dieses Objekt durchsucht das Formular nach lokalisierbaren Objekten. Lokalisierbare Objekte verfügen über die Eigenschaft MessageId oder ToolTipMessageID.

Betrachten Sie das folgende Beispiel eine vereinfachte Form mit drei Steuerelementen.