summaryrefslogtreecommitdiff
path: root/tools/check_translations.py
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2018-07-31 16:53:54 -0700
committerScott Shawcroft <scott@tannewt.org>2018-08-07 14:58:57 -0700
commit933add6cd833bb6ba6682ad2b6eb478871415ff5 (patch)
tree8cb5ee1feb0516c24ee270fcee5ed00d310aced8 /tools/check_translations.py
parent2029c4e87e3e71ada07c8be91fe6877edf4a606b (diff)
Support internationalisation.
Diffstat (limited to 'tools/check_translations.py')
-rw-r--r--tools/check_translations.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/check_translations.py b/tools/check_translations.py
new file mode 100644
index 000000000..4bea040bf
--- /dev/null
+++ b/tools/check_translations.py
@@ -0,0 +1,23 @@
+# Validate that all entries in the .pot are in every .po. Only the .pot is updated so we can detect
+# if a translation was added to the source but isn't in a .po. This ensures translators can grab
+# complete files to work on.
+
+import sys
+import polib
+
+
+template_filename = sys.argv[1]
+po_filenames = sys.argv[2:]
+
+template = polib.pofile(template_filename)
+all_ids = set([x.msgid for x in template])
+for po_filename in po_filenames:
+ print("Checking", po_filename)
+ po_file = polib.pofile(po_filename)
+ po_ids = set([x.msgid for x in po_file])
+
+ if all_ids - po_ids:
+ print("Missing message id. Please run `make translate`")
+ sys.exit(-1)
+ else:
+ print("ok")