i18n
53 lines
| 1.7 KiB
| text/plain
|
TextLexer
/ scripts / i18n
Thomas De Schampheleire
|
r8182 | #!/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 | ||||
Thomas De Schampheleire
|
r8183 | |||
Normally, the i18n-related files contain for each translatable string a | ||||
reference to all the source code locations where this string is found. This | ||||
meta data is useful for translators to assess how strings are used, but is not | ||||
relevant for normal development nor for running Kallithea. Such meta data, or | ||||
derived data like kallithea.pot, will inherently be outdated, and create | ||||
unnecessary churn and repository growth, making it harder to spot actual and | ||||
important changes. | ||||
Thomas De Schampheleire
|
r8182 | """ | ||
@click.group() | ||||
@click.option('--debug/--no-debug', default=False) | ||||
def cli(debug): | ||||
if (debug): | ||||
i18n_utils.do_debug = True | ||||
pass | ||||
Thomas De Schampheleire
|
r8183 | @cli.command() | ||
@click.argument('po_files', nargs=-1) | ||||
def normalize_po_files(po_files): | ||||
"""Normalize the specified .po and .pot files. | ||||
Only actual translations and essential headers will be preserved. | ||||
""" | ||||
for po_file in po_files: | ||||
i18n_utils._normalize_po_file(po_file, strip=True) | ||||
Thomas De Schampheleire
|
r8182 | if __name__ == '__main__': | ||
cli() | ||||