Название: проблема с переводом приложения Отправлено: serega-5508 от Март 23, 2011, 22:41 я создаю панельку с Файл...Правка...Язык....Помощь...:
созданю Action для выбора языка интерфейса: Код: void progect::createActions() прописываю слот: Код: void progect::rusLang() запускаю прогу, компилиться! но когда выбираю Язык -> Русский, то ничего не происходит и не переводит моё приложение! в чём дело? интерфейс изначально на английском естественно! Файл paint2d_rus.qm находится в проекте в папке translations. В чём беда? Название: Re: проблема с переводом приложения Отправлено: alexman от Март 24, 2011, 00:12 Что то с путями!
Название: Re: проблема с переводом приложения Отправлено: serg_hd от Март 24, 2011, 00:38 попробуй добавить что-то вроде:
Код
Название: Re: проблема с переводом приложения Отправлено: lit-uriy от Март 24, 2011, 09:53 >>/translations
такого каталога на видовозе быть не может, а в лине врятли есть Название: Re: проблема с переводом приложения Отправлено: Пантер от Март 24, 2011, 09:59 Для динамического перевода интерфейса нужно сделать как сказал serg_hd.
И, да, ты, наверное, забыл перед /translations добавить точку или двоеточие. Название: Re: проблема с переводом приложения Отправлено: serega-5508 от Март 24, 2011, 21:18 пробовал добавить точку и двоеточие, ничего!!!!
Код: this->actionsLabel1.setText(QApplication::translate("Gui", "ACTION:")); может так надо? Код: this->actions(Label1.setText(QApplication::translate("Gui", "ACTION:"))); Название: Re: проблема с переводом приложения Отправлено: Пантер от Март 24, 2011, 21:47 serg_hd что-то нехорошее написал.
Просто собери все в одну кучу. Т.е. Код И не забудь в конструкторе эту функцию вызвать. Название: Re: проблема с переводом приложения Отправлено: serg_hd от Март 24, 2011, 21:49 капец. this->actionsLabel1 - это обычный QLabel. Вместо "ACTION:" пишешь свой текст в англ. варианте, который должен отображать этот QLabel.
"..." значит, что остальные виджеты переведёшь по такому же принципу. Название: Re: проблема с переводом приложения Отправлено: serg_hd от Март 24, 2011, 21:49 serg_hd что-то нехорошее написал. я не написал, а скопировал кусок с проекта, что в этом коде непонятного?Название: Re: проблема с переводом приложения Отправлено: Пантер от Март 24, 2011, 21:54 Ну, tr ("blja-blja-blja") приятнее выглядит.
Название: Re: проблема с переводом приложения Отправлено: serega-5508 от Март 25, 2011, 01:06 не забыть вызвать какую функцию?????
Название: Re: проблема с переводом приложения Отправлено: ритт от Март 25, 2011, 05:03 вторую :P
Название: Re: проблема с переводом приложения Отправлено: serega-5508 от Март 25, 2011, 16:35 не переводит! :'( оно должно автоматически перевести или как???
Название: Re: проблема с переводом приложения Отправлено: Пантер от Март 25, 2011, 16:36 Давай сюда компилябельный пример, чтобы впустую не гадать.
Название: Re: проблема с переводом приложения Отправлено: serega-5508 от Март 26, 2011, 01:21 вот код:
Код: paint2d::paint2d() вот как выглядит прога: (http://qr) что не так? Название: Re: проблема с переводом приложения Отправлено: serega-5508 от Март 27, 2011, 14:34 вариантов ни у кого нет???
Название: Re: проблема с переводом приложения Отправлено: alexman от Март 27, 2011, 15:34 Так откуда перевод то берете?
Код: void paint2d::changeEvent( QEvent* event ) Название: Re: проблема с переводом приложения Отправлено: serega-5508 от Март 28, 2011, 11:55 нет такого метода у fileMenu, как setText. можете скинуть нормальный кусок кода с коментами?
Название: Re: проблема с переводом приложения Отправлено: alexman от Март 28, 2011, 12:00 Ну это я как пример привел (просто доки под рукой не было)! Надо setTitle. Сделай по примеру!
Название: Re: проблема с переводом приложения Отправлено: serega-5508 от Март 28, 2011, 12:18 а как у меня будет вызываться changeEvent, это же событие. и что здесь означает LanguageChange? file - это путь к .ts файлу.
Название: Re: проблема с переводом приложения Отправлено: alexman от Март 28, 2011, 13:07 а как у меня будет вызываться changeEvent, это же событие. Это виртуальная функция, которую ты переопределяешь: void QWidget::changeEvent ( QEvent * event ) [virtual protected]. Тебе явно это вызывать не нужно.и что здесь означает LanguageChange? Из Qt Assistant:Код: QEvent::LanguageChange - The application translation changed. file - это путь к .ts файлу. Про это QCoreApplication::translate( "paint2d", "File" )? Это и есть получение перевода для слова "File". Из Qt Assistant:Код: QString QCoreApplication::translate ( const char * context, const char * sourceText, const char * disambiguation, Encoding encoding, int n ) [static] |