From 41ecc60e682a745e55ab2a2ebb9770c953452ce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Mon, 21 Mar 2011 20:47:31 +0100 Subject: Added CheckTranslations script. diff --git a/BuildTools/CheckTranslations.py b/BuildTools/CheckTranslations.py new file mode 100755 index 0000000..5796bac --- /dev/null +++ b/BuildTools/CheckTranslations.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +import os, sys, re, xml.dom.minidom + +def getText(nodelist): + text = "" + for node in nodelist: + if node.nodeType == node.TEXT_NODE: + text += node.data + return text + + +for filename in os.listdir("Swift/Translations") : + m = re.match("swift_(.*)\.ts", filename) + if m : + language = m.group(1) + f = open("Swift/Translations/" + filename, "r") + document = xml.dom.minidom.parse(f) + f.close() + + for message in document.getElementsByTagName("message") : + source = message.getElementsByTagName("source")[0] + sourceText = getText(source.childNodes) + sourcePlaceholders = set(re.findall("%\d+%?", sourceText)) + translation = message.getElementsByTagName("translation")[0] + translationText = getText(translation.childNodes) + translationPlaceholders = set(re.findall("%\d+%?", translationText)) + if translationPlaceholders != sourcePlaceholders : + print "[Error] " + filename + ": Placeholder mismatch in translation '" + sourceText + "'" -- cgit v0.10.2-6-g49f6