Use list of po files to determine all translation list
This commit is contained in:
committed by
craig.p.drummond
parent
2d0539a85d
commit
bfda46ed2d
@@ -376,29 +376,6 @@ if (TAGLIB_FOUND)
|
||||
endif(FFMPEG_FOUND AND MPG123_FOUND)
|
||||
endif (TAGLIB_FOUND)
|
||||
|
||||
if (NOT CANTATA_TRANSLATIONS)
|
||||
set(CANTATA_TRANSLATIONS "all")
|
||||
endif (NOT CANTATA_TRANSLATIONS)
|
||||
|
||||
foreach(trans ${CANTATA_TRANSLATIONS})
|
||||
if (trans STREQUAL "all")
|
||||
set(CANTATA_CS_TRANSLATION 1)
|
||||
set(CANTATA_DE_TRANSLATION 1)
|
||||
set(CANTATA_EN_TRANSLATION 1)
|
||||
set(CANTATA_ES_TRANSLATION 1)
|
||||
set(CANTATA_PL_TRANSLATION 1)
|
||||
elseif (trans STREQUAL "cs")
|
||||
set(CANTATA_CS_TRANSLATION 1)
|
||||
elseif (trans STREQUAL "de")
|
||||
set(CANTATA_DE_TRANSLATION 1)
|
||||
elseif (trans STREQUAL "en")
|
||||
set(CANTATA_EN_TRANSLATION 1)
|
||||
elseif (trans STREQUAL "es")
|
||||
set(CANTATA_ES_TRANSLATION 1)
|
||||
elseif (trans STREQUAL "pl")
|
||||
set(CANTATA_PL_TRANSLATION 1)
|
||||
endif (trans STREQUAL "all")
|
||||
endforeach(trans ${CANTATA_TRANSLATIONS})
|
||||
add_subdirectory(po)
|
||||
|
||||
IF( ENABLE_KDE_SUPPORT )
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
if (CANTATA_CS_TRANSLATION)
|
||||
LIST(APPEND CANTATA_LANGUAGES "cs")
|
||||
endif (CANTATA_CS_TRANSLATION)
|
||||
if (NOT CANTATA_TRANSLATIONS)
|
||||
set(CANTATA_TRANSLATIONS "all")
|
||||
endif (NOT CANTATA_TRANSLATIONS)
|
||||
|
||||
if (CANTATA_DE_TRANSLATION)
|
||||
LIST(APPEND CANTATA_LANGUAGES "de")
|
||||
endif (CANTATA_DE_TRANSLATION)
|
||||
|
||||
if (CANTATA_ES_TRANSLATION)
|
||||
LIST(APPEND CANTATA_LANGUAGES "es")
|
||||
endif (CANTATA_ES_TRANSLATION)
|
||||
|
||||
if (CANTATA_PL_TRANSLATION)
|
||||
LIST(APPEND CANTATA_LANGUAGES "pl")
|
||||
endif (CANTATA_PL_TRANSLATION)
|
||||
foreach(trans ${CANTATA_TRANSLATIONS})
|
||||
if (trans STREQUAL "all")
|
||||
file(GLOB avail_pofiles *.po)
|
||||
foreach(PO_FILE ${avail_pofiles})
|
||||
get_filename_component(lang ${PO_FILE} NAME_WE)
|
||||
list(APPEND CANTATA_LANGUAGES "${lang}")
|
||||
endforeach(PO_FILE ${avail_pofiles})
|
||||
else (trans STREQUAL "all")
|
||||
list(APPEND CANTATA_LANGUAGES "${trans}")
|
||||
endif (trans STREQUAL "all")
|
||||
endforeach(trans ${CANTATA_TRANSLATIONS})
|
||||
|
||||
IF( ENABLE_KDE_SUPPORT )
|
||||
find_program(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
|
||||
@@ -25,11 +25,13 @@ IF( ENABLE_KDE_SUPPORT )
|
||||
set(catalogname cantata)
|
||||
add_custom_target(translations ALL)
|
||||
foreach(_lang ${CANTATA_LANGUAGES})
|
||||
set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
|
||||
add_custom_command(TARGET translations
|
||||
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} --check -o ${_gmoFile} ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
|
||||
install(FILES ${_gmoFile} DESTINATION ${LOCALE_INSTALL_DIR}/${_langCode}/LC_MESSAGES/ RENAME ${catalogname}.mo)
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
|
||||
set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
|
||||
add_custom_command(TARGET translations
|
||||
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} --check -o ${_gmoFile} ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
|
||||
install(FILES ${_gmoFile} DESTINATION ${LOCALE_INSTALL_DIR}/${_langCode}/LC_MESSAGES/ RENAME ${catalogname}.mo)
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
|
||||
endforeach(_lang ${CANTATA_LANGUAGES})
|
||||
endif(NOT GETTEXT_MSGFMT_EXECUTABLE)
|
||||
else (ENABLE_KDE_SUPPORT)
|
||||
@@ -44,17 +46,19 @@ else (ENABLE_KDE_SUPPORT)
|
||||
set(catalogname cantata)
|
||||
add_custom_target(translations ALL)
|
||||
foreach(_lang ${CANTATA_LANGUAGES})
|
||||
set(_poFile ${_lang}.po)
|
||||
set(_tsFile ${CMAKE_CURRENT_BINARY_DIR}/cantata_${_lang}.ts)
|
||||
set(_qmFile ${CMAKE_CURRENT_BINARY_DIR}/cantata_${_lang}.qm)
|
||||
add_custom_command(TARGET translations
|
||||
COMMAND ${LCONVERT_EXECUTABLE} ARGS ${_poFile} -o ${_tsFile} -of ts
|
||||
DEPENDS ${_poFile}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
add_custom_command(TARGET translations
|
||||
COMMAND ${LRELEASE_EXECUTABLE} ARGS ${_tsFile} -qm ${_qmFile}
|
||||
DEPENDS ${_tsFile})
|
||||
install(FILES ${_qmFile} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cantata/translations/)
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
|
||||
set(_poFile ${_lang}.po)
|
||||
set(_tsFile ${CMAKE_CURRENT_BINARY_DIR}/cantata_${_lang}.ts)
|
||||
set(_qmFile ${CMAKE_CURRENT_BINARY_DIR}/cantata_${_lang}.qm)
|
||||
add_custom_command(TARGET translations
|
||||
COMMAND ${LCONVERT_EXECUTABLE} ARGS ${_poFile} -o ${_tsFile} -of ts
|
||||
DEPENDS ${_poFile}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
add_custom_command(TARGET translations
|
||||
COMMAND ${LRELEASE_EXECUTABLE} ARGS ${_tsFile} -qm ${_qmFile}
|
||||
DEPENDS ${_tsFile})
|
||||
install(FILES ${_qmFile} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cantata/translations/)
|
||||
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
|
||||
endforeach(_lang ${CANTATA_LANGUAGES})
|
||||
endif(NOT LCONVERT_EXECUTABLE OR NOT LRELEASE_EXECUTABLE)
|
||||
endif (ENABLE_KDE_SUPPORT)
|
||||
|
||||
Reference in New Issue
Block a user