我有一个Qt Linguist * .ts文件,如:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de_DE" sourcelanguage="en_GB">
<context>
<name></name>
<message>
<location filename="classWithStaticMethod.cpp" line="60"/>
<source>File</source>
<translation>Datei</translation>
</message>
</context>
</TS>
如何使用静态方法输入转换对象。
ClassWithStaticMethod.cpp has a static method where a QT_TR_NOOP("File")
出现在第60行。将名称标签留空不起作用。
答案 0 :(得分:1)
在运行int main
函数之前,实例化静态变量(因此运行构造函数代码)。转换代码在QApplication
构造函数中设置(我相信),在输入int main函数之前,它不会运行。因此,您试图在支持它的代码初始化之前获取字符串的转换。
为避免这种情况,您可以接受给定的字符串未被翻译并在每次使用时显式转换它,或者使用Construct on First Use idiom而不是静态成员变量。