Alex Sprint Ответов: 1

Как локализовать winform


Привет, я хочу локализовать winform, но я попробовал следующий фрагмент кода. Но когда испанский язык через combobox я не могу просмотреть форму на испанском языке. Я добавил необходимые файлы ресурсов и сделал локализуемое свойство истинным.

Что я уже пробовал:

private void ChangeLanguage(string lang)
        {
            foreach (Control c in this.Controls)
            {
                ComponentResourceManager resources = new ComponentResourceManager(typeof(MainForm));
                resources.ApplyResources(c, c.Name, new CultureInfo(lang));
            }
        }

        private void MainForm_Load(object sender, EventArgs e)
        {
            cbSelectLanguage.Items.Add("English");
            cbSelectLanguage.Items.Add("Spanish");
            //cbSelectLanguage.Items.Add("French");
            //cbSelectLanguage.Items.Add("Italian");
            cbSelectLanguage.SelectedIndex = 0;
        }

        private void cbSelectLanguage_SelectedIndexChanged_1(object sender, EventArgs e)
        {
            if (cbSelectLanguage.SelectedItem.ToString() == "English")
            {
                ChangeLanguage("en");
            }
            else
            {
                ChangeLanguage("es-ES");
            }
        }

1 Ответов

Рейтинг:
6

Leo Chapiro

Эта часть все еще отсутствует в вашем решении:

// C#
// Sets the UI culture to Spain
Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-ES");


Посмотри:
Walkthrough: Localizing Windows Forms


Alex Sprint

Спасибо _duDE_ :)