]> Frank Brehm's Git Trees - pixelpark/pp-admin-tools.git/commitdiff
Starting with translations
authorFrank Brehm <frank@brehm-online.com>
Fri, 26 Nov 2021 11:37:23 +0000 (12:37 +0100)
committerFrank Brehm <frank@brehm-online.com>
Fri, 26 Nov 2021 11:37:23 +0000 (12:37 +0100)
.gitignore
compile-xlate-msgs.sh [new file with mode: 0755]
lib/pp_admintools/xlate.py
locale/de_DE/LC_MESSAGES/pp_admintools.po [new file with mode: 0644]
locale/en_US/LC_MESSAGES/pp_admintools.po [new file with mode: 0644]
locale/pp_admintools.pot [new file with mode: 0644]
xtract-xlate-msgs.sh [new file with mode: 0755]

index c643eaa5b98b60bee202b78c98528b5cd2ad9750..1862afa96ac83db2c22da7dc1b0c3743b7ceccbc 100644 (file)
@@ -11,6 +11,7 @@ MANIFEST
 .idea
 *.whl
 *.retry
+*.mo
 tmp/*
 .bundle/
 vendor/
diff --git a/compile-xlate-msgs.sh b/compile-xlate-msgs.sh
new file mode 100755 (executable)
index 0000000..a26dfa0
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+set -e
+set -u
+
+base_dir=$( dirname "$0" )
+cd "${base_dir}" ||exit 99
+
+locale_dir="locale"
+locale_domain="pp_admintools"
+# pot_file="${locale_dir}/${locale_domain}.pot"
+# po_with="99"
+# my_address="${DEBEMAIL:-frank@brehm-online.com}"
+
+pybabel compile --domain "${locale_domain}" \
+    --directory "${locale_dir}" \
+    --statistics
+
index 770ff82d449ea40b9cbbe282b1419e3953753204..07e08056d5e9fbff3dd13e555b3fec689c504896 100644 (file)
@@ -27,7 +27,7 @@ import babel
 import babel.lists
 from babel.support import Translations
 
-DOMAIN = 'fb_pdnstools'
+DOMAIN = 'pp_admintools'
 
 LOG = logging.getLogger(__name__)
 
diff --git a/locale/de_DE/LC_MESSAGES/pp_admintools.po b/locale/de_DE/LC_MESSAGES/pp_admintools.po
new file mode 100644 (file)
index 0000000..c08e6ff
--- /dev/null
@@ -0,0 +1,278 @@
+# German (Germany) translations for pp_admintools.
+# Copyright (C) 2021 Frank Brehm, Digitas Pixelpark Berlin
+# This file is distributed under the same license as the pp_admintools project.
+# Frank Brehm <frank.brehm@pixelpark.com>, 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pp_admintools 0.8.0\n"
+"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
+"POT-Creation-Date: 2021-11-26 11:54+0100\n"
+"PO-Revision-Date: 2021-11-26 12:00+0100\n"
+"Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
+"Language: de_DE\n"
+"Language-Team: de_DE <solution@pixelpark.com>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.8.0\n"
+
+#: lib/pp_admintools/cfg_app.py:143 lib/pp_admintools/cfg_app.py:149
+msgid "Invalid configuration stem {!r} given."
+msgstr "Ungültiger Konfigurations-Stammname {!r} angegeben."
+
+#: lib/pp_admintools/cfg_app.py:190
+msgid "{c} on setting encoding {v!r}: {e}"
+msgstr "{c} beim Setzen der Kodierung {v!r}: {e}"
+
+#: lib/pp_admintools/cfg_app.py:244
+msgid "Mailing options"
+msgstr "E-Mail-Optionen"
+
+#: lib/pp_admintools/cfg_app.py:248 lib/pp_admintools/cfg_app.py:254 lib/pp_admintools/cfg_app.py:260
+msgid "ADDRESS"
+msgstr "ADRESSE"
+
+#: lib/pp_admintools/cfg_app.py:249
+msgid "Mail addresses of all recipients for mails generated by this script."
+msgstr "Mailadressen aller Empfänger von Mails, die von diesem Skript generiert werden."
+
+#: lib/pp_admintools/cfg_app.py:255
+msgid "Mail addresses of all CC recipients for mails generated by this script."
+msgstr "Mailadressen aller CC-Empfänger von Mails, die von diesem Skript generiert werden."
+
+#: lib/pp_admintools/cfg_app.py:261
+msgid "Reply mail address for mails generated by this script."
+msgstr "Antwort-Mailadresse von Mails, die von diesem Skript generiert werden."
+
+#: lib/pp_admintools/cfg_app.py:266
+msgid "METHOD"
+msgstr "METHODE"
+
+#: lib/pp_admintools/cfg_app.py:267
+msgid "Method for sending the mails generated by this script. Valid values: {v}, default: {d!r}."
+msgstr "Methode zum Senden von Mails, die von diesem Skript generiert werden. Gültige Werte: {v}, Vorgabe: {d!r}."
+
+#: lib/pp_admintools/cfg_app.py:276
+msgid "SERVER"
+msgstr "SERVER"
+
+#: lib/pp_admintools/cfg_app.py:277
+msgid ""
+"Mail server for submitting generated by this script if the mail method of this script is 'smtp'."
+" Default: {!r}."
+msgstr ""
+"Der Mailserver zur Übermittlung der von diesem Skript generierten Mails, wenn die Mail-Methode "
+"'smtp' ist. Vorgabe: {!r}."
+
+#: lib/pp_admintools/cfg_app.py:285
+msgid "PORT"
+msgstr "PORT"
+
+#: lib/pp_admintools/cfg_app.py:286
+msgid ""
+"The port to use for submitting generated by this script if the mail method of this script is "
+"'smtp'. Default: {}."
+msgstr ""
+"Der zu verwendende Port zur Übermittlung der von diesem Skript generierten Mails, wenn die "
+"Mail-Methode 'smtp' ist. Vorgabe: {}."
+
+#: lib/pp_admintools/cfg_app.py:291
+msgid "Config file options"
+msgstr "Konfigurationsdatei-Optionen"
+
+#: lib/pp_admintools/cfg_app.py:295 lib/pp_admintools/cfg_app.py:303
+msgid "FILE"
+msgstr "DATEI"
+
+#: lib/pp_admintools/cfg_app.py:296
+msgid "Configuration files to use additional to the standard configuration files."
+msgstr "Zusätzlich zu den Standard-Konfigurationsdateien zu verwendende Konfigurationsdateien."
+
+#: lib/pp_admintools/cfg_app.py:304
+msgid "Configuration file for logging in JSON format. See {!r} how the structures has to be defined."
+msgstr "Konfigurationsdatei zum Loggen im JSON format. Siehe {!r}, wie die Struktur definiert werden muss."
+
+#: lib/pp_admintools/cfg_app.py:311
+msgid "ENCODING"
+msgstr "KODIERUNG"
+
+#: lib/pp_admintools/cfg_app.py:312
+#, python-format
+msgid "The encoding character set of the configuration files (default: %(default)r)."
+msgstr "Der Kodierungs-Zeichensatz der Konfigurationsdateien (Vorgabe: %(default)r)."
+
+#: lib/pp_admintools/cfg_app.py:345 lib/pp_admintools/cfg_app.py:391 lib/pp_admintools/cfg_app.py:425
+#: lib/pp_admintools/cfg_app.py:500
+msgid "Searching for {!r} ..."
+msgstr "Suche nach {!r} …"
+
+#: lib/pp_admintools/cfg_app.py:411
+msgid "Log config files:"
+msgstr "Log-Konfigurationsdateien:"
+
+#: lib/pp_admintools/cfg_app.py:432
+msgid "No read access to {!r}."
+msgstr "Kein Lesezugriff auf {!r}."
+
+#: lib/pp_admintools/cfg_app.py:438
+msgid "Reading and evaluating {!r} ..."
+msgstr "Lese und evaluiere {!r} …"
+
+#: lib/pp_admintools/cfg_app.py:454
+msgid "Evaluated configuration from JSON:"
+msgstr "Evaluierte Konfiguration aus JSON:"
+
+#: lib/pp_admintools/cfg_app.py:458
+msgid "Wrong file {!r} - "
+msgstr "Falsche Datei {!r} - "
+
+#: lib/pp_admintools/cfg_app.py:503
+msgid "Config file {!r} not found."
+msgstr "Die Konfigurationsdatei {!r} wurde nicht gefunden."
+
+#: lib/pp_admintools/cfg_app.py:506
+msgid "Reading {!r} ..."
+msgstr "Lese {!r} …"
+
+#: lib/pp_admintools/cfg_app.py:517
+msgid "Wrong configuration in {!r} found: "
+msgstr "Falsche Konfiguration in {!r} gefunden: "
+
+#: lib/pp_admintools/cfg_app.py:519
+msgid "Configuration error"
+msgstr "Konfigurationsfehler"
+
+#: lib/pp_admintools/cfg_app.py:530
+msgid "Evaluated config from {!r}:"
+msgstr "Evaluierte Konfiguration aus {!r}:"
+
+#: lib/pp_admintools/cfg_app.py:534
+msgid "Evaluated config total:"
+msgstr "Evaluierte Gesamtkonfiguration:"
+
+#: lib/pp_admintools/cfg_app.py:557
+msgid "There are errors in configuration."
+msgstr "Es gibt Fehler in der Konfiguration."
+
+#: lib/pp_admintools/cfg_app.py:560
+msgid "There are no errors in configuration."
+msgstr "In der Konfiguration gibt es keine Fehler."
+
+#: lib/pp_admintools/cfg_app.py:568 lib/pp_admintools/cfg_app.py:591
+msgid "Evaluating config section {!r}:"
+msgstr "Evaluiere Konfigurations-Abschnitt {!r}:"
+
+#: lib/pp_admintools/cfg_app.py:615
+msgid "Found invalid recipient mail address {!r} in configuration."
+msgstr "Ungültige Empfänger-Mailadresse {!r} in der Konfiguration gefunden."
+
+#: lib/pp_admintools/cfg_app.py:631
+msgid "CC addresses:"
+msgstr "CC-Adressen:"
+
+#: lib/pp_admintools/cfg_app.py:637
+msgid "Found invalid cc mail address {!r} in configuration."
+msgstr "Ungültige CC-Mailadresse {!r} in der Konfiguration gefunden."
+
+#: lib/pp_admintools/cfg_app.py:655
+msgid "Found invalid reply mail address {!r} in configuration."
+msgstr "Ungültige Antwort-Mailadresse {!r} in der Konfiguration gefunden."
+
+#: lib/pp_admintools/cfg_app.py:670
+msgid "Found invalid mail method {!r} in configuration."
+msgstr "Ungültige Mail-Methode {!r} in der Konfiguration gefunden."
+
+#: lib/pp_admintools/cfg_app.py:695 lib/pp_admintools/cfg_app.py:699
+msgid "Found invalid SMTP port number {!r} in configuration."
+msgstr "Ungültige SMTP-Port-Nummer {!r} in der Konfiguration gefunden."
+
+#: lib/pp_admintools/cfg_app.py:722
+msgid "Got invalid SMTP port number {!r}."
+msgstr "Ungültige SMTP-Port-Nummer {!r} erhalten."
+
+#: lib/pp_admintools/cfg_app.py:740
+msgid "Got invalid recipient mail address {!r}."
+msgstr "Ungültige Empfänger-Mailadresse {!r} erhalten."
+
+#: lib/pp_admintools/cfg_app.py:761
+msgid "Got invalid CC mail address {!r}."
+msgstr "Ungültige CC-Mailadresse {!r} erhalten."
+
+#: lib/pp_admintools/cfg_app.py:776
+msgid "Got invalid reply mail address {!r}."
+msgstr "Ungültige CC-Mailadresse {!r} erhalten."
+
+#: lib/pp_admintools/cfg_app.py:807
+msgid "Mail to send:"
+msgstr "Die zu sendende Mail:"
+
+#: lib/pp_admintools/cfg_app.py:840
+msgid "Did not found sendmail executable."
+msgstr "Kein ausführbares Programm 'sendmail' gefunden."
+
+#: lib/pp_admintools/cfg_app.py:846
+msgid "Executing: {}"
+msgstr "Führe aus: {}"
+
+#: lib/pp_admintools/cfg_app.py:872
+msgid "Checking, whether {!r} is a local zone."
+msgstr "Überprüfe, ob {!r} eine lokale Zune ist."
+
+#: lib/pp_admintools/cfg_app.py:876
+msgid "Zone {zone!r} has the local TLD {tld!r}."
+msgstr "Die Zone {zone!r} hat eine lokale TLD {tld!r}."
+
+#: lib/pp_admintools/cfg_app.py:882
+msgid "Zone {zone!r} has the local base name {n!r}."
+msgstr "Die Zone {zone!r} hat einen lokalen Basisnamen: {n!r}."
+
+#: lib/pp_admintools/cfg_app.py:888
+msgid "Zone {zone!r} has the public TLD {tld!r}."
+msgstr "Die Zone {zone!r} hat eine öffentliche TLD {tld!r}."
+
+#: lib/pp_admintools/cfg_app.py:898
+msgid "Got IPv4 tupels from zone {!r}:"
+msgstr "Habe IPv4 Tupels von Zone {!r} erhalten:"
+
+#: lib/pp_admintools/cfg_app.py:913
+msgid "Could not interprete reverse IPv4 zone {!r}."
+msgstr "Konnte Revers-IPv4-Zone {!r} nicht interpretieren."
+
+#: lib/pp_admintools/cfg_app.py:917
+msgid "Got IPv4 network address of zone {zone!r}: {nw!r}."
+msgstr "Habe IPv4-Netzwerkadresse von Zone {zone!r} erhalten: {nw!r}."
+
+#: lib/pp_admintools/cfg_app.py:923
+msgid "The network {nw!r} of zone {zone!r} is allocated for public networks."
+msgstr "Die Netzwerkadresse {nw!r} von Zone {zone!r} ist für öffentliche Netze bestimmt."
+
+#: lib/pp_admintools/cfg_app.py:926
+msgid "The network {nw!r} of zone {zone!r} is allocated for local networks."
+msgstr "Die Netzwerkadresse {nw!r} von Zone {zone!r} ist für lokale Netze bestimmt."
+
+#: lib/pp_admintools/cfg_app.py:932
+msgid "Zone {!r} seems to be a reverse zone for a public network."
+msgstr "Die Zone {!r} scheint eine Reverse-Zone eines öffentlichen Netzwerks zu sein."
+
+#: lib/pp_admintools/xlate.py:97
+msgid "Module directory: {!r}"
+msgstr "Modul-Verzeichnis: {!r}"
+
+#: lib/pp_admintools/xlate.py:98
+msgid "Base directory: {!r}"
+msgstr "Basis-Verzeichnis: {!r}"
+
+#: lib/pp_admintools/xlate.py:99
+msgid "Locale directory: {!r}"
+msgstr "Verzeichnis für Locales: {!r}"
+
+#: lib/pp_admintools/xlate.py:100
+msgid "Locale domain: {!r}"
+msgstr "Locale-Domäne: {!r}"
+
+#: lib/pp_admintools/xlate.py:101
+msgid "Found .mo-file: {!r}"
+msgstr "Gefundene .mo-Datei: {!r}"
+
diff --git a/locale/en_US/LC_MESSAGES/pp_admintools.po b/locale/en_US/LC_MESSAGES/pp_admintools.po
new file mode 100644 (file)
index 0000000..6db8621
--- /dev/null
@@ -0,0 +1,274 @@
+# English (United States) translations for pp_admintools.
+# Copyright (C) 2021 Frank Brehm, Digitas Pixelpark Berlin
+# This file is distributed under the same license as the pp_admintools project.
+# Frank Brehm <frank.brehm@pixelpark.com>, 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pp_admintools 0.8.0\n"
+"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
+"POT-Creation-Date: 2021-11-26 11:54+0100\n"
+"PO-Revision-Date: 2021-11-26 11:54+0100\n"
+"Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
+"Language: en_US\n"
+"Language-Team: en_US <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.8.0\n"
+
+#: lib/pp_admintools/cfg_app.py:143 lib/pp_admintools/cfg_app.py:149
+msgid "Invalid configuration stem {!r} given."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:190
+msgid "{c} on setting encoding {v!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:244
+msgid "Mailing options"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:248 lib/pp_admintools/cfg_app.py:254 lib/pp_admintools/cfg_app.py:260
+msgid "ADDRESS"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:249
+msgid "Mail addresses of all recipients for mails generated by this script."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:255
+msgid "Mail addresses of all CC recipients for mails generated by this script."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:261
+msgid "Reply mail address for mails generated by this script."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:266
+msgid "METHOD"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:267
+msgid "Method for sending the mails generated by this script. Valid values: {v}, default: {d!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:276
+msgid "SERVER"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:277
+msgid ""
+"Mail server for submitting generated by this script if the mail method of this script is 'smtp'."
+" Default: {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:285
+msgid "PORT"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:286
+msgid ""
+"The port to use for submitting generated by this script if the mail method of this script is "
+"'smtp'. Default: {}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:291
+msgid "Config file options"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:295 lib/pp_admintools/cfg_app.py:303
+msgid "FILE"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:296
+msgid "Configuration files to use additional to the standard configuration files."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:304
+msgid "Configuration file for logging in JSON format. See {!r} how the structures has to be defined."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:311
+msgid "ENCODING"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:312
+#, python-format
+msgid "The encoding character set of the configuration files (default: %(default)r)."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:345 lib/pp_admintools/cfg_app.py:391 lib/pp_admintools/cfg_app.py:425
+#: lib/pp_admintools/cfg_app.py:500
+msgid "Searching for {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:411
+msgid "Log config files:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:432
+msgid "No read access to {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:438
+msgid "Reading and evaluating {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:454
+msgid "Evaluated configuration from JSON:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:458
+msgid "Wrong file {!r} - "
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:503
+msgid "Config file {!r} not found."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:506
+msgid "Reading {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:517
+msgid "Wrong configuration in {!r} found: "
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:519
+msgid "Configuration error"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:530
+msgid "Evaluated config from {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:534
+msgid "Evaluated config total:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:557
+msgid "There are errors in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:560
+msgid "There are no errors in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:568 lib/pp_admintools/cfg_app.py:591
+msgid "Evaluating config section {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:615
+msgid "Found invalid recipient mail address {!r} in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:631
+msgid "CC addresses:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:637
+msgid "Found invalid cc mail address {!r} in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:655
+msgid "Found invalid reply mail address {!r} in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:670
+msgid "Found invalid mail method {!r} in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:695 lib/pp_admintools/cfg_app.py:699
+msgid "Found invalid SMTP port number {!r} in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:722
+msgid "Got invalid SMTP port number {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:740
+msgid "Got invalid recipient mail address {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:761
+msgid "Got invalid CC mail address {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:776
+msgid "Got invalid reply mail address {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:807
+msgid "Mail to send:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:840
+msgid "Did not found sendmail executable."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:846
+msgid "Executing: {}"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:872
+msgid "Checking, whether {!r} is a local zone."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:876
+msgid "Zone {zone!r} has the local TLD {tld!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:882
+msgid "Zone {zone!r} has the local base name {n!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:888
+msgid "Zone {zone!r} has the public TLD {tld!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:898
+msgid "Got IPv4 tupels from zone {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:913
+msgid "Could not interprete reverse IPv4 zone {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:917
+msgid "Got IPv4 network address of zone {zone!r}: {nw!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:923
+msgid "The network {nw!r} of zone {zone!r} is allocated for public networks."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:926
+msgid "The network {nw!r} of zone {zone!r} is allocated for local networks."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:932
+msgid "Zone {!r} seems to be a reverse zone for a public network."
+msgstr ""
+
+#: lib/pp_admintools/xlate.py:97
+msgid "Module directory: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/xlate.py:98
+msgid "Base directory: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/xlate.py:99
+msgid "Locale directory: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/xlate.py:100
+msgid "Locale domain: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/xlate.py:101
+msgid "Found .mo-file: {!r}"
+msgstr ""
+
diff --git a/locale/pp_admintools.pot b/locale/pp_admintools.pot
new file mode 100644 (file)
index 0000000..85397bc
--- /dev/null
@@ -0,0 +1,273 @@
+# Translations template for pp_admintools.
+# Copyright (C) 2021 Frank Brehm, Digitas Pixelpark Berlin
+# This file is distributed under the same license as the pp_admintools project.
+# Frank Brehm <frank.brehm@pixelpark.com>, 2021.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: pp_admintools 0.8.0\n"
+"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
+"POT-Creation-Date: 2021-11-26 11:54+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.8.0\n"
+
+#: lib/pp_admintools/cfg_app.py:143 lib/pp_admintools/cfg_app.py:149
+msgid "Invalid configuration stem {!r} given."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:190
+msgid "{c} on setting encoding {v!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:244
+msgid "Mailing options"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:248 lib/pp_admintools/cfg_app.py:254 lib/pp_admintools/cfg_app.py:260
+msgid "ADDRESS"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:249
+msgid "Mail addresses of all recipients for mails generated by this script."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:255
+msgid "Mail addresses of all CC recipients for mails generated by this script."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:261
+msgid "Reply mail address for mails generated by this script."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:266
+msgid "METHOD"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:267
+msgid "Method for sending the mails generated by this script. Valid values: {v}, default: {d!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:276
+msgid "SERVER"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:277
+msgid ""
+"Mail server for submitting generated by this script if the mail method of this script is 'smtp'."
+" Default: {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:285
+msgid "PORT"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:286
+msgid ""
+"The port to use for submitting generated by this script if the mail method of this script is "
+"'smtp'. Default: {}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:291
+msgid "Config file options"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:295 lib/pp_admintools/cfg_app.py:303
+msgid "FILE"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:296
+msgid "Configuration files to use additional to the standard configuration files."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:304
+msgid "Configuration file for logging in JSON format. See {!r} how the structures has to be defined."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:311
+msgid "ENCODING"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:312
+#, python-format
+msgid "The encoding character set of the configuration files (default: %(default)r)."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:345 lib/pp_admintools/cfg_app.py:391 lib/pp_admintools/cfg_app.py:425
+#: lib/pp_admintools/cfg_app.py:500
+msgid "Searching for {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:411
+msgid "Log config files:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:432
+msgid "No read access to {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:438
+msgid "Reading and evaluating {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:454
+msgid "Evaluated configuration from JSON:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:458
+msgid "Wrong file {!r} - "
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:503
+msgid "Config file {!r} not found."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:506
+msgid "Reading {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:517
+msgid "Wrong configuration in {!r} found: "
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:519
+msgid "Configuration error"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:530
+msgid "Evaluated config from {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:534
+msgid "Evaluated config total:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:557
+msgid "There are errors in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:560
+msgid "There are no errors in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:568 lib/pp_admintools/cfg_app.py:591
+msgid "Evaluating config section {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:615
+msgid "Found invalid recipient mail address {!r} in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:631
+msgid "CC addresses:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:637
+msgid "Found invalid cc mail address {!r} in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:655
+msgid "Found invalid reply mail address {!r} in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:670
+msgid "Found invalid mail method {!r} in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:695 lib/pp_admintools/cfg_app.py:699
+msgid "Found invalid SMTP port number {!r} in configuration."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:722
+msgid "Got invalid SMTP port number {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:740
+msgid "Got invalid recipient mail address {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:761
+msgid "Got invalid CC mail address {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:776
+msgid "Got invalid reply mail address {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:807
+msgid "Mail to send:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:840
+msgid "Did not found sendmail executable."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:846
+msgid "Executing: {}"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:872
+msgid "Checking, whether {!r} is a local zone."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:876
+msgid "Zone {zone!r} has the local TLD {tld!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:882
+msgid "Zone {zone!r} has the local base name {n!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:888
+msgid "Zone {zone!r} has the public TLD {tld!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:898
+msgid "Got IPv4 tupels from zone {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:913
+msgid "Could not interprete reverse IPv4 zone {!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:917
+msgid "Got IPv4 network address of zone {zone!r}: {nw!r}."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:923
+msgid "The network {nw!r} of zone {zone!r} is allocated for public networks."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:926
+msgid "The network {nw!r} of zone {zone!r} is allocated for local networks."
+msgstr ""
+
+#: lib/pp_admintools/cfg_app.py:932
+msgid "Zone {!r} seems to be a reverse zone for a public network."
+msgstr ""
+
+#: lib/pp_admintools/xlate.py:97
+msgid "Module directory: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/xlate.py:98
+msgid "Base directory: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/xlate.py:99
+msgid "Locale directory: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/xlate.py:100
+msgid "Locale domain: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/xlate.py:101
+msgid "Found .mo-file: {!r}"
+msgstr ""
+
diff --git a/xtract-xlate-msgs.sh b/xtract-xlate-msgs.sh
new file mode 100755 (executable)
index 0000000..5dd49c0
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+set -e
+set -u
+
+base_dir=$( dirname "$0" )
+cd "${base_dir}" || exit 99
+
+locale_dir="locale"
+locale_domain="pp_admintools"
+pot_file="${locale_dir}/${locale_domain}.pot"
+po_with="99"
+my_address="${DEBEMAIL:-frank.brehm@pixelpark.com}"
+
+pkg_version=$( grep -E '^\s*__version__' lib/pp_admintools/global_version.py | sed -e 's/.*=[  ]*//' -e "s/'//g" )
+echo "Package-Version: '${pkg_version}'"
+
+pybabel extract bin/* lib \
+    -o "${pot_file}" \
+    -F etc/babel.ini \
+    --width=${po_with} \
+    --sort-by-file \
+    --msgid-bugs-address="${my_address}" \
+    --copyright-holder="Frank Brehm, Digitas Pixelpark Berlin" \
+    --project="${locale_domain}" \
+    --version="${pkg_version}"
+
+sed -i -e "s/FIRST AUTHOR/Frank Brehm/g" -e "s/<EMAIL@ADDRESS>/<${my_address}>/g" "${pot_file}"
+
+for lang in de_DE en_US ; do
+    po_file="${locale_dir}/${lang}/LC_MESSAGES/${locale_domain}.po"
+    if [[ ! -f "${po_file}" ]] ; then
+        pybabel init --domain "${locale_domain}" \
+            --input-file "${pot_file}" \
+            --output-dir "${locale_dir}" \
+            --locale "${lang}" \
+            --width ${po_with}
+    else
+        pybabel update --domain "${locale_domain}" \
+            --input-file "${pot_file}" \
+            --output-dir "${locale_dir}" \
+            --locale "${lang}" \
+            --width ${po_with} \
+            --ignore-obsolete \
+            --update-header-comment
+    fi
+
+    # Updating project version
+    sed -i -e "s/^\(\"Project-Id-Version:[     ][      ]*[^    ][^     ]*[     ][      ]*\)[^  \\][^   \\]*/\1${pkg_version}/i" "${po_file}"
+
+done
+
+# vim: ts=4 list