C # getCultures в местном / currentCulture - PullRequest
4 голосов
/ 05 мая 2011

Следующий код возвращает английские имена, несмотря на то, что я локализовал текущую культуру.

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

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

Что если я хочу, чтобы отображаемые имена были на итальянском, немецком или на каком-либо другом языке, который я укажу? Есть предложения?

Ответы [ 2 ]

4 голосов
/ 05 мая 2011

Свойство DisplayName возвращает имя культуры на языке локализованной версии .NET Framework :

Это свойство представляет локализованное имяиз версии .NET Framework.Например, если установлена ​​английская версия .NET Framework, свойство возвращает «English (United States)» для имени культуры en-US.Если установлена ​​версия .NET Framework на испанском языке, независимо от того, на каком языке настроена система, имя культуры отображается на испанском языке, а свойство en-US возвращает «Ingles (Estados Unidos)».

Вместо этого используйте свойство NativeName .Однако обратите внимание, что вы не можете получить название культуры на языке, отличном от его собственного (кроме, конечно, английского и языка вашей версии .NET Framework).

3 голосов
/ 05 мая 2011

Вы должны использовать свойство NativeName

Посмотрите и на этот вопрос Как перевести названия языков CultureInfo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...