在Qt中,我们可以使用qt5_create_translation命令来从源代码和翻译文件中生成QM文件。QM文件是Qt翻译后的文件,它包含了所有已翻译的文本字符串。通过生成QM文件,我们可以轻松地在Qt应用程序中实现多语言支持。 在本文中,我将向您展示如何使用cmake qt5_create_translation命令的详细用法,以便您能够在自己的项目中实现...
当你遇到“unknown cmake command 'qt5_create_translation'”这个错误时,通常是因为CMake没有正确识别或使用Qt5的相关命令。以下是一些可能的解决步骤: 检查CMakeLists.txt文件: 确保你的CMakeLists.txt文件中包含了正确设置Qt5的命令。通常,你需要先找到Qt5的CMake模块,然后才能使用Qt5相关的命令。例如: cmake...
函数原型: qt5_create_translation(<VAR> ts-file-or-sources [ts-file-or-sources2 ...] [OPTIONS ...]) 生成的qm文件路径保存在<VAR>中。 SET(TS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/zh_CN.ts ) find_package(Qt5LinguistTools) qt5_create_translation(QM_FILES ${CMAKE_CURRENT_SOURCE_DIR} $...
使用qt5_create_translation命令注册ts文件及其依赖源,输出qm文件列表。 查看Qt5LinguistToolsMacros.cmake内容可以发现主要部分代码如下: function(QT5_CREATE_TRANSLATION_qm_files)...add_custom_command(OUTPUT${_ts_file}COMMAND ${Qt5_LUPDATE_EXECUTABLE}ARGS ${_lupdate_options}"@${_ts_lst_file}" -ts ...
qt5_create_translation(QM_FILES ${TS_FILES} ${PROJECT_SOURCES}) 工具介绍 Qt Linguist工具中有两个可执行文件,分别是lupdate与lrelease,前者用来生成ts文件,后者用来生成qm文件。 要生成ts文件,lupdate需要知道项目中有哪些源文件。 在QMake项目中,项目文件是pro文件,lupdate是可以直接通过pro文件获取到项目中所有...
1、背景 Qt的多语言文件是xml格式,且需要包含源文件名,行数等等信息才可以被正确识别(有点奇怪),如下为一段标准的Qt多语言格式 上述source字段即为key,tran...
#qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) 出错的语句就是file(GLOB_RECURSE src_file ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) 此时的文件目结构目录# 仅仅列出了关键目录 Copy Highlighter-hljs │ CMakeLists.txt │ main.cpp ...
| Unknown CMake command "QT5_CREATE_TRANSLATION". An the only package I have available on my system isqt5-translationthat resembles something related tolinguistics EDIT: After removing the flag the error remains. The final part of the output is different thought: ...
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) endif() target_compile_definitions(helloCmake PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>) target_link_libraries(helloCmake PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick...
qt5_create_translation(QM_FILES${CMAKE_SOURCE_DIR}${TS_FILES})endif()target_compile_definitions(helloCmake PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)target_link_libraries(helloCmake PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick) ...