使用Cmake和Qt5进行自动翻译管理

Dom*_*Cat 7 translation cmake qt5

我曾经使用以下qt4命令来创建翻译文件:

SET(PROJECTNAME "TEST")

SET(${PROJECTNAME}_TRANSLATIONS
    ${PROJECTNAME}_de.ts
)  

SET(${PROJECTNAME}_TRANSLATIONS_COMPILED
    ${PROJECTNAME}_de.qm
)

QT4_CREATE_TRANSLATION (${PROJECTNAME}_TRANSLATION_FILES
    ${${PROJECTNAME}_FORMS}
    ${${PROJECTNAME}_HEADERS}
    ${${PROJECTNAME}_SOURCES}
    ${${PROJECTNAME}_RESSOURCES}
    ${${PROJECTNAME}_TRANSLATIONS}
)
Run Code Online (Sandbox Code Playgroud)

如何将这种翻译cmake代码段移植到Qt5?

Dom*_*Cat 8

答案可以在Qt5-Cmake文档中找到,在这里:http://qt-project.org/doc/qt-5.0/qtdoc/cmake-manual.html#qt5linguisttools-macros

所以,给你的Cmakelists添加:

find_package(Qt5LinguistTools)
Run Code Online (Sandbox Code Playgroud)

然后使用:

QT5_CREATE_TRANSLATION(...)
Run Code Online (Sandbox Code Playgroud)

Ubuntu用户注意事项(2013年10月):您需要安装 qttools5-dev