Russian Qt Forum
Июня 24, 2025, 14:45
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Интернационализация, локализация
>
Динамическая смена языка прораммы
Страниц:
1
[
2
]
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Динамическая смена языка прораммы (Прочитано 29331 раз)
Delphin
Гость
Re: Динамическая смена языка прораммы
«
Ответ #15 :
Октября 21, 2008, 10:25 »
Так сказано в книге Жасмин Бланшет, Марк Саммерфилд "Qt4 программирование GUI на С++"
Qt генерирует собитие LanguageChage при изменении содержимого объекта QTranslator
так там сказано.
а оно видемо нифига не генирирует.
Вот в том то и вопрос, как сделать динамическое переключение языков не только в главном окне, но и в других классах.
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Динамическая смена языка прораммы
«
Ответ #16 :
Октября 21, 2008, 10:38 »
а если просто удалить переводчик? Перевод к исходному состоянию не возвращается?
Записан
Юра.
ритт
Гость
Re: Динамическая смена языка прораммы
«
Ответ #17 :
Октября 21, 2008, 10:44 »
вроде бы LocaleChange/LanguageChange раздаётся только виджетам...помню, я ещё удивлялся этому, когда код листал, но специально я не проверял...
Записан
Delphin
Гость
Re: Динамическая смена языка прораммы
«
Ответ #18 :
Октября 21, 2008, 10:46 »
У меня в главном окне сделана менюшка с языками, так вот все если выбираешь язык (неважно какой), то все менюшки заголовки переводятся. кроме этого класса. в этом классе свои менюшки как были на английском так они и остаются на английском. Хотя если тупо менять в методе перевода, на русский язык, менюшки пишутся на русском.
один вывод либо не генрируется событие LanguageChange или обработчик событий RecentsManager::changeEvent(QEvent *event) не работает как положено
Записан
Delphin
Гость
Re: Динамическая смена языка прораммы
«
Ответ #19 :
Октября 21, 2008, 10:48 »
ага а этот класс у меня собственно от QObject
Записан
Delphin
Гость
Re: Динамическая смена языка прораммы
«
Ответ #20 :
Октября 21, 2008, 10:51 »
Вот блин,сделал класс предком от QWidget и все заработало. Огромный пасиб. Вег живи век учись
Записан
ритт
Гость
Re: Динамическая смена языка прораммы
«
Ответ #21 :
Октября 21, 2008, 12:19 »
я считаю, что это - недочёт, т.к. в консольном приложении вообще не будет виджетов, но installTranslator задекларирован как раз в QCoreApplication...и получается, что нет возможности динамически менять языки, не изобретая велосипеда...
ещё кто-нибудь так считает?
скорее всего, позже создам таску по поводу в трекере троллей...
«
Последнее редактирование: Октября 21, 2008, 12:20 от Константин
»
Записан
Delphin
Гость
Re: Динамическая смена языка прораммы
«
Ответ #22 :
Октября 21, 2008, 12:27 »
в консоли может быть другая политика
Зачем там динамически переключать языки.
Даже не могу представить задачи в которая была бы реализована с помощью консольного приложения и в нем бы нужно было менять динамически языки. Хотя как знать как знать.
Записан
ритт
Гость
Re: Динамическая смена языка прораммы
«
Ответ #23 :
Октября 21, 2008, 12:43 »
навскидку мне сразу приходит на ум sgd (super grub disk) - там очень удобно, что можно выбрать любой из поддерживаемых языков и не угадывать потом что за кнопочку ты нажал и почему бут-сектор сдох
Записан
bebe
Гость
Re: Динамическая смена языка прораммы
«
Ответ #24 :
Октября 24, 2008, 15:49 »
есть у меня похожая заморочка -
создал командой:Lupdate xx.pro файл перевода с переводами сразу для нескольких классов.
подключаю к приложению - перевод срабатывает только для класса, котороый является дочерним от QMainWindow,
в остальных классах нет, хотя они предки от других классов QT - где промахнулся?
Записан
ритт
Гость
Re: Динамическая смена языка прораммы
«
Ответ #25 :
Октября 24, 2008, 15:58 »
покажи как подключаешь и что за классы...
Записан
bebe
Гость
Re: Динамическая смена языка прораммы
«
Ответ #26 :
Октября 24, 2008, 17:03 »
QApplication *pSApp; - указатель на объект приложения
pTranslator->load("trans_en.qm",".") - файл грузится, что проверил на работающих переводах
pSApp->installTranslator(pTranslator);
больше ничего не делаю,
я почитал книжку и вразумел, что все команды интерфейса после этого еще надо перевызвать чтобы они обновили перевод..
Записан
ритт
Гость
Re: Динамическая смена языка прораммы
«
Ответ #27 :
Октября 24, 2008, 17:23 »
создавай объекты после установки транслятора
Записан
ритт
Гость
Re: Динамическая смена языка прораммы
«
Ответ #28 :
Октября 27, 2008, 11:10 »
Цитата: Константин от Октября 21, 2008, 12:19
я считаю, что это - недочёт, т.к. в консольном приложении вообще не будет виджетов, но installTranslator задекларирован как раз в QCoreApplication...и получается, что нет возможности динамически менять языки, не изобретая велосипеда...
ещё кто-нибудь так считает?
скорее всего, позже создам таску по поводу в трекере троллей...
Цитировать
Also, I don't see the need to update translations
(QEvent::LanguageChange) in a console application. There are no strings
that are persistently visible to the user, everything the user sees is
printed again to the screen when it becomes relevant next time, in
which case tr() is called again with a newly installed or changed
QTranslator.
т.е., попросту говоря, всегда делайте cout << tr(...) и не канифольте моск.
между тем, это не решает задачу, где в гуёвом приложении имеется группа QObject'ов, желающих перевести что-то на опр.событие (например, плагины).
ну, режект - есть режект.
Записан
bebe
Гость
Re: Динамическая смена языка прораммы
«
Ответ #29 :
Октября 27, 2008, 12:07 »
спасибо ! подумаю - наверно в show() буду перевызывать все сообщения, что требуется переводить или создам аналогичный свой метод
Записан
Страниц:
1
[
2
]
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...