diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2019-07-29 18:24:29 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2019-07-29 18:24:29 +0200 |
commit | 298bd920d17320718c733030c02ad6bc8ed43c93 (patch) | |
tree | d5ac3b403d809990b4dc9f6e6459e45dc32cae4e | |
parent | 9768cf120a0d1ea492934140e26909900baa0bb5 (diff) | |
download | tdelibs-298bd920d17320718c733030c02ad6bc8ed43c93.tar.gz tdelibs-298bd920d17320718c733030c02ad6bc8ed43c93.zip |
CMakeL10n: Extract strings from tdeabc/scripts/entrylist
instead of generating addressee source files.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r-- | CMakeL10n.txt | 62 |
1 files changed, 47 insertions, 15 deletions
diff --git a/CMakeL10n.txt b/CMakeL10n.txt index 4194724ea..1606387a8 100644 --- a/CMakeL10n.txt +++ b/CMakeL10n.txt @@ -40,12 +40,52 @@ if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../dependencies/tqt3/src/xml/qxml.cpp ) endif( ) -##### generate tdeabc/addressee files ########### - -execute_process( - COMMAND perl ./makeaddressee - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/scripts -) +##### 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 ############## @@ -62,6 +102,7 @@ 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" @@ -91,15 +132,6 @@ tde_l10n_create_template( ) -##### clenaup tdeabc/addressee files ############ - -file( REMOVE - ${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/addressee.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/addressee.h - ${CMAKE_CURRENT_SOURCE_DIR}/tdeabc/field.cpp -) - - ##### create translation templates ############## tde_l10n_auto_add_subdirectories( ) |