Список доступных кодов культуры в C#

В этом примере показано, как вы можете составить список кодов культуры, доступных в системе.

Несколько примеров C# Helper относятся к глобализации, включая Локализовать программу в C# . Чтобы локализовать программу, вам нужно указать код культуры, как в en-US для английского языка в Соединенных Штатах, или de-CH для немецкого языка в Швейцарии.

В этом примере используется следующий код для отображения доступных кодов культуры.

// Список доступных имен культуры.
private void Form1_Load(object sender, EventArgs e)
{
    lvwCultures.FullRowSelect = true;

    // Добавить имена в ListView.
    foreach (CultureInfo culture_info in
        CultureInfo.GetCultures(CultureTypes.AllCultures))
    {
        string specific_name = "(none)";
        try
        {
            specific_name = CultureInfo.CreateSpecificCulture(
                culture_info.Name).Name;
        }
        catch { }

        ListViewItem lvi =
            lvwCultures.Items.Add(culture_info.Name);
        lvi.SubItems.Add(specific_name);
        lvi.SubItems.Add(culture_info.EnglishName);
    }

    // Сортируем имена.
    lvwCultures.Sorting = SortOrder.Ascending;
    lvwCultures.Sort();

    // Цветные культуры.
    Color color1 = Color.FromArgb(192, 255, 192);
    Color color2 = Color.LightGreen;
    Color bg_color = color2;
    string last_name = "";
    foreach (ListViewItem lvi in lvwCultures.Items)
    {
        string item_name = lvi.Text.Split('-')[0];
        if (item_name != last_name)
        {
            // Переключить цвета.
            bg_color = (bg_color == color1) ? color2 : color1;
            last_name = item_name;
        }
        lvi.BackColor = bg_color;
    }

    // Размер столбцов.
    lvwCultures.Columns[0].Width = -2;
    lvwCultures.Columns[1].Width = -2;
    lvwCultures.Columns[2].Width = -2;
}

Код начинается с циклического завершения объектов CultureInfo, возвращаемых CultureInfo.GetCultures (CultureTypes.AllCultures). Для каждого объекта CultureInfo программа добавляет имя культуры, конкретное имя и английское имя в элемент управления ListView. Для некоторых культур метод CreateSpecificCulture может выйти из строя, поэтому программа использует блок try-catch для защиты себя.

Коды культуры изначально не сортируются, поэтому программа ListView сортирует свои значения. Затем он перебирает значения, чтобы дать группам родственных культур одинаковые цвета фона. Когда он перебирает значения, он разбивает имя культуры на символ тире. Например, на немецких языках имеются коды культуры de-DE, de-AT, de-CH и т. д. Этот код вытаскивает de в начале.

Если префикс культуры отличается от предыдущего, код переключает цвет фона, который он использует. В любом случае программа устанавливает текущий цвет фона текущего элемента в текущий цвет.

Источник: http://csharphelper.com/blog/2017/01/list-available-culture-codes-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *