You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
4.4 KiB
138 lines
4.4 KiB
#################################################
|
|
#
|
|
# (C) 2018 Slávek Banko
|
|
# slavek.banko (AT) axis.cz
|
|
#
|
|
# Improvements and feedback are welcome
|
|
#
|
|
# This file is released under GPL >= 2
|
|
#
|
|
#################################################
|
|
|
|
cmake_minimum_required( VERSION 2.8 )
|
|
|
|
|
|
##### include our cmake modules #################
|
|
|
|
set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
|
|
include( TDEL10n )
|
|
|
|
|
|
##### set directory for POT files ###############
|
|
|
|
set( POT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../tde-i18n/template/messages/tdelibs" )
|
|
|
|
|
|
##### verify tqt3 sources #######################
|
|
|
|
if( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../dependencies/tqt3/src )
|
|
tde_message_fatal( "TQt3 source code is required but not found" )
|
|
endif( )
|
|
|
|
|
|
##### prepare tqt3/src/xml/qxml.cpp #############
|
|
|
|
if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../dependencies/tqt3/src/xml/qxml.cpp )
|
|
# hide "#define" to allow strings to be extracted using xgettext
|
|
file( READ ${CMAKE_CURRENT_SOURCE_DIR}/../../dependencies/tqt3/src/xml/qxml.cpp _tqt_qxml )
|
|
string( REGEX REPLACE "\n(#define[^\n]*)(QT_TRANSLATE_NOOP)" "\n/*\\1*/\\2" _tqt_qxml ${_tqt_qxml} )
|
|
file( WRITE ${CMAKE_CURRENT_SOURCE_DIR}/../../dependencies/tqt3/src/xml/qxml.cpp.tde_l10n "${_tqt_qxml}" )
|
|
endif( )
|
|
|
|
|
|
##### prepare tdeabc/addressee strings ##########
|
|
|
|
# read file
|
|
file( READ "${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/scripts/entrylist" _addressee_data )
|
|
string( REGEX REPLACE "[^\n]" "" _addressee_len ${_addressee_data} )
|
|
string( LENGTH "+${_addressee_len}" _addressee_len )
|
|
|
|
# process lines
|
|
set( _addressee_pos 0 )
|
|
unset( _addressee_l10n )
|
|
while( _addressee_pos LESS ${_addressee_len} )
|
|
# pick line
|
|
string( REGEX REPLACE "^([^\n]*)\n(.*)" "\\1" _addressee_line "${_addressee_data}" )
|
|
string( REGEX REPLACE "^([^\n]*)\n(.*)" "\\2" _addressee_data "${_addressee_data}" )
|
|
math( EXPR _addressee_pos "${_addressee_pos}+1" )
|
|
|
|
if( "${_addressee_line}" MATCHES "^ *$" OR "${_addressee_line}" MATCHES "^ *#" )
|
|
set( _addressee_line "" )
|
|
else( )
|
|
string( REGEX REPLACE "^[^,]*,([^,]*),([^,]*),.*" "\\1" _addressee_field "${_addressee_line}" )
|
|
string( REGEX REPLACE "^[^,]*,([^,]*),([^,]*),.*" "\\2" _addressee_comment "${_addressee_line}" )
|
|
if( NOT "${_addressee_field}" STREQUAL "" )
|
|
string( REGEX REPLACE "[_ ]+" ";" _addressee_field ${_addressee_field} )
|
|
unset( _addressee_field_name )
|
|
foreach( _addressee_field_part ${_addressee_field} )
|
|
string( SUBSTRING ${_addressee_field_part} 0 1 _addressee_field_first )
|
|
string( SUBSTRING ${_addressee_field_part} 1 -1 _addressee_field_rest )
|
|
string( TOUPPER ${_addressee_field_first} _addressee_field_first )
|
|
set( _addressee_field_name "${_addressee_field_name}${_addressee_field_first}${_addressee_field_rest} " )
|
|
endforeach( )
|
|
string( STRIP ${_addressee_field_name} _addressee_field_name )
|
|
|
|
if( NOT "${_addressee_comment}" STREQUAL "" )
|
|
set( _addressee_line "i18n(\"${_addressee_comment}\", \"${_addressee_field_name}\");" )
|
|
else( )
|
|
set( _addressee_line "i18n(\"${_addressee_field_name}\");" )
|
|
endif( )
|
|
else( )
|
|
set( _addressee_line "" )
|
|
endif( )
|
|
endif( )
|
|
set( _addressee_l10n "${_addressee_l10n}${_addressee_line}\n" )
|
|
endwhile( )
|
|
|
|
# write file
|
|
file( WRITE "${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/scripts/entrylist.tde_l10n" "${_addressee_l10n}" )
|
|
|
|
|
|
##### create translation templates ##############
|
|
|
|
tde_l10n_create_template(
|
|
CATALOG "tde"
|
|
SOURCES "common_texts.cpp"
|
|
EXCLUDES "_translatorinfo"
|
|
X-POT -
|
|
DESTINATION "."
|
|
)
|
|
|
|
tde_l10n_create_template(
|
|
CATALOG "tdelibs"
|
|
SOURCES
|
|
"."
|
|
"tdeabc/scripts/entrylist.tde_l10n"
|
|
"tdecore/tde-config.cpp.cmake"
|
|
"../../dependencies/tqt3/src"
|
|
"../../dependencies/tqt3/src/xml/qxml.cpp.tde_l10n"
|
|
EXCLUDES
|
|
"/test/" "/tests/"
|
|
"^arts/kde/mcop-dcop/"
|
|
"^arts/knotify/"
|
|
"^interfaces/tdemediaplayer/tdefileaudiopreview/"
|
|
"^kate/"
|
|
"^kdoctools/"
|
|
"^libtdescreensaver/"
|
|
"^tdeabc/formats/"
|
|
"^tdeabc/plugins/"
|
|
"^tdecmshell/"
|
|
"^tdecore/tdeconfig_compiler/example/"
|
|
"^tdeio/"
|
|
"^tdeioslave/"
|
|
"^tdeprint/"
|
|
"^tdeui/colors/"
|
|
"^tdestyles/.*/config/"
|
|
"/dependencies/tqt3/src/xml/qxml.cpp$"
|
|
KEYWORDS
|
|
tr tr:1,2
|
|
translate translate:1,2
|
|
QT_TRANSLATE_NOOP QT_TRANSLATE_NOOP:1,2
|
|
X-POT "-"
|
|
)
|
|
|
|
|
|
##### create translation templates ##############
|
|
|
|
tde_l10n_auto_add_subdirectories( )
|