Russian Qt Forum
Ноябрь 23, 2024, 05:33
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Интернационализация, локализация
>
Динамическая смена языка прораммы
Страниц:
1
[
2
]
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Динамическая смена языка прораммы (Прочитано 28542 раз)
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...