From b72ccaa2ea358b2359e4a7efa8b9b0e9dc0c5c95 Mon Sep 17 00:00:00 2001 From: Gobinath Date: Mon, 10 May 2021 07:26:30 -0400 Subject: [PATCH] Add a script to validate po files before release --- validate_po.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 validate_po.py diff --git a/validate_po.py b/validate_po.py new file mode 100644 index 0000000..7865a6d --- /dev/null +++ b/validate_po.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 +# Safe Eyes is a utility to remind you to take break frequently +# to protect your eyes from eye strain. + +# Copyright (C) 2021 Gobinath + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import os +import polib + +def validate_po(locale, path): + po = polib.pofile(path) + for entry in po: + if entry.msgstr and (entry.msgid.count("%") != entry.msgstr.count("%")): + print("Number of varialbes mismatched in " + locale) + print(entry.msgid + " -> " + entry.msgstr) + print() + +locales = os.listdir('safeeyes/config/locale') +for locale in locales: + path = os.path.join('safeeyes/config/locale', locale, "LC_MESSAGES/safeeyes.po") + if os.path.isfile(path): + validate_po(locale, path) \ No newline at end of file