aboutsummaryrefslogtreecommitdiffstats
path: root/bin/transcheck
diff options
context:
space:
mode:
authorbwarsaw <>2003-03-31 20:07:57 +0000
committerbwarsaw <>2003-03-31 20:07:57 +0000
commitd258eeb3b86fc7a084e68428f3354789ef8e3b4c (patch)
treec5e669fcefd0fa98790159734d09c0d37d63c204 /bin/transcheck
parent5a6aeea41cd141bc4e962381284cbeeefa7bf4d9 (diff)
downloadmailman2-d258eeb3b86fc7a084e68428f3354789ef8e3b4c.tar.gz
mailman2-d258eeb3b86fc7a084e68428f3354789ef8e3b4c.tar.xz
mailman2-d258eeb3b86fc7a084e68428f3354789ef8e3b4c.zip
Backporting various fixes and improvements from the trunk.
Diffstat (limited to 'bin/transcheck')
-rwxr-xr-xbin/transcheck15
1 files changed, 11 insertions, 4 deletions
diff --git a/bin/transcheck b/bin/transcheck
index fbb0dcd8..78d1b6d1 100755
--- a/bin/transcheck
+++ b/bin/transcheck
@@ -55,14 +55,19 @@ def usage(code, msg=''):
class TransChecker:
"check a translation comparing with the original string"
- def __init__(self, regexp):
+ def __init__(self, regexp, escaped=None):
self.dict = {}
self.errs = []
self.regexp = re.compile(regexp)
+ self.escaped = None
+ if escaped:
+ self.escaped = re.compile(escaped)
def checkin(self, string):
"scan a string from the original file"
for key in self.regexp.findall(string):
+ if self.escaped and self.escaped.match(key):
+ continue
if self.dict.has_key(key):
self.dict[key] += 1
else:
@@ -71,6 +76,8 @@ class TransChecker:
def checkout(self, string):
"scan a translated string"
for key in self.regexp.findall(string):
+ if self.escaped and self.escaped.match(key):
+ continue
if self.dict.has_key(key):
self.dict[key] -= 1
else:
@@ -273,9 +280,9 @@ def check_file(translatedFile, originalFile, html=0, quiet=0):
search also <MM-*> tags if html is not zero"""
if html:
- c = TransChecker("(%\([^)]+\)[0-9]*[sd]|</?MM-[^>]+>)")
+ c = TransChecker("(%%|%\([^)]+\)[0-9]*[sd]|</?MM-[^>]+>)", "^%%$")
else:
- c = TransChecker("(%\([^)]+\)[0-9]*[sd])")
+ c = TransChecker("(%%|%\([^)]+\)[0-9]*[sd])", "^%%$")
try:
f = open(originalFile)
@@ -319,7 +326,7 @@ def check_po(file, quiet=0):
"scan the po file comparing msgids with msgstrs"
n = 0
p = POParser(file)
- c = TransChecker("(%\([^)]+\)[0-9]*[sdu]|%[0-9]*[sdu])")
+ c = TransChecker("(%%|%\([^)]+\)[0-9]*[sdu]|%[0-9]*[sdu])", "^%%$")
while p.parse():
if p.msgstr:
c.reset()