Qt中的消息无法翻译

时间:2015-01-11 18:08:25

标签: c++ qt

我为我的应用程序创建了翻译。我已经安装了加载了翻译文件的QTranslator实例,它似乎正在工作,除了一个案例,只有那种情况。

有一个方法类,如下所示:

QString MultiEditorNumeric::getTabLabel()
{
    return tr("Number");
}

lupdate注意到该消息,我将其翻译并与lrelease一起发布,但在运行时,该方法返回的消息仍为"Number"

我甚至修改了方法,因为我无法相信它:

QString MultiEditorNumeric::getTabLabel()
{
    QString s = tr("Number");
    qDebug() << s;
    return s;
}

是的,这是确切的地方,数字无法翻译。调试消息不存在。

我在以.qm后缀命名的文件下发布翻译。此文件将添加到我的项目资源中,并编译为二进制文件。我已经尝试从资源中删除qm文件并重新添加它,但它没有帮助。

我还能做什么?我可以检查什么?

1 个答案:

答案 0 :(得分:1)

我的班级在类声明中没有Q_OBJECT宏。我没有从lupdate注意到它,因为我运行lupdate的脚本正在清除来自lupdate的所有邮件。我添加了Q_OBJECT,它立即开始工作。