Home Windows ecommerce Treiber Server Entwicklung Software Security Internet Hardware Nicht IT Mobile Nintendo Suchen Multimedia Virtualisierung Kopie von Navi01b Provider


Lokalisierung

-->Theorie Gerüst Kontrollstrukturen Variabeln DatenTypen Listen XAML Beispieldateien Lösungen c# Links Setup Kommentare WinForm Glossar Unverarbeitet
LayoutContainer
Controls
Datenanbindung
Lokalisierung
Resourcen

Lokalisierung

Begriffsbestimmung

  • Globalisierung: Die Anwendung so gestallten, dass sie für unterschiedliche Sprachen nicht neu kompiliert werden muss.
  • Lokalisierung: Festlegen der Texte und Ressourcen für die unterschiedlichen Sprachen.

In Programmierkreisen werden die beiden Begriffe Globalisierung und Lokalisierung oft unter dem Begriff Lokalisierung zusammengefasst.

Voraussetzungen

  • Keine Canvas, diese sind nicht lokalisierbar
  • Keine absoluten Positionierungen, dies würde längere Texte abschneiden

Schritt für Schritt Anleitung zur Lokalisierung

1.) Default Kultur für das Projekt definieren

In der Datei <Projektname>.csprjo in der PropertyGroup ein UICulture Element erstellen:
<UICulture>de-CH</UICulture>

2.) Die Elemente in XAML mit Lokalisierungs-ID versehen

Jedes Element welches in unterschiedlichen Sprachen unterschiedlich beschriftet sein muss, muss eine Uid besitzen.
<TextBlock x:Uid="Textblock1">Deutsch made in Schweiz</TextBlock>

Alternativ kann das Komandozeilenprogramm msbuild verwendet werden um im gesamten Projekt alle Elemente automatisch mit einer Uid zu versehen.
msbuild /t:updateuid <Projektname>.csproj

Wenn alle Uid's zugewiesen sind, muss das Projekt neu kompiliert werden.

3.) Satelliten-Assemblies mit LocBaml erstellen

A) Auslesen der Texte aus der Standard-Kultur

Aus der Standard Kultur muss eine CSV Datei generiert werden, welche dann übersetzt werden kann:
locbaml /parse de-CH\LokalisierteApp.resources.dll /out:meineRessourcen.csv

/parse gibt die Quelle an, das kann eine .baml, .ressource, .exe oder .dll Datei sein.

B) Übersetzen der Texte

Die in der CSV-Datei enthaltenen Texte können in die gewünschte Sprache(n) übersetzt werden.

C) Generieren der Satelliten Assemblies

Die fremdsprachige CSV Datei muss wieder in eine vom Projekt lesbare Form gebracht werden:
locbaml /generate de-CHLokalisierteApp.ressources.dll /trnas:meineRessourcen.csv /out:en-US /cul:en-US

Verwendung mehrerer Sprachen

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

 

 

 

 


Ihre Werbung hier

 

Haftungsausschluss: Verwendung der Informationen auf Ihre eigene Gefahr. Wir übernehmen keinerlei Haftung. Beachten Sie auch den Haftungsausschluss.


Wenn Sie Wünsche, Anregungen, Verbesserungen, Korrekturen oder sonstige Vorschläge zu dieser FAQ haben: . Wir freuen uns auf Ihr Mail.


 Und jetzt noch ein bisschen Werbung...

Stellensuche, Jobangebote unter www.notizia.ch/stellensuche