Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
good_game |
6.2.2012, 10:12
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0
|
В разработанной программе используются стандартные диалоговые окна QFontDialog, QPrintDialog и тому подобные.
Подскажите, как их русифицировать? В них все подписи английские. Тот же вопрос относится и к контекстному меню элементов работы с текстом: чтобы было не "Cut/Copy/Paste", а "Вырезать/Скопировать/Вставить". Можно, конечно, создавать своё меню из QAcion и прикреплять к виджету, но хотелось бы использовать уже готовые классы, а не изобретать велосипед. |
|
|
|
|
wiz29 |
6.2.2012, 10:40
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12
|
Смотри в сторону void QCoreApplication::installTranslator ( QTranslator * translationFile ) и нужной тебе локализации.
|
|
|
|
|
Sokoloff |
6.2.2012, 11:37
Сообщение
#3
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11
|
Цитата(good_game @ 6.2.2012, 11:12) Link В разработанной программе используются стандартные диалоговые окна QFontDialog, QPrintDialog и тому подобные. Подскажите, как их русифицировать? В них все подписи английские. Тот же вопрос относится и к контекстному меню элементов работы с текстом: чтобы было не "Cut/Copy/Paste", а "Вырезать/Скопировать/Вставить". Можно, конечно, создавать своё меню из QAcion и прикреплять к виджету, но хотелось бы использовать уже готовые классы, а не изобретать велосипед. Мы используем такой код:
|
|
|
|
|
good_game |
6.2.2012, 12:19
Сообщение
#4
|
|
Студент ![]() Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0
|
Как переводить приложение на другие языки, я знаю. Сгенерированы нужные ts-файлы, обработаны в QLinguist, созданы qm-файлы. В меню теперь можно выбирать язык и надписи в интерфейсе меняютс как надо... за исключением стандартных диалоговых окон и контекстного меню. Вот их то мне и осталось русифицировать.
Оу, прошу прощения. Пока писал своё сообщение, не заметил предыдущее. Сейчас попробую ваше решение. Цитата(Sokoloff @ 6.2.2012, 11:37) Link Цитата(good_game @ 6.2.2012, 11:12) Link В разработанной программе используются стандартные диалоговые окна QFontDialog, QPrintDialog и тому подобные. Подскажите, как их русифицировать? В них все подписи английские. Тот же вопрос относится и к контекстному меню элементов работы с текстом: чтобы было не "Cut/Copy/Paste", а "Вырезать/Скопировать/Вставить". Можно, конечно, создавать своё меню из QAcion и прикреплять к виджету, но хотелось бы использовать уже готовые классы, а не изобретать велосипед. Мы используем такой код: Низкий поклон. Задача решена. Всё работает так, как хотелось. Нет, поторопился. Оказалось, что не всё решено. Файл перевода берётся из директории, где установлен Qt. Теперь стоит вопрос: а как его переносить на другую машину? Попробовал запихать файл перевода (нужен qt_ru.qm) в ресурсы и указать так: Не получилось. Затем попробовал его скопировать в директорию с приложением. Тоже не получается. Что не так делаю? Мда, невнимательно печатаю. Добавил в ресурсы. В коде: Всё работает на любой машине. Всем спасибо за помощь. |
|
|
|
|
RazrFalcon |
13.2.2012, 0:47
Сообщение
#5
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212
|
А TRANSLATIONS_DIR и PROJECT_NAME откуда берутся, из .pro?
|
|
|
|
|
Sokoloff |
13.2.2012, 11:53
Сообщение
#6
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11
|
Цитата(RazrFalcon @ 13.2.2012, 1:47) Link А TRANSLATIONS_DIR и PROJECT_NAME откуда берутся, из .pro? Из cmake, но эта часть не относится к "русификации стандартных окон", это перевод для конкретного приложения. Я ее оставил что бы показать, что надо использовать 2 QTranslator. |
|
|
|
|
RazrFalcon |
14.2.2012, 4:25
Сообщение
#7
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212
|
Именно cmake, или qmake?
Просто интересно. |
|
|
|
|
Sokoloff |
14.2.2012, 19:48
Сообщение
#8
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11
|
Цитата(RazrFalcon @ 14.2.2012, 5:25) Link Именно cmake, или qmake? Просто интересно. Именно cmake cmake/RazorTranslate.cmake Linkcmake/razortranslate.h.in LinkДергается так: razorqt-runner/CMakeLists.txt LinkИ в коде: razorqt-runner/main.cpp LinkТак сложно потому, что используется во многих местах. Если пишешь одну программу, то можно вставить прямо в main.cpp |
|
|
|
| Гость_Anton_* |
14.12.2012, 11:29
Сообщение
#9
|
|
Гости |
Подскажите, как в библиотеках включить перевод? Там же нет main.cpp
|
|
|
|
| Гость_Anton_* |
14.12.2012, 15:03
Сообщение
#10
|
|
Гости |
Цитата(Anton @ 14.12.2012, 11:29) Link Подскажите, как в библиотеках включить перевод? Там же нет main.cpp Разобрался. Надо для библиотеки создать собственный файл TS, скомпиллировать его в qm. В вызывающем приложении подцепить все qm-ы. |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 25.12.2025, 21:15 |