diff options
| author | Matthew Poletiek <matthew.poletiek@gmail.com> | 2020-12-08 21:03:16 -0600 |
|---|---|---|
| committer | Matthew Poletiek <matthew.poletiek@gmail.com> | 2020-12-08 21:03:16 -0600 |
| commit | e99416456afd4aa8bde42016826f9a345291cbf3 (patch) | |
| tree | a7a95639cd1cb5dbe2d91a2ca8e8defafac4296d /locale/check_parameters.py | |
| parent | 194cf4e5e0b6a2811103a9b739a72b9afe2b886c (diff) | |
| download | chirp-e99416456afd4aa8bde42016826f9a345291cbf3.tar.gz chirp-e99416456afd4aa8bde42016826f9a345291cbf3.tar.xz | |
Initial Commit
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 |
