crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

AzateQ
  опции профиля:
сообщение 16.4.2011, 22:54
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.4.2011
Пользователь №: 2605

Спасибо сказали: 1 раз(а)




Репутация:   0  


Никак не могу разобраться с тем, как выводить готовые формы переведенными...
Создаю в Qt Creator проект, ничего не добавляю, просто пустое окно.
Редактирую .pro, добавляя TRANSLATIONS ..._ru.ts
Запускаю lupdate, а потом открываю сгенерированный файл в Linguist'е. Он, понятное дело, находить только MainWindow, перевожу его, при этом Linguist в окне "Исходники и формы" корректно отображает имя формы на русском языке...
Далее запускаю lrelease, и устанавливаю перевод в main.cpp, потом, как я понимаю, надо подредактировать конструктор, чтобы окно переведенным выходило, но что там писать, я так и не додумался.
Если не использовать .ui все работает, но хотелось бы научиться делать это еще и используя Designer...
Может я в поисковиках какие-то неправильные запросы ввожу, но ничего толкового на эту тему не нашел... Да и вообще, кругом копипасты немногочисленной информации о работах с формами, зато материалов про добавление виджетов через код пруд пруди... Полистал Шлее, полистал стандартную справку, но ничего полезного так и не нашел...
Надеюсь, что хоть тут помогут.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
3 страниц V   1 2 3 >  
Начать новую тему
Ответов (1 - 22)
Litkevich Yuriy
  опции профиля:
сообщение 16.4.2011, 23:29
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AzateQ @ 17.4.2011, 1:54) *
и устанавливаю перевод в main.cpp
как устанавливаешь?
Цитата(AzateQ @ 17.4.2011, 1:54) *
потом, как я понимаю, надо подредактировать конструктор
ничего не надо, где ты такое прочитал?

Цитата(AzateQ @ 17.4.2011, 1:54) *
Может я в поисковиках какие-то неправильные запросы ввожу, но ничего толкового на эту тему не нашел.
надо в Асистент смотреть, там всё есть
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AzateQ
  опции профиля:
сообщение 17.4.2011, 0:37
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.4.2011
Пользователь №: 2605

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 17.4.2011, 0:29) *
как устанавливаешь?

QApplication a(argc, argv);
QTranslator tran;
tran.load("..._ru");
a.installTranslator(&tran);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.4.2011, 1:44
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AzateQ @ 17.4.2011, 3:37) *
tran.load("..._ru");
что возвращает?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AzateQ
  опции профиля:
сообщение 17.4.2011, 11:05
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.4.2011
Пользователь №: 2605

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 17.4.2011, 2:44) *
что возвращает?

Ну, видимо ссылку на файл ..._ru.qm, который лежит в папке проекта.
Потом через installTranslator он устанавливается.
И тут внезапно вызывается MainWindow, но без каких-либо указаний на необходимость перевести его...

QApplication a(argc, argv);
QTranslator tran;
tran.load("..._ru");
a.installTranslator(&tran);
MainWindow w;
w.show();
return a.exec();

И у меня абсолютно никаких мыслей по поводу того, что надо там подправить...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 17.4.2011, 18:48
Сообщение #6


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Та же проблема. Как ни пробовал, все равно не подхватывается локализация.
Подключал также как и выше.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.4.2011, 6:42
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


AzateQ, в документацию посмотрите

и напечатайте и приведите сюда результат работы функции работы
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AzateQ
  опции профиля:
сообщение 18.4.2011, 18:08
Сообщение #8


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.4.2011
Пользователь №: 2605

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 18.4.2011, 7:42) *
AzateQ, в документацию посмотрите

и напечатайте и приведите сюда результат работы функции работы

Я не совсем понимаю, что вы от меня хотете и чего добиваетесь наводящими вопросами...
Есть класс формы, созданный Creator'ом, есть файл с переводом, причем подключенный к проекту, потому что обычные виджеты, добавляемые из кода корректно отображают перевод, но ничего этого нет, если подключать форму... Я уже с горя начал добавлять в statusBar Label'ы и явно через setText(tr("...")) пытаюсь вывести хоть что-то, но безрезультатно... И даже в Designer'е менял локализацию с RF на US...
Нельзя ли просто показать листинг простенькой стандартной формочки с переведенным заголовком, как его Linguist отображает в предпросмотре?.. Ну 100% я неправильно вызываю форму:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTranslator trans;
    trans.load("intern_ru");
    a.installTranslator(&trans);
    MainWindow w;
    w.show();

    return a.exec();
}


Надо ведь как-то через функцию tr() вызывать, но как, я без понятия...
Ну или хотя бы тыкните лицом в то место в мануале, где надо читать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 18.4.2011, 22:41
Сообщение #9


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Посмотрите это.
Этот пример у меня работает, а вот то что я сам писал - нет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AzateQ
  опции профиля:
сообщение 18.4.2011, 23:31
Сообщение #10


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.4.2011
Пользователь №: 2605

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(RazrFalcon @ 18.4.2011, 23:41) *
Посмотрите это.
Этот пример у меня работает, а вот то что я сам писал - нет.

Спасибо!
Чуть-чуть упростил код по ссылке и все 3 метки стали корректно отображаться.
Но ведь там ui грузится из main'а, так что вопрос остается открытым, ибо если грузить User Interface из конструктора класса формы, то ничего не получается...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 19.4.2011, 0:36
Сообщение #11


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Я знаю. У меня тоже не грузится. Просто тот вариант РАБОТАЕТ =)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.4.2011, 7:04
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AzateQ @ 18.4.2011, 21:08) *
Я не совсем понимаю, что вы от меня хотете
никаких наводящих вопросов. Вопрос прямее некуда в сообщении №4
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 19.4.2011, 14:48
Сообщение #13


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


У меня true. Форма как была английской, так и осталась.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 19.4.2011, 16:24
Сообщение #14


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Вот пример. Он не работает.
Прикрепленные файлы
Прикрепленный файл  trans_test.tar.gz ( 1.97 килобайт ) Кол-во скачиваний: 257
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AzateQ
  опции профиля:
сообщение 19.4.2011, 17:58
Сообщение #15


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.4.2011
Пользователь №: 2605

Спасибо сказали: 1 раз(а)




Репутация:   0  


ЭПИК ФЭИЛ!
Импортировал свой тестовый проект в С++ через Add-in и внезапно все заработало...
Столько нервов и времени потрачено впустую...
Неспроста меня настораживало предупреждение от Creator'a о том, что не возможно отладить в силу некорректно настроенных отладчиков, которые он, к слову, добавил в список автоматически...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 19.4.2011, 18:24
Сообщение #16


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Цитата(AzateQ @ 19.4.2011, 17:58) *
Импортировал свой тестовый проект в С++ через Add-in и внезапно все заработало...

:huh:
Студия+винда?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AzateQ
  опции профиля:
сообщение 19.4.2011, 19:53
Сообщение #17


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.4.2011
Пользователь №: 2605

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(RazrFalcon @ 19.4.2011, 19:24) *
Цитата(AzateQ @ 19.4.2011, 17:58) *
Импортировал свой тестовый проект в С++ через Add-in и внезапно все заработало...

:huh:
Студия+винда?

Ну да, некорректно выразился, импортировал в VS2008. Стоит Win7 HomeBasic, x64.
А в ошибке Qt Creator писал: "None of the debugger engines 'Cdb engine, Gdb engine' capable of debugging binaries of the type 'x86-windows-msvc2008-pe-32bit' is configured correctly." Попытался настроить, а там можно только новый отладчик добавить, дальше мне стало лень вникать, да и знаний у меня почти нет, так что я просто забил. Но, как оказалось, очень зря...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AzateQ
  опции профиля:
сообщение 20.4.2011, 18:49
Сообщение #18


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.4.2011
Пользователь №: 2605

Спасибо сказали: 1 раз(а)




Репутация:   0  


To RazrFalcon
Если вдруг нужен мой рабочий пример, могу сбросить.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 20.4.2011, 19:38
Сообщение #19


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Да. Спасибо. Так как у меня ни в какую.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AzateQ
  опции профиля:
сообщение 24.4.2011, 10:05
Сообщение #20


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.4.2011
Пользователь №: 2605

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(RazrFalcon @ 20.4.2011, 20:38) *
Да. Спасибо. Так как у меня ни в какую.

Сорри, совсем забегался и забыл...
Прикрепленный файл  Qt_VS2008_Lab9.zip ( 5.4 килобайт ) Кол-во скачиваний: 172
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 24.4.2011, 10:31
Сообщение #21


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Яху!

Раскоментирование:
translator->load("ru_ru");
qApp->installTranslator(translator);

сделало форму русской.
Буду пилить, почему у меня не работает мой пример.

Большое спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AzateQ
  опции профиля:
сообщение 24.4.2011, 10:38
Сообщение #22


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.4.2011
Пользователь №: 2605

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(RazrFalcon @ 24.4.2011, 10:31) *
Яху!
Большое спасибо.

Рад, что и от меня была хоть какая-то польза=)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 24.4.2011, 12:55
Сообщение #23


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Все пашет.
Снес все из main.cpp.
В конструктор класса формы добавил:
translator = new QTranslator;
translator->load("program_ru");
qApp->installTranslator(translator);
И все. Еще раз спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V   1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 18.6.2025, 14:43