diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2018-12-13 01:16:54 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2019-01-12 18:37:14 +0100 |
commit | 156cc0868387011a1e839157fb15444859e0ecc3 (patch) | |
tree | 4ecf0c179f7f124a59f3f8327a20f1cbad1b0bf8 | |
parent | 6d3c68b4c0743598362829e99dfc9ead335347e9 (diff) | |
download | tde-cmake-156cc0868387011a1e839157fb15444859e0ecc3.tar.gz tde-cmake-156cc0868387011a1e839157fb15444859e0ecc3.zip |
Update TDEL10n module
+ Add new options to function tde_l10n_prepare_xml
-- override the context by using the tag attribute
-- preserve / remove leading empty lines
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit c1f45d8f90f6c156b2d8db584337189436c1fe42)
-rw-r--r-- | modules/TDEL10n.cmake | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/modules/TDEL10n.cmake b/modules/TDEL10n.cmake index 2dfba00..acad61b 100644 --- a/modules/TDEL10n.cmake +++ b/modules/TDEL10n.cmake @@ -606,7 +606,7 @@ function( tde_l10n_prepare_xml ) unset( _target ) unset( _context ) set( _tags "[tT][eE][xX][tT]|title|string|whatsthis|tooltip|label" ) - set( _preserve "line-wrap" "spaces-leading" "spaces-trailing" "spaces-multi" ) + set( _preserve "line-wrap" "lines-leading" "spaces-leading" "spaces-trailing" "spaces-multi" ) set( _no_c_format 1 ) unset( _directive ) set( _var _source ) @@ -712,14 +712,19 @@ function( tde_l10n_prepare_xml ) if( NOT _xml_inside ) if( "${_xml_line}" MATCHES "<(${_tags})[^>]*>" ) set( _xml_inside 1 ) + set( _xml_context "${_context}" ) string( REGEX MATCH "<(${_tags})[^>]*>(.*)" _xml_line "${_xml_line}" ) + string( REGEX MATCH "^<(${_tags})( [^>]*)+>" _xml_attr "${_xml_line}" ) + if( _xml_attr AND "${_xml_attr}" MATCHES " context=\"([^\"]*)\"" ) + string( REGEX REPLACE ".* context=\"([^\"]*)\".*" "\\1" _xml_context "${_xml_attr}" ) + endif( ) string( REGEX REPLACE "^<(${_tags})[^>]*>(.*)" "\\2" _xml_line "${_xml_line}" ) set( _xml_line_prefix "i18n(" ) if( _no_c_format ) set( _xml_line_prefix "${_xml_line_prefix}/* xgettext: no-c-format */" ) endif( ) - if( _context ) - set( _xml_line_prefix "${_xml_line_prefix}\"${_context}\", " ) + if( _xml_context ) + set( _xml_line_prefix "${_xml_line_prefix}\"${_xml_context}\", " ) endif( ) set( _xml_tag_empty 1 ) else( ) @@ -755,7 +760,10 @@ function( tde_l10n_prepare_xml ) if( _xml_inside ) if( ";${_preserve};" MATCHES ";line-wrap;" ) - set( _xml_line "${_xml_line}\\n" ) + if( ";${_preserve};" MATCHES ";lines-leading;" + OR NOT "${_xml_line}" STREQUAL "" OR NOT _xml_tag_empty ) + set( _xml_line "${_xml_line}\\n" ) + endif( ) elseif( NOT "${_xml_line}" STREQUAL "" AND NOT _xml_tag_empty ) set( _xml_line " ${_xml_line}" ) endif( ) |