Название: Qt linguist and Qt Designer Отправлено: tiiL от Август 15, 2012, 16:12 Приветствую всех:
Вопрос такой: Осваиваю Linguist, но не получается подключить переводы к кнопкам, созданным в designer'e, простое у меня приложение: #include <QtGui/QApplication> #include "ling.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); ling w; QTranslator Trans; Trans.load ("ling_ru"); a.installTranslator (&Trans); w.show(); return a.exec(); } #include "ling.h" #include "ui_ling.h" ling::ling(QWidget *parent) : QMainWindow(parent), ui(new Ui::ling) { ui->setupUi(this); } ling::~ling() { delete ui; } void ling::on_enterButton_clicked() { ui->lineEdit->setText (tr("hello")); } текст файла _ru.ts: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> <TS version="2.0" language="ru_RU"> <context> <name>ling</name> <message> <location filename="ling.ui" line="14"/> <location filename="ui_ling.h" line="55"/> <source>ling</source> <translation>Лингвист</translation> </message> <message> <location filename="ling.ui" line="27"/> <location filename="ui_ling.h" line="56"/> <source>enter</source> <translation>Вход</translation> </message> <message> <location filename="ling.cpp" line="18"/> <source>hello</source> <translation>Привет</translation> </message> </context> </TS> расскажите как решить сей вопрос. Название: Re: Qt linguist and Qt Designer Отправлено: kambala от Август 15, 2012, 22:13 устанавливать QTranslator надо до создания каких-либо виджетов, т.е. просто помести строчку ling w; под a.installTranslator (&Trans);
Название: Re: Qt linguist and Qt Designer Отправлено: Bepec от Август 16, 2012, 06:50 Угум. А если хочешь менять на лету - необходимо вызывать ui->retranslateUi(this);
Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 16, 2012, 13:58 Угум. А если хочешь менять на лету - необходимо вызывать ui->retranslateUi(this); Не очень понял как пользоваться этим. У меня получается приложение запускается из другого приложения, и что-то перевод не могу прекрепить, пытаюсь сделать " налету " как вы посоветовали, только не могу понять, у меня приложение запускается и зависает. Название: Re: Qt linguist and Qt Designer Отправлено: Bepec от Август 16, 2012, 14:06 Ну, я вижу, ты привёл тестовый проект с этой ошибкой. Уж с ним то мы точно покажем наглядно твои ошибки.
О. Не, я неправ. Нету тестового проекта и даже кода нету :/ Ну ничем не могу помочь. Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 16, 2012, 15:28 Ну, я вижу, ты привёл тестовый проект с этой ошибкой. Уж с ним то мы точно покажем наглядно твои ошибки. О. Не, я неправ. Нету тестового проекта и даже кода нету :/ Ну ничем не могу помочь. Вот *.h Код: class FormBlock: public QDialog, public Ui::ProcessForm { main.cpp^ Код: int main(int argc, char *argv[]) Код: FormBlock *blockForm; куда мне нужно поместить код с объявлением моих переводов вообще не допру никак Название: Re: Qt linguist and Qt Designer Отправлено: Bepec от Август 16, 2012, 15:53 Вы в корне не понимаете процесс перевода чоле?
Вам нужно в коде программы устанавливать строки с tr(). Потом пропустить проект через лингвист (ну или lupdate). Получите *.ts Далее в лингвисте(или блокноте) перевести строки. Далее зарелизить в лингвисте(ну или lrelease). Вы получите qm файлик, который и загружается в транслятор. PS приду домой сделаю вам тестовый маленький проектик. Но не раньше чем через час-полтора :) Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 16, 2012, 16:01 СПасибо, эти шаги уже известны мне, я вот qm файл не могу подключить к проекту... не могу понять именно как с данным видом проекта.
Название: Re: Qt linguist and Qt Designer Отправлено: kambala от Август 16, 2012, 16:26 Угум. А если хочешь менять на лету - необходимо вызывать ui->retranslateUi(this); У меня получается приложение запускается из другого приложения, и что-то перевод не могу прекрепить, пытаюсь сделать " налету " как вы посоветовали, только не могу понять, у меня приложение запускается и зависает.Код
Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 17, 2012, 09:54 я может Хреново объясняюсь. Проект ling это промакашка использования переводчика, в посте выше указал проект который не поддается переводу, но проблему нашел с помощью отладчика, когда заходит в функцию retranslateUI (); натыкается на кнопку pushbutton и на этом вылетает программа((( почему тоне создается она
Название: Re: Qt linguist and Qt Designer Отправлено: Bepec от Август 17, 2012, 10:00 Создаётся? оО. Поподробнее что там создаётся, пожалуйста.
Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 17, 2012, 10:14 короче только попробовал сделать вот так:
Код: FormBlock::FormBlock(QWidget *parent, const char *name) Код: void retranslateUi(QDialog *ProcessForm) вот не пойму как быть? Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 17, 2012, 14:55 Всё разобрался! не надо было ui->retranslateUI делать
Название: Re: Qt linguist and Qt Designer Отправлено: Bepec от Август 17, 2012, 15:01 Как обычно - думает что решил проблему :)
А проблема у тебя на самом деле была в тебе. setupUi создаёт UI. А ты вызывал retranslateUi до создания чего либо. :) Руки - хороший инструмент. Только их применять нужно умело ;) Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 17, 2012, 15:31 Как обычно - думает что решил проблему :) А проблема у тебя на самом деле была в тебе. setupUi создаёт UI. А ты вызывал retranslateUi до создания чего либо. :) Руки - хороший инструмент. Только их применять нужно умело ;) Заметил))) уколол))) все проблемы в голове. вопрос такой перевожу библиотеку, в нейто как действовать, ? Название: Re: Qt linguist and Qt Designer Отправлено: Bepec от Август 17, 2012, 15:36 Какую библиотеку? подробнее пож.
Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 17, 2012, 15:52 Какую библиотеку? подробнее пож. CONFIG += staticlib То есть там только описания функций + диологи. вот в предыдущих проектах я в тело main производит загрузку переводо, а теперь то где сие счастье сделать? Название: Re: Qt linguist and Qt Designer Отправлено: Bepec от Август 17, 2012, 17:04 А что мешает запихать файлы переводов в ресурсы?
Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 20, 2012, 07:53 А что мешает запихать файлы переводов в ресурсы? вот на этот вопрос, я могу ответить, я не умею... сколько не пытался((( Название: Re: Qt linguist and Qt Designer Отправлено: Bepec от Август 20, 2012, 08:26 Пользуешься, по всей видимости QtCreator'ом? :)
Тогда тут я не помощник. Я его открыл, попытался собрать hello world, не смог - закрыл :D Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 20, 2012, 08:43 вот в этом то и вся проблема
Название: Re: Qt linguist and Qt Designer Отправлено: Bepec от Август 20, 2012, 08:51 Но эта тема уже вроде разжёвана до кашки - включи поиск по форуму и просветляйся.
PS а я бы посоветовал переходить на Visual Stidio + Qt Addin. Гораздо удобнее QtCreator'a, хотя и свои заморочки есть :) Название: Re: Qt linguist and Qt Designer Отправлено: tiiL от Август 20, 2012, 09:33 ТУт много подводных камней, по которым я не имею права менять средУ
Название: Re: Qt linguist and Qt Designer Отправлено: Bepec от Август 20, 2012, 09:50 Не верю, но не буду добивать :D
PS поиск по форуму рулит всё таки ;) |