Frage

Der folgende Code gibt englische Namen zurück, obwohl ich die aktuelle Kultur lokalisiert habe.

List<string> languageList = new List<string>();
CultureInfo[] cultureList = CultureInfo.GetCultures(CultureTypes.AllCultures);

    foreach (CultureInfo culture in cultureList)
    {
        languageList.Add(culture.DisplayName);
    }

Was ist, wenn ich möchte, dass die Anzeigenamen auf Italienisch, auf Deutsch oder in einer anderen von mir angegebenen Sprache angezeigt werden?Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Sie sollten die Eigenschaft NativeName verwenden

Sehen Sie sich diese Frage auch an So übersetzen Sie CultureInfo-Sprachnamen

Andere Tipps

Der Anzeigename Die Eigenschaft gibt den Kulturnamen zurück in der Sprache der lokalisierten Version von .NET Framework:

Diese Eigenschaft repräsentiert den lokalisierten Namen aus der .NET -Framework -Version.Wenn beispielsweise die englische Version von .NET Framework installiert ist, gibt die Eigenschaft "Englisch (USA)" für die zurück en-US Kulturname.Wenn die spanische Version von .NET Framework installiert ist, unabhängig von der Sprache, die das System angezeigt wird, wird der Kulturname auf Spanisch und die Eigenschaft für angezeigt en-USgibt „Ingles (Estados Unidos)“ zurück.

Benutzen Sie die NativeName Eigentum statt.Beachten Sie jedoch, dass Sie keinen Kulturnamen in einer anderen Sprache als Ihrer eigenen erhalten können (außer natürlich Englisch und der Sprache Ihrer Version von .NET Framework).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top