Название: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: __Heaven__ от Февраль 03, 2015, 17:53 Привет всем. Вычитал, что для переключения языка без перезагрузки приложения необходимо сделать:
Код Всё круто, но что делать, если я хочу английский? Название: Re: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: Old от Февраль 03, 2015, 18:06 А что, так работает?
Не должно. :) Название: Re: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: __Heaven__ от Февраль 03, 2015, 18:15 Не проверял. У меня работает мой код:
Код
Название: Re: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: __Heaven__ от Февраль 03, 2015, 18:17 Вообще мне не нравится вызов деструктора для translator.
Правильно ли будет вынести в глобальные переменные указатель на translator? Название: Re: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: Old от Февраль 03, 2015, 18:21 Вообще мне не нравится вызов деструктора для translator. Почему не нравится?Правильно ли будет вынести в глобальные переменные указатель на translator? Вроде все логично: удалили старый транслятор, создали и загрузили новый, обновили ui. Название: Re: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: __Heaven__ от Февраль 03, 2015, 18:29 В моём коде нет действия "удалили старый транслятор"
Я имел в виду, что после ui->retranslateUi(this); следует деструктор для QTranslator translator неявно. Это же получается, что у меня стандартные диалоги, вызванные в будущем переведены не будут. Название: Re: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: Old от Февраль 03, 2015, 18:33 В моём коде нет действия "удалили старый транслятор" Да, поэтому я и предлагаю создавать его динамически.Я имел в виду, что после ui->retranslateUi(this); следует деструктор для QTranslator translator неявно. Это же получается, что у меня стандартные диалоги, вызванные в будущем переведены не будут. Название: Re: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: __Heaven__ от Февраль 03, 2015, 18:38 Думал об этом.
Получается, нет необходимости создавать транслятор в main.cpp? Почему-то меня заклинило, что он там должен быть. Название: Re: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: Alex Custov от Февраль 03, 2015, 18:39 Всё круто, но что делать, если я хочу английский? Удалить старый транслятор и не устанавливать новый? Текст на формах станет оригинальным, т.е. английским. Название: Re: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: Alex Custov от Февраль 03, 2015, 18:40 Получается, нет необходимости создавать транслятор в main.cpp? Почему-то меня заклинило, что он там должен быть. Конечно. Нужно только где-нибудь хранить указатель на него когда потребуется сделать removeTranslator(). Название: Re: Смена языка приложения на лету между исходными текстами и _ru.qm Отправлено: __Heaven__ от Февраль 03, 2015, 19:10 Спасибо. Что-то смутил пример из доков...
Создаю в конструкторе класса транслятор, далее только дергаю removeTranslator и installTranslator |