Qt QObject::tr()未正确翻译语言 QLocale系统语言环境; LOG_ERROR()

Qt QObject::tr()未正确翻译语言 QLocale系统语言环境; LOG_ERROR(),qt,blackberry-10,blackberry-cascades,Qt,Blackberry 10,Blackberry Cascades,翻译可能未加载。以下是加载文件的方法: QLocale systemLocale; LOG_ERROR() << "SYSTEM LANGUAGE:" << systemLocale.languageToString(systemLocale.language()); LOG_ERROR() << QObject::tr("Welcome"); 例如,这将尝试在法语设备上加载来自app/native/qm/my_app_fr.qm的翻译 请注意,默认情况下,

翻译可能未加载。以下是加载文件的方法:

QLocale systemLocale;
LOG_ERROR() << "SYSTEM LANGUAGE:" << systemLocale.languageToString(systemLocale.language());
LOG_ERROR() << QObject::tr("Welcome");
例如,这将尝试在法语设备上加载来自
app/native/qm/my_app_fr.qm
的翻译


请注意,默认情况下,更改设备语言后必须重新启动应用程序。当手机语言更改时,您可以使用更新翻译。收听信号,删除旧的转换器,然后加载新的转换器(与上面的代码相同)。

您是否翻译了此字符串?您是否正确地将翻译集成到构建中?请参阅本文。我们可以检查当前使用的翻译文件吗?
QTranslator translator;
QString locale_string = QLocale().name();
QString filename = QString("my_app_%1").arg(locale_string);
if (translator.load(filename, "app/native/qm")) {
    app.installTranslator(&translator);
}