diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake index fcad5b4..4113105 100644 --- a/modules/TDEMacros.cmake +++ b/modules/TDEMacros.cmake @@ -1467,6 +1467,33 @@ macro( tde_add_kdeinit_executable _target ) endmacro( tde_add_kdeinit_executable ) +################################################# +##### +##### tde_add_project_translations +##### +##### Macro for standard processing and installation of translations. +##### This is designed for ordinary modules - as an applications, not for core modules. + +function( tde_add_project_translations ) + + file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po ) + string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" ) + + foreach( _po ${po_files} ) + get_filename_component( _lang ${_po} NAME_WE ) + if( "${_linguas}" MATCHES "^;*$" OR ";${_linguas};" MATCHES ";${_lang};" ) + if( "${_po}" MATCHES "^([^/]*)/.*" ) + string( REGEX REPLACE "^([^/]*)/.*" "\\1" _component "${_po}" ) + else( ) + set( _component "${PROJECT_NAME}" ) + endif( ) + tde_create_translation( FILES ${_po} LANG ${_lang} OUTPUT_NAME ${_component} ) + endif( ) + endforeach( ) + +endfunction() + + ################################################# ##### ##### tde_create_translation