aboutsummaryrefslogtreecommitdiff
path: root/locale/check_parameters.py
diff options
context:
space:
mode:
authorMatthew Poletiek <matthew.poletiek@gmail.com>2020-12-08 21:03:16 -0600
committerMatthew Poletiek <matthew.poletiek@gmail.com>2020-12-08 21:03:16 -0600
commite99416456afd4aa8bde42016826f9a345291cbf3 (patch)
treea7a95639cd1cb5dbe2d91a2ca8e8defafac4296d /locale/check_parameters.py
parent194cf4e5e0b6a2811103a9b739a72b9afe2b886c (diff)
downloadchirp-e99416456afd4aa8bde42016826f9a345291cbf3.tar.gz
chirp-e99416456afd4aa8bde42016826f9a345291cbf3.tar.xz
Initial Commit
Diffstat (limited to 'locale/check_parameters.py')
-rwxr-xr-xlocale/check_parameters.py31
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