我有一个.h文件,其中定义了一些全局常量。例如,产品名称定义如下:
#define PRODUCT_NAME QString(QT_TRANSLATE_NOOP("QObject", "MyProductName"))
字符串 MyProductName 出现在* .qs中,我也将其翻译。当我想使用那些变量时,我测试了下面的方法,但没有一个返回该翻译,并且始终显示原始文本。
// style 1
setWindowTitle(QObject::tr(PRODUCT_NAME));
// style 2
setWindowTitle(QApplication::translate("QObject", PRODUCT_NAME));
任何想法都表示赞赏。
答案 0 :(得分:0)
使用:
#define PRODUCT_NAME QT_TRANSLATE_NOOP("QObject", "MyProductName")
// style 1
setWindowTitle(QObject::tr(PRODUCT_NAME));
QString tr(const char*)
将返回QString。
更改代码后重新运行lupdate并在ts文件中应用翻译,发布到qm并将其包含在您的应用程序中。