Название: Помогите разобратся с tr() Отправлено: Mirael Karamir от Январь 05, 2007, 11:13 помогите пожайлуста новичку разобратся с работой этой функции. проблема возникла в следующем - когда создаешь собственный класс, который наследует QWidget, не удается добится, что бы работал перевод элементов виджета, хотя бы в вот таком простом примере
Код:
Читал и ассистант, и Бланшет, но внятного ответа, как сделать так, что бы это работало, так и не нашел. Для очищения совести пробовал и другие варианты - наподобие QPushButton::tr, QObject::tr, MyWidget::tr, однако результат тот же. Qt версии 4.2.2 OpenSource (Linux и Windows версии). В Qt 4.1.* таких проблем вроде бы не было. Может знает кто нибудь, что я делаю не так? Заранее спасибо за помощь. Название: Помогите разобратся с tr() Отправлено: bigirbis от Январь 05, 2007, 11:40 1. lupdate (обновление файла перевода)
2. правка файла перевода в текстовом редакторе или Лингвисте 3. lrelease (компиляция файла перевода. получившийся файл должен лежать в рабочем каталоге запускаемого файла) Название: Помогите разобратся с tr() Отправлено: Mirael Karamir от Январь 05, 2007, 11:52 Спасибо, я это все конешно делал :) Все нормально перевел, сделал lrelease? Однако все равно отображаются английские надписи на кнопках
добавлено спустя 2 минуты: Проблема возникла у меня ИМЕННО с QT 4.2.2, раньше мне уже неоднократно приходилось делать подобные вещи c более ранними версиями Qt и проблем не было. Название: Помогите разобратся с tr() Отправлено: bigirbis от Январь 05, 2007, 12:07 Я попробовал, у тебя проблема с 3 пунктом (смотри в скобках)!
Название: Помогите разобратся с tr() Отправлено: Mirael Karamir от Январь 05, 2007, 12:15 Да нет, все там нормально... там все файлы в одном каталоге
добавлено спустя 41 секунду: И что, у тебя получилось? А Qt у тебя какой версии? Название: Помогите разобратся с tr() Отправлено: bigirbis от Январь 05, 2007, 12:16 "В одном каталоге" и "в рабочем каталоге" - разные вещи...
Название: Помогите разобратся с tr() Отправлено: Mirael Karamir от Январь 05, 2007, 12:23 К тому же, этот пример - слегка модифицированный Туториал 4 из Ассистанта (что бы не лепить сюда сотни строчек кода). В реальной проге, в которой я столкнулся с этой проблемой, было немного сложнее - переводилась нормально лишь чать интерфейса, например QMessageBox-ы , положенный на форму QTreeWidget, а вот с кнопками и менюшками QMenu возникла точно такая же трабла, к и в примере выше. Так что тут проблема в чем то другом, а не в файле переводов :)
добавлено спустя 3 минуты: Что бы у тебя не возникало сомнений по этому поводу, я пробовал и такой вариант if(!translator.load("test.qm")){abort();} Программа выполнялась нормально, то есть файл переводов грузился. Название: Помогите разобратся с tr() Отправлено: Dendy от Январь 05, 2007, 13:24 Дружище, всмотрись в СВОЙ код. Сначала у тебя идет конструктор MyWidget, в котором создаются кнопки с текстом на них. Откуда берется переведенньІй текст? Правильно - НИОТКУДА. Потому что транслятор еще не установлен. А устанавливаешь тьІ его ПОСЛЕ конструктора MyWidget.
Код: int main (int argc, char **argv) Название: Помогите разобратся с tr() Отправлено: Mirael Karamir от Январь 05, 2007, 13:38 хм... Твоя правда... Твои советы всегда в тему :) Спасиб :)
|