chore: update the file

This commit is contained in:
x-tools-author 2025-08-13 13:45:14 +08:00
parent 5923db3a37
commit 14b212e7c1
2 changed files with 52 additions and 2 deletions

View File

@ -214,11 +214,32 @@ option(X_ENABLE_PAGES "Enable xFlow support" OFF)
if(X_ENABLE_PAGES)
add_compile_definitions(X_ENABLE_PAGES)
endif()
x_add_executable(xTools ${X_SOURCES})
target_link_libraries(xTools PRIVATE ${X_LIBS})
x_generate_translations(xTools)
x_output_env(xTools)
x_deploy_qt(xTools)
# xTools modules
x_generate_module_translations(common ${CMAKE_CURRENT_SOURCE_DIR}/src/common ON)
x_generate_module_translations(device ${CMAKE_CURRENT_SOURCE_DIR}/src/device ON)
x_generate_module_translations(nodeeditor ${CMAKE_CURRENT_SOURCE_DIR}/src/nodeeditor ON)
x_generate_module_translations(page ${CMAKE_CURRENT_SOURCE_DIR}/src/page ON)
x_generate_module_translations(tools ${CMAKE_CURRENT_SOURCE_DIR}/src/tools OFF)
x_generate_module_translations(xtools ${CMAKE_CURRENT_SOURCE_DIR}/src OFF)
# xTools Tools
x_generate_module_translations(tools-ascii ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/ascii ON)
x_generate_module_translations(tools-barcode ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/barcode ON)
x_generate_module_translations(tools-base64 ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/base64 ON)
x_generate_module_translations(tools-broadcast ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/broadcast ON)
x_generate_module_translations(tools-canbus ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/canbus ON)
x_generate_module_translations(tools-crc ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/crc ON)
x_generate_module_translations(tools-filecheck ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/filecheck ON)
x_generate_module_translations(tools-mdns ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/mdns ON)
x_generate_module_translations(tools-modbus ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/modbus ON)
x_generate_module_translations(tools-number ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/number ON)
x_generate_module_translations(tools-ping ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/ping ON)
x_generate_module_translations(tools-qrcode ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/qrcode ON)
x_generate_module_translations(tools-string ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/string ON)
if(WIN32 AND MSVC)
target_link_libraries(xTools PRIVATE Dwmapi)

View File

@ -119,6 +119,35 @@ endfunction()
# --------------------------------------------------------------------------------------------------
# Generate translations files
# cmake-format: off
set(X_LANGUAGES "en" "zh_CN" "zh_TW" "ar" "cs" "da" "de" "es" "fa" "fi" "fr" "he" "uk" "it" "ja" "ko" "lt" "nl" "pl" "pt" "ru" "sk" "sl" "sv")
# cmake-format: on
# Generate translations files for module
function(x_generate_module_translations module_name dir recurse)
if(QT_VERSION VERSION_LESS "6.7.0")
return()
endif()
set(ts_files "")
foreach(lang IN LISTS X_LANGUAGES)
set(ts_file ${CMAKE_CURRENT_LIST_DIR}/res/translations/${module_name}/${module_name}_${lang}.ts)
list(APPEND ts_files ${ts_file})
endforeach()
if(recurse)
file(GLOB_RECURSE files ${dir}/*.h ${dir}/*.cpp ${dir}/*.ui)
else()
file(GLOB files ${dir}/*.h ${dir}/*.cpp ${dir}/*.ui)
endif()
qt_add_lupdate(TS_FILES ${ts_files} LUPDATE_TARGET ${module_name}_lupdate SOURCES ${files})
set(out_dir "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/translations")
set_source_files_properties(${ts_files} PROPERTIES OUTPUT_LOCATION ${out_dir})
qt_add_lrelease(TS_FILES ${ts_files})
set_property(TARGET ${module_name}_lupdate PROPERTY FOLDER "i18n")
endfunction()
# Generate translations files for application
function(x_generate_translations target)
set(APP_TS_FILES "")
list(APPEND APP_TS_FILES ${CMAKE_CURRENT_LIST_DIR}/res/translations/${target}_en.ts)
@ -156,7 +185,7 @@ function(x_generate_translations target)
if(NOT QT_VERSION VERSION_LESS "6.7.0")
qt_add_lupdate(SOURCE_TARGETS ${target} TS_FILES ${APP_TS_FILES} LUPDATE_TARGET ${target}_lupdate NO_GLOBAL_TARGET)
else()
qt_add_lupdate(${target} TS_FILES ${APP_TS_FILES})
qt_add_lupdate( TS_FILES ${APP_TS_FILES})
endif()
# cmake-format: on