4 Stimmen

Wie kann ich in C# zwischen vereinfachtem und traditionellem Chinesisch unterscheiden?

Meine App wurde in eine Reihe von Sprachen übersetzt, darunter Französisch, traditionelles Chinesisch und vereinfachtes Chinesisch. Wenn die App nun zum ersten Mal gestartet wird, möchte ich automatisch die richtige Übersetzung auf der Grundlage des Gebietsschemas des Benutzers auswählen.

Für Französisch wird die Bewertung der TwoLettersIsoLanguageName Eigenschaft der InstalledUiCulture hat gut funktioniert, aber für Chinesisch reichen die ISO-Codes nicht aus. Ich dachte an den Rückgriff auf die Name Eigenschaft, die die zh-Hans y zh-Hant aber das macht Französisch kaputt, denn es gibt fr-FR auf bestimmten Systemen, und fr-CA auf andere, zum Beispiel.

Gibt es eine einfache Möglichkeit, den aus zwei Buchstaben bestehenden Sprachcode der aktuellen Kultur zu ermitteln, wenn es sich nicht um Chinesisch handelt, und andernfalls den zh-Hans / zh-Hant ?

Ich bin auf der Suche nach einer eleganten Lösung; ich habe natürlich daran gedacht, die Kultur zu parsen Name Eigentum und einen Sonderfall für Chinesen zu machen, aber das ist nicht wirklich schön :/

Kurz gesagt, ich glaube, ich suche nach einem Weg, eine "neutrale" Kultur aus der aktuellen Kultur herauszuholen: aus fr-Fr bekommen. fr , von zh-TW bekommen. zh-Hant und von zh-CN bekommen. zh-Hans . Ideen?

Gracias.

3voto

Paweł Dyda Punkte 18030

Es scheint, dass Elternteil Eigenschaft von KulturInfo Klasse ist das, wonach Sie suchen.
Es scheint, dass sie von Anfang an unterstützt wurde.

ÜBRIGENS. Im Falle von Übersetzungen sollten Sie CurrentUICulture statt AktuelleKultur (letzteres ist für die Formatierung gedacht) oder InstalledUiCulture, was die Sprachversion des Betriebssystems ist und nicht unbedingt eine Benutzereinstellung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X