diff options
Diffstat (limited to 'cmake/BTUITranslation.cmake')
-rw-r--r-- | cmake/BTUITranslation.cmake | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/cmake/BTUITranslation.cmake b/cmake/BTUITranslation.cmake index cf6c6b7..2af0f61 100644 --- a/cmake/BTUITranslation.cmake +++ b/cmake/BTUITranslation.cmake @@ -17,33 +17,42 @@ ELSE (Qt5Core_FOUND) ) ENDIF (Qt5Core_FOUND) -FOREACH(MESSAGE_LOCALE_LANG ${MESSAGE_LOCALE_LANGS}) - ADD_CUSTOM_COMMAND(OUTPUT "bibletime_ui_${MESSAGE_LOCALE_LANG}.qm" - PRE_BUILD - COMMAND ${QT_LRELEASE_EXECUTABLE} "bibletime_ui_${MESSAGE_LOCALE_LANG}.ts" -qm "${CMAKE_CURRENT_BINARY_DIR}/bibletime_ui_${MESSAGE_LOCALE_LANG}.qm" - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/i18n/messages/" - COMMENT "Updating UI translation for ${MESSAGE_LOCALE_LANG}" +SET(TS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/i18n/messages") +FILE(GLOB TS_FILES "${TS_DIR}/bibletime_ui_*.ts") +FOREACH(TSFILE_FULLPATH ${TS_FILES}) + STRING(REGEX REPLACE "${TS_DIR}/bibletime_ui_(..(_..)?).ts" "\\1" + TS_LANG "${TSFILE_FULLPATH}") + SET(TS_LANGS ${TS_LANGS} ${TS_LANG}) + SET(QMFILE "bibletime_ui_${TS_LANG}.qm") + ADD_CUSTOM_COMMAND( + TARGET "bibletime" + POST_BUILD + COMMAND ${QT_LRELEASE_EXECUTABLE} "${TSFILE_FULLPATH}" -qm "${QMFILE}" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Updating UI translation for ${TS_LANG}" VERBATIM ) SET(bibletime_UI_translations ${bibletime_UI_translations} - "bibletime_ui_${MESSAGE_LOCALE_LANG}.qm" + "${QMFILE}" ) - INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/bibletime_ui_${MESSAGE_LOCALE_LANG}.qm" - DESTINATION "${BT_SHARE_PATH}bibletime/locale/" + INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${QMFILE}" + DESTINATION "${BT_SHARE_PATH}/bibletime/locale/" ) -ENDFOREACH(MESSAGE_LOCALE_LANG) +ENDFOREACH(TSFILE_FULLPATH) # Update source catalog files (this is the basis for the translator's work) # Invoke this with "make messages" ADD_CUSTOM_TARGET("messages") -FOREACH(MESSAGE_LOCALE_LANG ${MESSAGE_LOCALE_LANGS}) - ADD_CUSTOM_TARGET("messages_${MESSAGE_LOCALE_LANG}" - COMMAND ${QT_LUPDATE_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/src" -ts "${CMAKE_CURRENT_SOURCE_DIR}/i18n/messages/bibletime_ui_${MESSAGE_LOCALE_LANG}.ts") - ADD_DEPENDENCIES("messages" "messages_${MESSAGE_LOCALE_LANG}") -ENDFOREACH(MESSAGE_LOCALE_LANG) +FOREACH(TS_LANG ${TS_LANGS}) + ADD_CUSTOM_TARGET("messages_${TS_LANG}" + COMMAND ${QT_LUPDATE_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/src" -ts "${TS_DIR}/bibletime_ui_${TS_LANG}.ts") + ADD_DEPENDENCIES("messages" "messages_${TS_LANG}") +ENDFOREACH(TS_LANG) + + # Template file for translators ADD_CUSTOM_TARGET("messages_default" - COMMAND ${QT_LUPDATE_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/src" -ts "${CMAKE_CURRENT_SOURCE_DIR}/i18n/messages/bibletime_ui.ts") + COMMAND ${QT_LUPDATE_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/src" -ts "${TS_DIR}/bibletime_ui.ts") ADD_DEPENDENCIES(messages "messages_default") |