summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authormdankov <mdankov@ffa7fe5e-494d-0410-b361-a75ebd5db220>2014-05-30 20:51:42 +0000
committermdankov <mdankov@ffa7fe5e-494d-0410-b361-a75ebd5db220>2014-05-30 20:51:42 +0000
commit26ef4b99a2c53a22b8d3767fc9a7573159e8e95c (patch)
tree01dc96827a60154491027de1d1a58cd8025d9dfa /cmake
parentbce3170d9e5f167fe8cbe9d24a503956b9b04fb4 (diff)
downloadnavit-26ef4b99a2c53a22b8d3767fc9a7573159e8e95c.tar.gz
Fix:core:Do not depend on XGettextGlade ability to process broken glade input to fetch translatable strings from navit_shipped.xml.
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5793 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'cmake')
-rw-r--r--cmake/navit_xml_parser.cmake18
1 files changed, 18 insertions, 0 deletions
diff --git a/cmake/navit_xml_parser.cmake b/cmake/navit_xml_parser.cmake
index 745d4cb3f..9edbcd2b0 100644
--- a/cmake/navit_xml_parser.cmake
+++ b/cmake/navit_xml_parser.cmake
@@ -5,3 +5,21 @@ foreach (LINE ${TEXT_LINES})
string(REGEX REPLACE ".*(_\\(\"[^\"]*\"\\)).*" "\\1\n" OUTPUT_LINE ${LINE})
file(APPEND ${DST} ${OUTPUT_LINE})
endforeach()
+
+file(READ "${SRC}" SRC_CONTENT)
+
+string(REGEX MATCHALL "<text>([^<>]*)</text>" TEXT_ELEMENTS "${SRC_CONTENT}")
+
+foreach (LINE ${TEXT_ELEMENTS})
+ string(REGEX REPLACE ".*<text[^>]*>([^<>]*)</text>.*" "_(\"\\1\")" OUTPUT_LINE ${LINE})
+ string(REPLACE "\n" "\\n" OUTPUT_LINE ${OUTPUT_LINE})
+ file(APPEND ${DST} "${OUTPUT_LINE}\n")
+endforeach()
+
+string(REGEX MATCHALL "<vehicleprofile [^<>]*name=\"[^\"]+\"" ATTRS "${SRC_CONTENT}")
+
+foreach (LINE ${ATTRS})
+ string(REGEX REPLACE ".* name=\"([^\"]+)\"" "_(\"\\1\")" OUTPUT_LINE ${LINE})
+ file(APPEND ${DST} "${OUTPUT_LINE}\n")
+endforeach()
+