2016-04-27 11 views
1

Ich muss das Wort "Color" als "Color" im US-Format und als "Color" im UK-Format buchstabieren. Meine Anwendungen funktionieren in diesen 2 Ländern. Ich muss die Schreibweisen entsprechend ändern. Ich habe es mit dem folgenden Code versucht:Definieren Sie eine Zeichenfolge basierend auf Kulturinformationen in C# Silverlight

Aber das scheint irgendwie nicht zu funktionieren.

+0

Ihr Code scheint OK, so muss das Problem anderswo – Pikoh

+0

Side note: Ich schlage vor, eine Methode/Eigenschaft 'IsUS' Extrahieren oder gleich * misspelling * ärgerliche Fehler (' "us-DE" 'zu vermeiden und gleich) –

Antwort

0

In Silverlight die Kultur standardmäßig auf „en-US“ unabhängig von dem Land, das Sie laufen tatsächlich in

Sie müssen die Kultur in der Ansichtsklasse mit dem folgenden Code explizit festgelegt.

this.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name); 

, nachdem der Faden Kultur entsprechend eingestellt haben:

 CultureInfo ci = new CultureInfo(GetEnterpriseCultureName(enterpriseCultureId)); 
     Thread.CurrentThread.CurrentCulture = ci; 
     Thread.CurrentThread.CurrentUICulture = ci; 
     return ci.Name; 

Sie können auch als auch das Währungssymbol und die Nummer Separatoren in dieser außer Kraft setzen.

Source

Dann, sobald Sie, dass die einfachste Lösung getan haben, ist die Saiten in ein Paar von Ressourcen-Dateien zu setzen. Die eine heißt "Resource.resx" und die andere heißt "Resource.en-US.resx" (zum Beispiel), wenn Ihr Standard Großbritannien ist.

Dann wird .NET automatisch die richtigen Ressourcen basierend auf der Kultur des Threads auswählen.

0

Der richtige Weg, um mit Lokalisierung und Region Unterschiede in der Rechtschreibung umzugehen, ist die Silverlight Resource Manager, die in das Framework für genau diese Art von Sache enthalten war.

Die hierarchische Organisation von Ressourcen

Um zu verstehen, wie die Ressourcen geladen werden, ist es sinnvoll, von ihnen zu denken, wie in einer hierarchischen Weise organisiert. Eine lokalisierte Anwendung kann Ressourcendateien auf drei Ebenen haben:

  • An der Spitze der Hierarchie sind die Fallback-Ressourcen für die Standardkultur, z. B. Englisch ("en"). Dies sind die einzigen Ressourcen, die keine eigene Datei haben. Sie sind in der Hauptbaugruppe gespeichert.
  • Auf der zweiten Ebene sind die Ressourcen für jede Region-neutrale Kulturen. Eine regionenneutrale Kultur ist mit einer Sprache verbunden, aber nicht mit einer Region. Zum Beispiel ist Französisch ("fr") eine Region-neutrale Kultur.
  • Am unteren Ende der Hierarchie sind die Ressourcen für bestimmte Kulturen. Eine spezifische Kultur ist mit einer Sprache und einer Region verbunden. Zum Beispiel ist Französisch-Kanadisch ("fr-CA") eine spezifische Kultur.