我有多个i18n qm文件,现在翻译就像魅力一样。 我面临的问题是,我有以下文件夹结构:
project
-build
--debug
--release
-src
-i18n
现在我的同事们有不同的构建文件夹结构,因此:
translator.load("../../i18n/{translationfile}");
不为他们工作。 一种解决方案可能是解决特定的构建文件夹结构,但这不是我想要的。我更喜欢将所有翻译导出到应用程序本身,因此它可能没有任何特殊的文件夹结构。只需给客户二进制文件,就像它应该的那样。
无论如何,我不知道如何在qmake中做到这一点(在cmake中也没有,但是qmake是我需要在这里使用的。)
我看了一眼:How to Integrate Qt4 qm files into binary using cmake and QRC?但仍然不确定。
任何帮助表示感谢。
答案 0 :(得分:0)
看起来我修好了。
而不是
translator.load("../../i18n/{translationfile}");
我用
QDir dir(":/i18n");
translator.load(dir.absoluteFilePath({translationFile}));
我还在我的专业文件中添加了一个i18n.qrc文件:
RESOURCES += images.qrc \
i18n.qrc
如果我将二进制文件/可执行文件移动到另一个文件夹并从那里执行它,它就有用了,所以我想这就是将翻译文件编译成QApplication所需要的全部内容。