2010-03-12 4 views
20

Я знаю три способа получить полное языковое имя объекта CultureInfo.Как перевести имена языка CultureInfo

CultureInfo.DisplayName 
CultureInfo.NativeName 
CultureInfo.EnglishName 

Отображаемое имя дает имя на установленном языке .net.
NativeName дает имя на языке «CultureInfos».
EnglishName дает название на английском языке (удивительно ...)

Так CultureInfo де-DE это дает (на английской .net установки)
Немецкого
Deutsch
немецкого

Теперь мой вопрос : Есть ли способ запросить название языка de-DE на другом языке? Например. Я хочу, чтобы название языка de-DE на голландском языке (которое было бы «Duits»).

ответ

15

Эта функциональность не встроена в .NET Framework

Может быть, посмотреть на Google Translate API

+2

То, что я боялся за. Единственный бесплатный перевод, который вы получаете, - это английский язык, язык установки .NET (если он отличается) и перевод на родном языке CultureInfo. Мне нужно взвесить преимущества использования google translate api для усилий. – Yodah

4

Пример для CultureInfo.EnglishName:

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

Спасибо, я искал способ получить информацию о культуре на основе имени языка, вот что мне нужно – Naomi

Смежные вопросы