|
|
|
@ -73,6 +73,25 @@ if( NOT DEFINED MSGCAT_EXECUTABLE )
|
|
|
|
|
endif( )
|
|
|
|
|
endif( )
|
|
|
|
|
|
|
|
|
|
if( NOT DEFINED PO4A_GETTEXTIZE_EXECUTABLE )
|
|
|
|
|
find_program( PO4A_GETTEXTIZE_EXECUTABLE
|
|
|
|
|
NAMES po4a-gettextize
|
|
|
|
|
HINTS "${TDE_PREFIX}/bin"
|
|
|
|
|
)
|
|
|
|
|
if( NOT PO4A_GETTEXTIZE_EXECUTABLE )
|
|
|
|
|
tde_message_fatal( "po4a-gettextize is required but not found" )
|
|
|
|
|
endif( )
|
|
|
|
|
execute_process(
|
|
|
|
|
COMMAND ${PO4A_GETTEXTIZE_EXECUTABLE} --version
|
|
|
|
|
OUTPUT_VARIABLE _po4a_version
|
|
|
|
|
ERROR_VARIABLE _po4a_version
|
|
|
|
|
)
|
|
|
|
|
string( REGEX REPLACE "^po4a-gettextize[^\n]* ([^ ]*)\n.*" "\\1" _po4a_version ${_po4a_version} )
|
|
|
|
|
if( "${_po4a_version}" VERSION_LESS "0.45" )
|
|
|
|
|
tde_message_fatal( "po4a version >= 0.45 is required but found only ${_po4_version}" )
|
|
|
|
|
endif( )
|
|
|
|
|
endif( )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#################################################
|
|
|
|
|
#####
|
|
|
|
@ -307,16 +326,6 @@ macro( tde_l10n_create_template )
|
|
|
|
|
|
|
|
|
|
endforeach( )
|
|
|
|
|
|
|
|
|
|
# add common translator info
|
|
|
|
|
if( _files )
|
|
|
|
|
set( _translatorinfo
|
|
|
|
|
"i18n(\"NAME OF TRANSLATORS\", \"Your names\")\n"
|
|
|
|
|
"i18n(\"EMAIL OF TRANSLATORS\", \"Your emails\")\n"
|
|
|
|
|
)
|
|
|
|
|
file( WRITE ${CMAKE_CURRENT_SOURCE_DIR}/_translatorinfo.tde_l10n ${_translatorinfo} )
|
|
|
|
|
list( INSERT _files 0 "_translatorinfo.tde_l10n" )
|
|
|
|
|
endif( )
|
|
|
|
|
|
|
|
|
|
# filter files by excludes
|
|
|
|
|
if( _excludes )
|
|
|
|
|
foreach( _src ${_files} )
|
|
|
|
@ -427,6 +436,34 @@ macro( tde_l10n_create_template )
|
|
|
|
|
endif( )
|
|
|
|
|
endforeach( )
|
|
|
|
|
|
|
|
|
|
# prepare documentation
|
|
|
|
|
foreach( _src ${_files} )
|
|
|
|
|
if( ${_src} MATCHES "\\.(ad|adoc|docbook|[1-8])(\\.cmake)?$" )
|
|
|
|
|
if( ${_src} MATCHES "\\.(ad|adoc)(\\.cmake)?$" )
|
|
|
|
|
set( _doc_format "asciidoc" )
|
|
|
|
|
elseif( ${_src} MATCHES "\\.(docbook)(\\.cmake)?$" )
|
|
|
|
|
set( _doc_format "docbook" )
|
|
|
|
|
elseif( ${_src} MATCHES "\\.([1-8])(\\.cmake)?$" )
|
|
|
|
|
set( _doc_format "man" )
|
|
|
|
|
else( )
|
|
|
|
|
set( _doc_format "text" )
|
|
|
|
|
endif( )
|
|
|
|
|
execute_process(
|
|
|
|
|
COMMAND ${PO4A_GETTEXTIZE_EXECUTABLE}
|
|
|
|
|
-f ${_doc_format} -m ${_src}
|
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
|
OUTPUT_VARIABLE _potDoc
|
|
|
|
|
)
|
|
|
|
|
if( _potDoc )
|
|
|
|
|
string( REPLACE "Content-Type: text/plain; charset=CHARSET" "Content-Type: text/plain; charset=UTF-8" _potDoc "${_potDoc}" )
|
|
|
|
|
string( REPLACE "Content-Transfer-Encoding: ENCODING" "Content-Transfer-Encoding: 8bit" _potDoc "${_potDoc}" )
|
|
|
|
|
file( WRITE ${CMAKE_CURRENT_SOURCE_DIR}/${_src}.tde_l10n "${_potDoc}" )
|
|
|
|
|
list( APPEND _pots ${_src}.tde_l10n )
|
|
|
|
|
endif( )
|
|
|
|
|
list( REMOVE_ITEM _files ${_src} )
|
|
|
|
|
endif( )
|
|
|
|
|
endforeach( )
|
|
|
|
|
|
|
|
|
|
# pick desktop files *.desktop and *.protocol
|
|
|
|
|
foreach( _src ${_files} )
|
|
|
|
|
if( ${_src} MATCHES "\\.(desktop|protocol)(\\.cmake)?$" )
|
|
|
|
@ -443,6 +480,19 @@ macro( tde_l10n_create_template )
|
|
|
|
|
endif( )
|
|
|
|
|
endforeach( )
|
|
|
|
|
|
|
|
|
|
# add common translator info
|
|
|
|
|
if( _files )
|
|
|
|
|
list( FIND _excludes "_translatorinfo" _translatorinfo_index )
|
|
|
|
|
if( "${_translatorinfo_index}" LESS 0 )
|
|
|
|
|
set( _translatorinfo
|
|
|
|
|
"i18n(\"NAME OF TRANSLATORS\", \"Your names\")\n"
|
|
|
|
|
"i18n(\"EMAIL OF TRANSLATORS\", \"Your emails\")\n"
|
|
|
|
|
)
|
|
|
|
|
file( WRITE ${CMAKE_CURRENT_SOURCE_DIR}/_translatorinfo.tde_l10n ${_translatorinfo} )
|
|
|
|
|
list( INSERT _files 0 "_translatorinfo.tde_l10n" )
|
|
|
|
|
endif( )
|
|
|
|
|
endif( )
|
|
|
|
|
|
|
|
|
|
# create translation template
|
|
|
|
|
if( _files )
|
|
|
|
|
execute_process(
|
|
|
|
@ -556,7 +606,7 @@ macro( tde_l10n_create_template )
|
|
|
|
|
endif( _pot )
|
|
|
|
|
|
|
|
|
|
# cleanup
|
|
|
|
|
foreach( _file ${_files} ${_desktops} )
|
|
|
|
|
foreach( _file ${_files} ${_desktops} ${_pots} )
|
|
|
|
|
if( "${_file}" MATCHES "\\.tde_l10n[0-9]*$" )
|
|
|
|
|
file( REMOVE ${CMAKE_CURRENT_SOURCE_DIR}/${_file} )
|
|
|
|
|
endif( )
|
|
|
|
|