changeset 8313:4bc712f1ec93

scripts/i18n: introduce new i18n maintenance script The translation files in the Kallithea repository contained references to the location(s) of each string in the repository. This is useful to translators, but is not needed for all other users. The big problem with that information is that it changes very commonly as a result of normal development in Kallithea, causing a lot of unimportant delta in the Kallithea repository, thus causing unnecessary repository growth. A script 'i18n' is added to help maintain the i18n files. Functionality will be added later.
author Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
date Sun, 29 Mar 2020 21:24:14 +0200
parents 31250d5e3c6a
children ae9d205f4407
files scripts/i18n scripts/i18n_utils.py
diffstat 2 files changed, 61 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/i18n	Sun Mar 29 21:24:14 2020 +0200
@@ -0,0 +1,34 @@
+#!/usr/bin/env python3
+
+# -*- coding: utf-8 -*-
+# 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 <http://www.gnu.org/licenses/>.
+
+import click
+
+import i18n_utils
+
+
+"""
+Tool for maintenance of .po and .pot files
+"""
+
+@click.group()
+@click.option('--debug/--no-debug', default=False)
+def cli(debug):
+    if (debug):
+        i18n_utils.do_debug = True
+    pass
+
+if __name__ == '__main__':
+    cli()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/i18n_utils.py	Sun Mar 29 21:24:14 2020 +0200
@@ -0,0 +1,27 @@
+# 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 <http://www.gnu.org/licenses/>.
+
+from __future__ import print_function
+
+import subprocess
+
+
+do_debug = False  # set from scripts/i18n --debug
+
+def debug(*args, **kwargs):
+    if do_debug:
+        print(*args, **kwargs)
+
+def runcmd(cmd, *args, **kwargs):
+    debug('... Executing command: %s' % ' '.join(cmd))
+    subprocess.check_call(cmd, *args, **kwargs)