diff options
Diffstat (limited to 'locale/check_parameters.py')
| -rwxr-xr-x | locale/check_parameters.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/locale/check_parameters.py b/locale/check_parameters.py new file mode 100755 index 0000000..f0f3d51 --- /dev/null +++ b/locale/check_parameters.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python + +import polib +from string import Formatter +import glob + +filelist = glob.glob("*.po") +pos = {filename: polib.pofile(filename) for filename in filelist} + +formatter = Formatter() + +for name, po in pos.iteritems(): + print "Testing", name + for entry in po: + if len(entry.msgstr) > 0: + try: + ids = [field_name + for literal_text, field_name, format_spec, conversion + in formatter.parse(entry.msgid)] + tids = [field_name + for literal_text, field_name, format_spec, conversion + in formatter.parse(entry.msgstr)] + except Exception as e: + print "Got exception!", e, "for entry", entry.msgid + else: + if tids is not None: + missing = [name for name in tids + if name is not None and name not in ids] + if len(missing) > 0: + print "Missing parameters", missing, \ + "in translation of", entry.msgid |
