2010-03-12 6 views
20

Ich kenne drei Möglichkeiten, um einen vollständigen Sprachnamen eines CultureInfo-Objekts zu erhalten.Wie übersetzt man CultureInfo Sprachnamen

CultureInfo.DisplayName 
CultureInfo.NativeName 
CultureInfo.EnglishName 

DisplayName gibt den Namen in der installierten .net-Sprache an.
NativeName gibt den Namen in der Sprache "CultureInfos" an.
EnglishName gibt den Namen in Englisch (überraschend ...)

Also für Culture de-DE ergibt dies (auf einem englischen .net-Installation)
Deutsch
Deutsch
Deutsch

Nun meine Frage : Gibt es eine Möglichkeit, nach dem Sprachennamen de-DE in einer anderen Sprache zu fragen? Z.B. Ich möchte den Sprachnamen de-DE auf Niederländisch (was "Duits" wäre).

Antwort

15

Diese Funktionalität wird nicht in das .NET Framework

gebaut

Vielleicht Google Translate API

+2

Das ist, was ich hatte Angst. Die einzige kostenlose Übersetzung, die Sie erhalten, ist Englisch, die .NET-Installationssprache (falls das anders ist) und die Übersetzung in der nativen CultureInfo-Sprache. Ich werde die Gewinne der Verwendung der Google Translate API zu den Bemühungen abwägen müssen. – Yodah

4

Beispiel für CultureInfo.EnglishName betrachten:

public CultureInfo GetCultureInfo(string EnglishName) 
    { 
     foreach (CultureInfo info in CultureInfo.GetCultures(CultureTypes.AllCultures)) 
     { 
      if (info.EnglishName == EnglishName) 
       return new CultureInfo(info.Name); 
     } 

     return null; 
    } 
+0

Danke, ich war auf der Suche nach einem Weg, um Kulturinformationen basierend auf dem Namen der Sprache zu bekommen, das ist, was ich brauchte – Naomi