CultureInfo: отображать язык со своей культурой - PullRequest
0 голосов
/ 04 июля 2018

Название может быть не очень ясным, но то, что я хочу сделать, очень просто: я хочу отобразить список культур по их названиям, например так:

  • Английский для культуры "en"
  • Немецкий для культуры "де"
  • Французский для культуры "fr
  • Italiano для культуры "it"
  • Español для культуры "es"
  • и т.д ...

Ответы [ 3 ]

0 голосов
/ 04 июля 2018

Будет отображаться имя на требуемом (родном) языке:

Console.WriteLine(System.Globalization.CultureInfo.GetCultureInfo("en").NativeName);
Console.WriteLine(System.Globalization.CultureInfo.GetCultureInfo("de").NativeName);
Console.WriteLine(System.Globalization.CultureInfo.GetCultureInfo("fr").NativeName);
0 голосов
/ 04 июля 2018

Приведенный ниже фрагмент кода соберет всю доступную культуру и распечатает ее в табличном формате. Вывод кода приведен ниже,

protected void Page_Load(object sender, EventArgs e)

    {

        CultureInfo[] cinfo = CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures);

        Response.Write("<table border=\"1\"><tr><th>Country Name</th><th>Language-Country code</th></tr>");

        foreach (CultureInfo cul in cinfo)

        {

            Response.Write("<tr>");

            Response.Write("<td>" + cul.DisplayName + " </td><td> " + cul.Name + "</td>");

            Response.Write("</tr>");

        }

        Response.Write("</table>");

    }
0 голосов
/ 04 июля 2018

См. CultureInfo.NativeName :

CultureInfo myCultureInfo = new CultureInfo("es", false);
Console.Write(myCultureInfo.NativeName);

РЕДАКТИРОВАТЬ: изменил DisplayName метод на NativeName, как я понял, что ОП попросил его.

...