Неполная русификация QT |
Здравствуйте, гость ( Вход | Регистрация )
Неполная русификация QT |
gogi |
7.7.2008, 9:42
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.6.2008 Пользователь №: 207 Спасибо сказали: 0 раз(а) Репутация: 0 |
Многие классы QT содержат в своём коде статически забитый англоязычный текст.
Примеры: - Контекстное меню QLineEdit вызываемое по щелчку правой кнопки мыши. Здесь присутствуют "Cut", "Copy" и т.д. Я даже нашёл в исходниках библиотеки то место, где эти надписи приписываются. Конечно можно в исходниках подправить на "Вырезать", "Копировать" и т.п. или же писать свой обработчик контекстного меню, но это всё кажется как-то сложно. - QMessageBox::information (и другие статические функции из этого модуля) приводят к появлению диалога со стандартными кнопками "Ok", "Cancel" и т.д. Хотя могли бы эти надписи и меняться в зависимости от языка пользователя... Наверняка найдётся и ещё куча подобного, если поискать. Так вот, как всё это дело грамотно подправить? Сообщение отредактировал gogi - 7.7.2008, 9:50 |
|
|
void* |
7.7.2008, 10:46
Сообщение
#2
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
QMessageBox::information (и другие статические функции из этого модуля) приводят к появлению диалога со стандартными кнопками "Ok", "Cancel" и т.д. Хотя могли бы эти надписи и меняться в зависимости от языка пользователя... а ты пользуйся не статической функцией, а создай свой месседжбокс с нужными тебе кнопками и текст в них заключи в tr()... дальше уже дело linguist'a... писать свой обработчик контекстного меню, но это всё кажется как-то сложно а мне кажется что это не так уж и сложно... почти все базовые слоты есть готовенькие, тебе остается только создать само меню с экшенами и соединить их с нужными слотами ЗЫ тем более если тебе надо в своей программе делать другое контекстное меню(что-то добавить или убрать) то тебе так или иначе придется писать свое контекстное меню |
|
|
gogi |
7.7.2008, 11:39
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.6.2008 Пользователь №: 207 Спасибо сказали: 0 раз(а) Репутация: 0 |
QMessageBox::information (и другие статические функции из этого модуля) приводят к появлению диалога со стандартными кнопками "Ok", "Cancel" и т.д. Хотя могли бы эти надписи и меняться в зависимости от языка пользователя... а ты пользуйся не статической функцией, а создай свой месседжбокс с нужными тебе кнопками и текст в них заключи в tr()... дальше уже дело linguist'a... Я в QMessageBox.h нашёл прототип функции
То, что нужно. Странно, что она в хелпе не описана. Может быть оставлена для совместимости с ранними версиями? писать свой обработчик контекстного меню, но это всё кажется как-то сложно а мне кажется что это не так уж и сложно... почти все базовые слоты есть готовенькие, тебе остается только создать само меню с экшенами и соединить их с нужными слотами ЗЫ тем более если тебе надо в своей программе делать другое контекстное меню(что-то добавить или убрать) то тебе так или иначе придется писать свое контекстное меню Сложно. В других библиотеках создал какой нибудь TEdit и ничего больше не надо делать. Всё стандартное поведение устраивает. А если мне надо в программе много раз использовать этот виджет? Тут надо писать либо производный класс (какой-нить QMyLineEdit в котором заменять менюшку) и из кода создавать объекты этого класса. Но тогда QT designer не запользуешь. Задача решаема-то, конечно, но неудобно. PS Посмотрел, "болезнью" не только QLineEdit страдает, но и другие Edit'ы. |
|
|
Tonal |
9.7.2008, 7:19
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
2 gogi
Точно всё забито и не меняется? А ты русскую локализацию Qt к проге подключать пробовал? |
|
|
gogi |
14.7.2008, 9:02
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.6.2008 Пользователь №: 207 Спасибо сказали: 0 раз(а) Репутация: 0 |
Tonal, разобрался уже. Я просто не знал, что такая локализация есть, пока не глянул в QTDIR/translations
|
|
|
Litkevich Yuriy |
15.7.2008, 14:48
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
на самом деле, у тролей много попадается сообщений необрамленных в tr(), на прогорге этот вопрос поднимался.
|
|
|
Текстовая версия | Сейчас: 14.1.2025, 17:17 |