summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authormdankov <mdankov@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-08-24 20:07:02 +0000
committermdankov <mdankov@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-08-24 20:07:02 +0000
commitcc979a2a88e803f649a61645999944fe328fd352 (patch)
treeced811dc918d44fc28d15e796607dc491c12b962 /cmake
parenteb3b97ad63abcc1be8c8dfd9b5f98e7e2eeb3cdf (diff)
downloadnavit-cc979a2a88e803f649a61645999944fe328fd352.tar.gz
Add:port_android:Build localized Android string resources from gettext db.
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5599 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'cmake')
-rw-r--r--cmake/strings_xml_parser.cmake10
1 files changed, 10 insertions, 0 deletions
diff --git a/cmake/strings_xml_parser.cmake b/cmake/strings_xml_parser.cmake
new file mode 100644
index 000000000..747af1c58
--- /dev/null
+++ b/cmake/strings_xml_parser.cmake
@@ -0,0 +1,10 @@
+file(STRINGS "${SRC}" TEXT_LINES REGEX "<string[ \t]+name=")
+file(WRITE ${DST} "// Strings from android/res/values/strings.xml\n\n")
+
+foreach (LINE ${TEXT_LINES})
+ string(REGEX REPLACE ".*<string[^>]+>(.*)</string>.*" "\\1" MSGID ${LINE})
+ string(REGEX REPLACE "\\\\'" "'" MSGID ${MSGID})
+ string(REGEX REPLACE ".*<string[^>]+name=\"([^>\"]+)\">.*</string>.*" "\\1" RESID ${LINE})
+ file(APPEND ${DST} "// Android resource: @strings/${RESID}\n_(\"${MSGID}\")\n")
+endforeach()
+