# HG changeset patch # User Thomas De Schampheleire # Date 2020-03-29 19:24:14 # Node ID 4bc712f1ec937812108ba4749dbeaf563ad4a9b7 # Parent 31250d5e3c6a4d7fe81c25ed97c1c9bc46dd289d 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. diff --git a/scripts/i18n b/scripts/i18n new file mode 100755 --- /dev/null +++ b/scripts/i18n @@ -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 . + +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() diff --git a/scripts/i18n_utils.py b/scripts/i18n_utils.py new file mode 100644 --- /dev/null +++ b/scripts/i18n_utils.py @@ -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 . + +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)