QLinguist无法翻译警告信息

时间:2013-01-11 08:29:30

标签: qt user-interface linguistics language-translation

在Qlinguist中,我翻译了ui和一些相应的警告消息,生成了qm文件并加载了它,但结果只能翻译ui,而不能翻译那些警告信息。我的代码是这样的:

void MainWindow::translate()
{
     QTranslator translator;
     translator.load ( "Test.qm", "D:\\" );
     qApp->installTranslator ( &translator );
     retranslateUi ( this );
}

MainWindow::MainWindow ( QWidget *parent ) : QMainWindow ( parent )
{
    setupUi(this);
    translate();
    ...
}

我的一条警告信息是这种形式:

QMessageBox::warning( this, QMessageBox::tr("ERROR"), QMessageBox::tr("Invalid IP adress") );

此字符串可以由lupdate加载,我将其翻译在qm文件中,但在运行后仍无法看到其翻译。 Here我问过这件事,但我必须打开这个新问题才能在别人的帮助下解决。有人可以帮我吗?先感谢您。

1 个答案:

答案 0 :(得分:2)

在堆栈上创建翻译器,它将在translate()结束时立即删除。 尝试在堆上创建它,以便它继续存在。