-# Write resource file
-set(resfile ${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc)
-file(WRITE ${resfile} "<!DOCTYPE RCC><RCC version=\"1.0\">\n"
- "<qresource prefix=\"/i18n\">\n")
-foreach(file ${qm_files})
- get_filename_component(file ${file} NAME)
- file(APPEND ${resfile} " <file>${file}</file>\n")
-endforeach(file ${qm_files})
-file(APPEND ${resfile} "</qresource>\n</RCC>\n")
+ # We support xx.po and xx_YY.po, and additionally translations for qt using qt_xx.po or qt_xx_YY.po
+ file(GLOB pofiles *.po)
+ foreach(pofile ${pofiles})
+ get_filename_component(basename ${pofile} NAME_WE)
+ # CMake can't use MATCH to get the second catch...
+ string(REGEX REPLACE "(qt_)?([a-zA-Z]+)(_.+)?$" "\\2" lang ${basename})
+ # Test if we want this language
+ set(idx 0)
+ if(LINGUAS)
+ list(FIND LINGUAS ${lang} idx) # idx will be -1 if ${lang} is not found in LINGUAS
+ endif()
+ if(idx GREATER -1)
+ generate_ts(${basename})
+ list(APPEND tsfiles ${CMAKE_CURRENT_BINARY_DIR}/${basename}.ts)
+ list(APPEND qmfiles ${CMAKE_CURRENT_BINARY_DIR}/${basename}.qm)
+ list(APPEND linguas ${lang})
+ endif()
+ endforeach()