Получить список стран на других языках, кроме английского

Я могу получить список названий стран, используя ниже код (скопированный откуда-то, я не могу вспомнить)

Мой вопрос: могу ли я получить список стран на других языках, таких как тайский?

    /// <summary>
    /// method for generating a country list, say for populating
    /// a ComboBox, with country options. We return the
    /// values in a Generic List<T>
    /// </summary>
    /// <returns></returns>
    public static List<string> GetCountryList()
    {
        //create a new Generic list to hold the country names returned
        List<string> cultureList = new List<string>();

        //create an array of CultureInfo to hold all the cultures found, these include the users local cluture, and all the
        //cultures installed with the .Net Framework
        CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures);

        //loop through all the cultures found
        foreach (CultureInfo culture in cultures)
        {
            //pass the current culture's Locale ID (http://msdn.microsoft.com/en-us/library/0h88fahh.aspx)
            //to the RegionInfo contructor to gain access to the information for that culture
            RegionInfo region = new RegionInfo(culture.LCID);

            //make sure out generic list doesnt already
            //contain this country
            if (!(cultureList.Contains(region.EnglishName)))
                //not there so add the EnglishName (http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo.englishname.aspx)
                //value to our generic list
                cultureList.Add(region.EnglishName);
        }
        return cultureList;
    }

c#,.net,

13

Ответов: 3


11 принят

http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo.NativeName.aspx

Свойство DisplayName отображает название страны / региона на языке локализованной версии .NET Framework. Например, свойство DisplayName отображает страну / регион на английском языке на английской версии .NET Framework и на испанском языке на испанской версии .NET Framework .

Таким образом, похоже, что нет списка названий стран на каждом языке в .NET Framework, только на том языке, на котором установлена ??установленная .NET Framework.


Либо используйте DisplayName(дает имя в текущей структуре культуры), либо NativeName(дает имя в родной культуре), а не .IsoNames.CountryNames.GetName(CultureInfo culture, string countrycode);


0

Довольно поздний ответ:

В моем приложении пользователь может выбрать язык (среди языков, поддерживаемых приложением), и в пользовательском интерфейсе мне нужно отобразить названия стран на выбранном языке.

Я обнаружил, что IoNames пакета NuGet полностью заполняет эту цель. Он предоставляет метод

DisplayName

и таким образом преодолевает ограничения, связанные с DisplayName.

C # ,. сеть,
Похожие вопросы