我有一个带有德语翻译的 Qt 项目,Translation_de.ts
,自动编译成Translation_de.qm
通过 Qmake:
TRANSLATIONS += Translation_de.ts
...
QMAKE_EXTRA_COMPILERS += lrelease
lrelease.input = TRANSLATIONS
lrelease.output = ${QMAKE_FILE_BASE}.qm
lrelease.commands = $$[QT_INSTALL_BINS]/lrelease ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_BASE}.qm
lrelease.CONFIG += no_link target_predeps
生成的Translation_de.qm
然后作为资源编译到最终应用程序中:
RESOURCES += Resources.qrc
where Resources.qrc
看起来像这样:
<RCC>
<qresource>
...
<file>Translation_de.qm</file>
</qresource>
</RCC>
所有这些都工作正常,除了在新结账时第一次调用 Qmake 会抛出以下恼人的警告:
RCC: Error in 'Resources.qrc': Cannot find file 'Translation_de.qm'
我在这里做错了什么?如何正确指定自动生成的资源文件,例如Translation_de.qm
?
http://doc.qt.io/qt-5/qmake-variable-reference.html http://doc.qt.io/qt-5/qmake-variable-reference.html
CONFIG+=lrelease #从 TRANSLATIONS= 生成 *.qm 文件到目录 builddir/.qm/
CONFIG+=embed_translations #将它们添加为qrc资源
所以(除了)
CONFIG+=lrelease embed_translations
不需要 qmake 魔法。你的 qm 文件将位于 :/i18n/ 下,除非你另外指定
QM_FILES_RESOURCE_PREFIX=/my/customtranslationdirectory
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)