0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
1

Кнопка смены языка

02.10.2015, 23:54. Показов 9412. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Написал небольшую программу, и решил сделать для неё английскую локализацию.
Нагуглил видео о том, как это сделать при помощи культур. Вроде все хорошо, но во всех примерах смена языка осуществляется при помощи ComboBox. Я же хочу, что бы смена языка происходила по нажатию кнопки. Если текущая культура русская, то, при нажатии кнопки меняется на английскую. И наоборот, если культура английская, то при нажатии на эту же кнопку культура поменяется на русскую. Возможно ли это, и если да, то как?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2015, 23:54
Ответы с готовыми решениями:

Клавиши смены языка...
Добрый вечер, форумчане...:friends: Не работают клавиши смены языка (ctrl+alt)... Как и слева, так...

Задача смены языка на странице
Всем доброго времени суток. Помогите решить задачу пожалуйста. Есть страница на которой...

i18next способы смены языка
Я сделал два хелпера для создания компонента с переводом слова, всё работает. import moment from...

Отловить нажатие клавиш смены языка
Вот на подобии этого, только вот не сильно понимаю как сделать, исправьте (Тоесть хочу, чтобы при...

3
Эксперт .NET
6452 / 4053 / 1599
Регистрация: 09.05.2015
Сообщений: 9,485
03.10.2015, 01:09 2
Лучший ответ Сообщение было отмечено sw0rl0k как решение

Решение

Что-то банальное типа
C#
1
2
3
4
            if (Thread.CurrentThread.CurrentUICulture.Name == "ru-RU")
                Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
            else
                Thread.CurrentThread.CurrentUICulture = new CultureInfo("ru-RU");
в обработчике кнопки не подходит?
1
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
03.10.2015, 23:15  [ТС] 3
Someone007, да, культуру он меняет. Но как теперь перегрузить форму, что бы изменения стали заметны?

Добавлено через 19 минут
Сам нашел решение, если кому интересно, то вот оно:

Заходим в Проект -> Свойства -> Параметры. Создаем параметр Language типа string.
Далее при загрузке главной формы пишем следующее:
C#
1
2
3
4
5
6
public MainForm()
        {
            System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(Properties.Settings.Default.Language);
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(Properties.Settings.Default.Language);
            InitializeComponent();
        }
А на обработчик кнопки смены языка вешаем следующее
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (System.Threading.Thread.CurrentThread.CurrentUICulture.Name == "ru-RU")
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");
                System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
                Properties.Settings.Default.Language = "en-US";
                Properties.Settings.Default.Save();
                Application.Restart();
 
            }
            else
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("ru-RU");
                System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("ru-RU");
                Properties.Settings.Default.Language = "ru-RU";
                Properties.Settings.Default.Save();
                Application.Restart();
            }
И теперь и язык будет сразу меняться, и запоминаться и оставаться таким-же при следующим заходе в программу
0
Эксперт .NET
6452 / 4053 / 1599
Регистрация: 09.05.2015
Сообщений: 9,485
03.10.2015, 23:39 4
Если мне не изменяет память, язык должен меняться без перезапуска программы.
0
03.10.2015, 23:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2015, 23:39
Помогаю со студенческими работами здесь

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

Шаблоны проектирования для смены языка программы.
Требуется создать библиотеку для смены языка пользовательского интерфейса программ. В принципе,...

Win7 Professional не стартует после смены языка интерфейса
Надо было сменить с русского на английский. В Win7 Professional это возможно только вручную по...

Не запоминаются настройки клавиш для смены языка ввода
Всем привет! Ситуация в следующем. У меня Windows 10 64-bit Ultimate. Не лицензия. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru