]> Frank Brehm's Git Trees - pixelpark/pp-admin-tools.git/commitdiff
Translations
authorFrank Brehm <frank.brehm@pixelpark.com>
Thu, 25 May 2023 15:57:38 +0000 (17:57 +0200)
committerFrank Brehm <frank.brehm@pixelpark.com>
Thu, 25 May 2023 15:57:38 +0000 (17:57 +0200)
lib/pp_admintools/app/barracuda_sync.py
locale/de_DE/LC_MESSAGES/pp_admintools.po
locale/en_US/LC_MESSAGES/pp_admintools.po
locale/pp_admintools.pot

index 1dee5bbb85c275e0197660584007fa08ed1959cb..6f0d206d7f2a59c6ee901432e5dcdce67945baf5 100644 (file)
@@ -383,11 +383,11 @@ class BarracudaSyncApp(BaseLdapApplication):
         mtime_va_file = va_file.stat().st_mtime
         if mtime_db_file < mtime_va_file:
             LOG.warn(_(
-                'The last modification times of {db!r} is older than this '
+                'The last modification time of {db!r} is older than this '
                 'of {va!r}.').format(db=str(db_file), va=str(va_file)))
         elif self.verbose > 1:
             LOG.debug(_(
-                'The last modification times of {db!r} and {va!r} are '
+                'The last modification time of {db!r} and {va!r} are '
                 'okay.').format(db=str(db_file), va=str(va_file)))
 
     # -------------------------------------------------------------------------
index 894ac606d8200f5af313e60cd86468728a99a377..6d8d45a00f58cbbfe5141dc65add8e018e23ca50 100644 (file)
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: pp_admintools 0.8.7\n"
+"Project-Id-Version: pp_admintools 0.8.8\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2023-05-17 16:31+0200\n"
-"PO-Revision-Date: 2023-05-17 16:30+0100\n"
+"POT-Creation-Date: 2023-05-25 17:57+0200\n"
+"PO-Revision-Date: 2023-05-25 17:30+0100\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: de_DE\n"
 "Language-Team: de_DE <solution@pixelpark.com>\n"
@@ -18,96 +18,299 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 2.12.1\n"
 
-#: lib/pp_admintools/app/__init__.py:114
+#: lib/pp_admintools/app/__init__.py:113
 msgid "Using logfile {!r}."
 msgstr "Verwende Logdatei {!r}."
 
-#: lib/pp_admintools/app/__init__.py:116
+#: lib/pp_admintools/app/__init__.py:115
 msgid "Don't using a logfile."
 msgstr "Verwende keine Logdatei."
 
-#: lib/pp_admintools/app/barracuda_sync.py:105
+#: lib/pp_admintools/app/barracuda_sync.py:125
 msgid "Synchronization of existing virtual aliases with alias definitions in LDAP for Barracuda."
 msgstr ""
 "Synchronisiere die existierenden virtuellen Aliase mit den Aliasdefinitionen im LDAP für die "
 "Barracudas."
 
-#: lib/pp_admintools/app/barracuda_sync.py:119
+#: lib/pp_admintools/app/barracuda_sync.py:139
 msgid "Barracuda sync options"
 msgstr "Barracuda-Synchronisationsoptionen"
 
-#: lib/pp_admintools/app/barracuda_sync.py:122
-msgid "DIR"
-msgstr "VERZ"
-
-#: lib/pp_admintools/app/barracuda_sync.py:124
-msgid "The directory containing the virtual aliases mapping file. It has to be exists. Default: {!r}."
+#: lib/pp_admintools/app/barracuda_sync.py:143
+msgid ""
+"The DN of LDAP container (mostly an OU), where the virtual alias entries should be located. "
+"Default: {!r}."
 msgstr ""
-"iDas Verzeichnis, welches die Mapping-Datei für die virtuellen Aliase enthält. Es muss "
-"existieren. Vorgabe: {!r}."
+"Die DN des LDAP-Containers (meistens eine OU), in dem alle virtuellen Aliaseinträge geplegt "
+"werden sollen. Vorgabe: {!r}"
 
-#: lib/pp_admintools/app/barracuda_sync.py:131
-msgid "NAME"
-msgstr "NAME"
+#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:438
+#: lib/pp_admintools/app/mirror_ldap.py:123 lib/pp_admintools/app/pdns.py:286
+msgid "SECONDS"
+msgstr "SEKUNDEN"
 
-#: lib/pp_admintools/app/barracuda_sync.py:132
+#: lib/pp_admintools/app/barracuda_sync.py:150
 msgid ""
-"All possible basenames of the virtual aliases file below the latter directory. All of these "
-"basenames are used as source of the virtual aliases. Default: {!r}."
+"The time in seconds to wait after each write action to not overload the LDAP servers. Default: "
+"{} seconds."
 msgstr ""
-"Alle möglichen Basisnamen der Datei mit den virtuellen Aliasen im verhergehenden Verzeichnis. "
-"All diese Basisnamen werden als Quelle der virtuellen Aliase verwendet. Vorgabe: {!r}."
-
-#: lib/pp_admintools/app/barracuda_sync.py:139 lib/pp_admintools/app/mk_ldap_passwd.py:107
-msgid "TYPE"
-msgstr "TYP"
-
-#: lib/pp_admintools/app/barracuda_sync.py:140
-msgid "The used lookup table type of all virtual aliases table. Default: {!r}."
-msgstr "Der verwendete Lookup-Tabellentyp für alle virtuellen Alias-Dateien. Vorgabe: {!r}."
+"Die Wartezeit in Sekunden nach jedem Schreibzugriff, um die LDAP-Server nicht zu überlsaten. "
+"Vorgabe: {} Sekunden."
 
-#: lib/pp_admintools/app/barracuda_sync.py:147
-msgid ""
-"The DN of LDAP container (mostly an OU), where the virtual alias entries should be located. "
-"Default: {!r}."
+#: lib/pp_admintools/app/barracuda_sync.py:173
+msgid "Invalid value for wait ({v} seconds) given, it must not be less than zero or greater {m} seconds."
 msgstr ""
-"Die DN des LDAP-Containers (meistens eine OU), in dem alle virtuellen Aliaseinträge geplegt "
-"werden sollen. Vorgabe: {!r}"
+"Ungültiger Wert für die Wartezeit ({v} Sekunden) angegeben. Diese darf nicht kleiner als Null "
+"und muss größer als {m} Sekunden sein."
 
-#: lib/pp_admintools/app/barracuda_sync.py:171 lib/pp_admintools/app/barracuda_sync.py:230
-msgid "Checking postfix commands and lookup table types ..."
-msgstr "Überprüfe Postfix-Kommandos und Lookup-Tabellentypen …"
+#: lib/pp_admintools/app/barracuda_sync.py:192
+msgid "Checking postfix commands ..."
+msgstr "Überprüfe Postfix-Kommandos …"
 
-#: lib/pp_admintools/app/barracuda_sync.py:188
+#: lib/pp_admintools/app/barracuda_sync.py:209
 msgid "Postfix seems not to be installed."
 msgstr "Postfix scheint nicht installiert zu sein."
 
-#: lib/pp_admintools/app/barracuda_sync.py:191
+#: lib/pp_admintools/app/barracuda_sync.py:215
+msgid "Checking postfix lookup table types ..."
+msgstr "Überprüfe Lookup-Tabellentypen …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:217
 msgid "Evaluating lookup table types."
 msgstr "Ermittle Lookup-Tabellentypen."
 
-#: lib/pp_admintools/app/barracuda_sync.py:196
+#: lib/pp_admintools/app/barracuda_sync.py:222
 msgid "Error {} on evaluating lookup table types"
 msgstr "Fehler {} beim Ermitteln der Lookup-Tabellentypen"
 
-#: lib/pp_admintools/app/barracuda_sync.py:205 lib/pp_admintools/app/dns_deploy_zones.py:456
-#: lib/pp_admintools/app/dns_deploy_zones.py:810 lib/pp_admintools/app/ldap.py:871
-#: lib/pp_admintools/app/ldap.py:1004 lib/pp_admintools/app/ldap.py:1057
-#: lib/pp_admintools/app/ldap.py:1110 lib/pp_admintools/app/ldap.py:1398
-#: lib/pp_admintools/app/ldap.py:1432 lib/pp_admintools/app/ldap.py:1466
-#: lib/pp_admintools/app/ldap.py:1500
+#: lib/pp_admintools/app/barracuda_sync.py:231 lib/pp_admintools/app/barracuda_sync.py:427
+#: lib/pp_admintools/app/dns_deploy_zones.py:434 lib/pp_admintools/app/dns_deploy_zones.py:788
+#: lib/pp_admintools/app/ldap.py:876 lib/pp_admintools/app/ldap.py:1009
+#: lib/pp_admintools/app/ldap.py:1062 lib/pp_admintools/app/ldap.py:1115
+#: lib/pp_admintools/app/ldap.py:1403 lib/pp_admintools/app/ldap.py:1437
+#: lib/pp_admintools/app/ldap.py:1471 lib/pp_admintools/app/ldap.py:1505
 msgid "Result:"
 msgstr "Ergebnis:"
 
-#: lib/pp_admintools/app/barracuda_sync.py:214
+#: lib/pp_admintools/app/barracuda_sync.py:240
 msgid "Did not found valid lookup table types."
 msgstr "Kein gültigen Lookup-Tabelletypen gefunden."
 
-#: lib/pp_admintools/app/barracuda_sync.py:221
-msgid "Wrong lookup table type {!r} given. Valid types are:"
-msgstr "Ungültiger Lookup-Tabelletyp {!r} angegeben. Gültige typen sind:"
+#: lib/pp_admintools/app/barracuda_sync.py:248
+msgid "Evaluating postfix configuration value {!r}."
+msgstr "Evaluiere Postfix-Konfigurationswert {!r} …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:253
+msgid "Error {rc} on evaluating Postfix config {k!r}"
+msgstr "Fehler {c} beim Ermitteln der Postfix-Konfiguration {k!r}"
+
+#: lib/pp_admintools/app/barracuda_sync.py:279
+msgid "Evaluating default postfix lookup table type ..."
+msgstr "Ermittle Vorgabe-Tabellentyp für Postfix …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:285
+msgid "Found postfix default database type: {!r}."
+msgstr "Gefundener Vorgabe-Datenbanktyp für Postfix: {!r}."
+
+#: lib/pp_admintools/app/barracuda_sync.py:290
+msgid "Evaluating postfix myorigin ..."
+msgstr "Ermittle Postfix-myorigin …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:295
+msgid "Found postfix myorigin: {!r}."
+msgstr "Fand Postfix-myorigin: {!r}."
+
+#: lib/pp_admintools/app/barracuda_sync.py:300
+msgid "Collecting all available virtual alias mappings ..."
+msgstr "Sammle ale verfügbaren virtuellen Alias-Zuordungen …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:304
+msgid "Did not found a configured value for {!r}."
+msgstr "Keinen Konfigurationswert für {!r} gefunden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:312
+msgid "Evaluating mapping {!r}."
+msgstr "Evaluiere Zuordnung {!r}."
+
+#: lib/pp_admintools/app/barracuda_sync.py:321
+msgid "Using virtual alias map {!r}."
+msgstr "Verwende virtuellen Alias-Map {!r}."
+
+#: lib/pp_admintools/app/barracuda_sync.py:324
+msgid ""
+"Cannot use virtual alias mapping {va!r}: table type {ty!r} cannot be searched for all database "
+"elements."
+msgstr ""
+"Kann virtuellen Alias-Map {va!r} nicht verwenden: der Tabellentyp {ty!r} kann nicht nach allen "
+"Elementen durchsucht werden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:331
+msgid "Did not found any parsable virtual alias mappings in postfix configuration."
+msgstr "Keine verwendbaren virtuellen Alias-Zuordingen in der POstfix-Kunfiguration gefunden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:341
+msgid "Checking all available virtual alias mappings ..."
+msgstr "Überprüfe alle verwendbaren virtuellen Alias-Zuordnungen …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:352
+msgid "Checking virtual alias mapping {!r}."
+msgstr "Überprüfe virtuelle Alias-Zuordnungen {!r}."
+
+#: lib/pp_admintools/app/barracuda_sync.py:356
+msgid "Could not evaluate virtual alias mapping {!r}."
+msgstr "Konnte keine virtuelle Alias-Zuordnung {!r} ermitteln."
+
+#: lib/pp_admintools/app/barracuda_sync.py:365
+msgid "Using file extension for db-file {f!r}: {e!r}."
+msgstr "Verwende Dateiendung für DB-Datei {f!r}: {e!r}."
+
+#: lib/pp_admintools/app/barracuda_sync.py:369
+msgid "Virtual alias mapping file {!r} does not exists."
+msgstr "Die virtuelle Alias-Mapdatei {!r} existiert nicht."
+
+#: lib/pp_admintools/app/barracuda_sync.py:376
+msgid "DB file for virtual aliases {!r} does not exists or is not a regular file."
+msgstr "Die DB-Datei für die virtuellen Aliase {!r} existiert nicht oder ist keine reguläre Datei."
+
+#: lib/pp_admintools/app/barracuda_sync.py:385
+msgid "The last modification time of {db!r} is older than this of {va!r}."
+msgstr "Die letzte Änderungszeit von {db!r} ist älter als di von {va!r}."
+
+#: lib/pp_admintools/app/barracuda_sync.py:389
+msgid "The last modification time of {db!r} and {va!r} are okay."
+msgstr "Die letzten Änderungszeiten von {db!r} und {va!r} sind okay."
+
+#: lib/pp_admintools/app/barracuda_sync.py:396
+msgid "Reading in all virtual alias mappings ..."
+msgstr "Lese alle virtuellen Alias-Zuordungen ein …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:404
+msgid "Evaluated static virtual aliases:"
+msgstr "Ermittelte statische Aliase:"
+
+#: lib/pp_admintools/app/barracuda_sync.py:411
+msgid "Reading in from virtual alias mapping {!r} ..."
+msgstr "Lese virtuellen Alias-Zuordungen {!r} ein …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:417
+msgid "Error {rc} on getting virtual aliases from {va!r}"
+msgstr "Fehler {rc} beim Holen der virtuellen Aliase von {va!r}"
+
+#: lib/pp_admintools/app/barracuda_sync.py:455
+msgid "Verifying existence of the LDAP container (OU) {!r} for Barracuda."
+msgstr "Überprüfe Exitenz des LDAP-Containers (OU) {!r} für Barracuda."
+
+#: lib/pp_admintools/app/barracuda_sync.py:462
+msgid "LDAP container {c!r} for Barracuda not found in instance {i!r}."
+msgstr "Der LDAP-Container {c!r} für Barracuda wurde in der Instanz {i!r} nicht gefunden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:467
+msgid "LDAP container {c!r} for Barracuda found in instance {i!r}."
+msgstr "Der LDAP-Container {c!r} für Barracuda wurde in der Instanz {i!r} gefunden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:474
+msgid "Read all virtual aliases in LDAP below the Barracuda container {!r} ..."
+msgstr "Lese allen virtuellen Aliase aus dem LDAP unterhalb des LDAP-Containers {!r} …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:485
+msgid "Virtual aliases in LDAP for Barracuda:"
+msgstr "Virtuelle Aliase im LDAP für Barracuda:"
+
+#: lib/pp_admintools/app/barracuda_sync.py:494
+msgid "Get all LDAP entries except for Barracuda, where mail attributes are set."
+msgstr "Hole alle LDAP-Einträge außer denen für Barracuda, in denen Mailattribute gesetzt sind."
+
+#: lib/pp_admintools/app/barracuda_sync.py:543
+msgid "LDAP entries with mail attributes except them for Barracuda:"
+msgstr "LDAP-Einträge mit Mailattributen außer denen für Barracuda:"
+
+#: lib/pp_admintools/app/barracuda_sync.py:551
+msgid "Evaluating all LDAP entries to create, to remove or to modify."
+msgstr "Ermittle zu erstellenden, zu löschende oder zu ändernde LDAP-Einträge."
+
+#: lib/pp_admintools/app/barracuda_sync.py:560
+msgid "Evaluating all LDAP entries to remove ..."
+msgstr "Ermitteln löschenden LDAP-Einträge …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:587
+msgid "{} LDAP entry should be removed."
+msgid_plural "{} LDAP entries should be removed."
+msgstr[0] "{} LDAP-Eintrag soll gelöscht werden."
+msgstr[1] "{} LDAP-Einträge sollen gelöscht werden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:591
+msgid "No LDAP entries should be removed."
+msgstr "Es sollen keine LDAP-Einträge gelöscht werden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:594
+msgid "LDAP Entries to remove:"
+msgstr "Zu löschende LDAP-Einträge:"
+
+#: lib/pp_admintools/app/barracuda_sync.py:600
+msgid "Evaluating all LDAP entries to create ..."
+msgstr "Ermittle alle zu erstellenden LDAP-Einträge …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:610 lib/pp_admintools/app/barracuda_sync.py:654
+msgid "Mail {!r} already exists in regular LDAP entries."
+msgstr "Die Mailadresse {!r} existiert bereits in regulären LDAP-Einträgen."
+
+#: lib/pp_admintools/app/barracuda_sync.py:628
+msgid "{} LDAP entry should be created."
+msgid_plural "{} LDAP entries should be created."
+msgstr[0] "{:>5} Eintrag soll erstellt werden."
+msgstr[1] "{:>5} Einträge sollen erstellt werden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:632
+msgid "No LDAP entries should be created."
+msgstr "Es sollen keine LDAP-Einträge erstellt werden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:635
+msgid "LDAP Entries to create:"
+msgstr "Zu erstellende LDAP-Einträge:"
+
+#: lib/pp_admintools/app/barracuda_sync.py:641
+msgid "Evaluating all LDAP entries to modify ..."
+msgstr "Ermittle alle zu ändernde LDAP-Einträge …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:672
+msgid "{} LDAP entry should be modified."
+msgid_plural "{} LDAP entries should be modified."
+msgstr[0] "{} LDAP-Eintrag soll geändert werden."
+msgstr[1] "{} LDAP-Einträge sollen geändert werden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:676
+msgid "No LDAP entries should be modified."
+msgstr "Es sollen keine LDAP-Einträge geändert werden."
+
+#: lib/pp_admintools/app/barracuda_sync.py:679
+msgid "LDAP Entries to modified:"
+msgstr "Zu ändernde LDAP-Einträge:"
+
+#: lib/pp_admintools/app/barracuda_sync.py:744 lib/pp_admintools/app/ldap.py:1618
+msgid "Values to add to attribute {!r}:"
+msgstr "Werte, die zu Attribut {!r} hinzugefügt werden:"
+
+#: lib/pp_admintools/app/barracuda_sync.py:748
+msgid "Values to be removed from attribute {!r}:"
+msgstr "Werte, die von Attribut {!r} gelöscht werden sollen:"
+
+#: lib/pp_admintools/app/barracuda_sync.py:765 lib/pp_admintools/app/ldap.py:1639
+msgid "Changes for attribute {!r}:"
+msgstr "Änedrungen für Attribut {!r}:"
+
+#: lib/pp_admintools/app/barracuda_sync.py:768 lib/pp_admintools/app/ldap.py:1642
+msgid "No changes to attribute {!r}."
+msgstr "Keine Änderungen an Attribut {!r}."
+
+#: lib/pp_admintools/app/barracuda_sync.py:843
+msgid "Adding failing LDAP aliases ..."
+msgstr "Füge LDAP-Aliase hinzu …"
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:82
+#: lib/pp_admintools/app/barracuda_sync.py:849
+msgid "Creating LDAP alias {a!r} => {dn!r}."
+msgstr "Erstelle LDAP-Alias {a!r} => {dn!r}."
+
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:78
 msgid ""
 "Checking all attributes with a DN syntax ({alist}) in the given instance. The check is for the "
 "DN-syntax of the attributes and whether they are referencing to existing entries in LDAP."
@@ -115,249 +318,249 @@ msgstr ""
 "Überprüft alle Attribute mit einer DN-Syntax ({alist}) in der übergebenen Instanz. Es wird die "
 "DN-Syntax der Attribute überprüft, und ob sie existierende Einträge im LDAP referenzieren."
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:101
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:97
 msgid "Script options"
 msgstr "Skript-Optionen"
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:104
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:100
 msgid "FILE"
 msgstr "DATEI"
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:105
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:101
 msgid "Exportig the faulty entries and attributes into a YAML file, if there were found some of them."
 msgstr ""
 "Exportieren der fehlerhaften Einträge und Attribute in eine YAML-Datei, falls welche gefunden "
 "wurden."
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:134
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:129
 msgid "Created export file {!r}."
 msgstr "Export-Datei {!r} erstellt."
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:136
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:131
 msgid "Start checking all DN-like attributes in in LDAP instance {inst!r} ({url}) ..."
 msgstr "Beginne mit der Überprüfung aller Attribute mit DN-Syntax in der LDAP-Instanz {inst!r} ({url}) …"
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:156
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:155
 msgid "Found one entry to check."
 msgid_plural "Found {} entries to check."
 msgstr[0] "Fand einen Eintrag, der überprüft werden muss."
 msgstr[1] "Fand {} Einträge, die überprüft werden müssen."
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:160
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:159
 msgid "Found no to check."
 msgstr "Fand nichts zum überprüfen."
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:180
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:179
 msgid "Got an inconsistent entry."
 msgid_plural "Got {} inconsistent entries."
 msgstr[0] "Habe einen inkonsistenten Eintrag gefunden."
 msgstr[1] "Habe {} inkonsistente Einträge gefunden."
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:183
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:182
 msgid "There is one inconsistent attribute."
 msgid_plural "There are {} inconsistent attributes."
 msgstr[0] "Es gibt ein inkonsistentes Attribut."
 msgstr[1] "Es gibt {} inkonsistente Attribute."
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:188
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:187
 msgid "Writing export file {!r} ..."
 msgstr "Schreibe Export-Datei {!r} …"
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:195
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:194
 msgid "Did not found any inconsistent entries."
 msgstr "Keine inkonsistente Attribute gefunden."
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:217
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:215
 msgid "Checking DN-like attributes of entry {!r} ..."
 msgstr "Überprüfe Attribute mit DN-Syntax von Eintrag {!r} …"
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:222
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:220
 msgid "Got attributes:"
 msgstr "Gefindene Attribute:"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:124
+#: lib/pp_admintools/app/dns_deploy_zones.py:122
 msgid "Generation of the BIND9 configuration file for slave zones."
 msgstr "Generierung der BIND9-Konfigurationsdatei für Slave-Zonen."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:262 lib/pp_admintools/app/mk_ldap_passwd.py:89
+#: lib/pp_admintools/app/dns_deploy_zones.py:250 lib/pp_admintools/app/mk_ldap_passwd.py:89
 #: lib/pp_admintools/app/set_ldap_password.py:124
 msgid "Options for {}"
 msgstr "Optionen für {}"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:267
+#: lib/pp_admintools/app/dns_deploy_zones.py:255
 msgid "Keep a backup file for each changed configuration file."
 msgstr "Eine Backup-Datei für jede geänderte Konfigurationsdatei aufbewahren."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:272
+#: lib/pp_admintools/app/dns_deploy_zones.py:260
 msgid "Keeping the temporary directory instead of removing it at the end (e.g. for debugging purposes)"
 msgstr "Aufbewahren des temporären Verzeichnisses, anstatt es am Ende zu löschen (z.Bsp. zum Debuggen)"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:300
+#: lib/pp_admintools/app/dns_deploy_zones.py:284
 msgid "Post init phase."
 msgstr "Nach-Init-Phase."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:304
+#: lib/pp_admintools/app/dns_deploy_zones.py:288
 msgid "My own post init phase."
 msgstr "Die eigene Nach-Init-Phase."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:320
+#: lib/pp_admintools/app/dns_deploy_zones.py:304
 msgid "Unknown time zone: {!r}."
 msgstr "Unbekannte Zeitzone: {!r}."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:340
+#: lib/pp_admintools/app/dns_deploy_zones.py:319
 msgid "You must be root to execute this script."
 msgstr "Du musst root sein, um dieses Skript ausführen zu können."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:342
+#: lib/pp_admintools/app/dns_deploy_zones.py:321
 msgid "But in simulation mode we are continuing nevertheless."
 msgstr "Aber im Simulationsmodus machen wir trotzdem weiter."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:349
+#: lib/pp_admintools/app/dns_deploy_zones.py:328
 msgid "Starting: {}"
 msgstr "Starte: {}"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:357
+#: lib/pp_admintools/app/dns_deploy_zones.py:336
 msgid "Using the global DNS master is not supported, please use 'local' or 'public'"
 msgstr "Die Verwendung des glovalen Masters wird nicht unterstützt, bitte 'local' oder 'public' verwenden"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:370
+#: lib/pp_admintools/app/dns_deploy_zones.py:349
 msgid "Could not occupy pidfile: {}"
 msgstr "Konnte PID-Datei nicht vereinnahmen."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:395
+#: lib/pp_admintools/app/dns_deploy_zones.py:374
 msgid "Ending: {}"
 msgstr "Beendet: {}"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:400
+#: lib/pp_admintools/app/dns_deploy_zones.py:379
 msgid "Cleaning up ..."
 msgstr "Aufräumen …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:404
+#: lib/pp_admintools/app/dns_deploy_zones.py:383
 msgid "Searching for {!r}."
 msgstr "Suche nach {!r}."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:407
+#: lib/pp_admintools/app/dns_deploy_zones.py:386
 msgid "Keep existing backup file {!r}."
 msgstr "Behalte existierende Backup-Datei {!r}."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:409
+#: lib/pp_admintools/app/dns_deploy_zones.py:388
 msgid "Removing {!r} ..."
 msgstr "Lösche {!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:415
+#: lib/pp_admintools/app/dns_deploy_zones.py:394
 msgid "Error removing {p!r} - {c}: {e}"
 msgstr "Fehler beim Löschen {p!r} - {c}: {e}"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:420
+#: lib/pp_admintools/app/dns_deploy_zones.py:399
 msgid "Temporary directory {!r} will not be removed. It's on yours to remove it manually."
 msgstr ""
 "Das temporäre Verzeichnis {!r} wird nicht gelöscht. Du musst Dich selbst darum kümmern, es "
 "manuell zu löschen."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:425
+#: lib/pp_admintools/app/dns_deploy_zones.py:404
 msgid "Destroying temporary directory {!r} ..."
 msgstr "Zerstöre temporäres Verzeichnis {!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:434
+#: lib/pp_admintools/app/dns_deploy_zones.py:412
 msgid "Temporary directory: {!r}."
 msgstr "Temporäres Verzeichnis: {!r}."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:439
+#: lib/pp_admintools/app/dns_deploy_zones.py:417
 msgid "Temporary zones conf: {!r}"
 msgstr "Temporäre Zonenkonfiguration: {!r}"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:444
+#: lib/pp_admintools/app/dns_deploy_zones.py:422
 msgid "Trying to get all keys from named.conf ..."
 msgstr "Versuche alle Schlüssel der named.conf zu ermitteln …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:450 lib/pp_admintools/app/dns_deploy_zones.py:804
-#: lib/pp_admintools/app/dns_deploy_zones.py:840 lib/pp_admintools/app/dns_deploy_zones.py:872
-#: lib/pp_admintools/app/dns_deploy_zones.py:907 lib/pp_admintools/app/dns_deploy_zones.py:942
+#: lib/pp_admintools/app/dns_deploy_zones.py:428 lib/pp_admintools/app/dns_deploy_zones.py:782
+#: lib/pp_admintools/app/dns_deploy_zones.py:818 lib/pp_admintools/app/dns_deploy_zones.py:850
+#: lib/pp_admintools/app/dns_deploy_zones.py:885 lib/pp_admintools/app/dns_deploy_zones.py:920
 #: lib/pp_admintools/app/mail.py:328
 msgid "Executing: {}"
 msgstr "Führe aus: {}"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:497 lib/pp_admintools/app/dns_deploy_zones.py:499
+#: lib/pp_admintools/app/dns_deploy_zones.py:475 lib/pp_admintools/app/dns_deploy_zones.py:477
 msgid "Found named keys:"
 msgstr "iGefundene Schlüssel von named:"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:499 lib/pp_admintools/app/dns_deploy_zones.py:530
+#: lib/pp_admintools/app/dns_deploy_zones.py:477 lib/pp_admintools/app/dns_deploy_zones.py:508
 msgid "None"
 msgstr "Keine"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:504
+#: lib/pp_admintools/app/dns_deploy_zones.py:482
 msgid "Generating {} ..."
 msgstr "Generiere {} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:528 lib/pp_admintools/app/dns_deploy_zones.py:530
+#: lib/pp_admintools/app/dns_deploy_zones.py:506 lib/pp_admintools/app/dns_deploy_zones.py:508
 msgid "Collected server configuration:"
 msgstr "Ermittelte Servers-Konfiguration:"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:551
+#: lib/pp_admintools/app/dns_deploy_zones.py:529
 msgid "Generated file {!r}:"
 msgstr "Generierte Datei {!r}:"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:567
+#: lib/pp_admintools/app/dns_deploy_zones.py:545
 msgid "Pure local zone {!r} will not be considered."
 msgstr "Die rein lokale Zone {!r} wird nich mit beachtet."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:599
+#: lib/pp_admintools/app/dns_deploy_zones.py:577
 msgid "Key {k!r} for zone {z!r} not found in named configuration."
 msgstr "Der Schlüssel {k!r} für die Zone {z!r} wurde in der named-Konfiguration nicht gefunden."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:629
+#: lib/pp_admintools/app/dns_deploy_zones.py:607
 msgid "Got IPv4 tuples: {}"
 msgstr "Habe IPv4-Tupels erhalten: {}"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:653
+#: lib/pp_admintools/app/dns_deploy_zones.py:631
 msgid "Got IPv6 tokens: {}"
 msgstr "Habe IPv6-Tupels erhalten: {}"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:660
+#: lib/pp_admintools/app/dns_deploy_zones.py:638
 msgid "Comparing generated files with existing ones."
 msgstr "Vergleiche die generierten Dateien mit den existierenden."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:667
+#: lib/pp_admintools/app/dns_deploy_zones.py:645
 msgid "Files to replace:"
 msgstr "Dateien, die ersetzt werden:"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:673
+#: lib/pp_admintools/app/dns_deploy_zones.py:651
 msgid "Source file not defined."
 msgstr "Die Quell-Datei ist nicht definiert."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:675
+#: lib/pp_admintools/app/dns_deploy_zones.py:653
 msgid "Target file not defined."
 msgstr "Die Ziel-Datei ist nicht definiert."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:677
+#: lib/pp_admintools/app/dns_deploy_zones.py:655
 msgid "Comparing {one!r} with {two!r} ..."
 msgstr "Vergleiche {one!r} mit {two!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:681 lib/pp_admintools/app/dns_deploy_zones.py:690
+#: lib/pp_admintools/app/dns_deploy_zones.py:659 lib/pp_admintools/app/dns_deploy_zones.py:668
 msgid "{what} {f!r} does not exists."
 msgstr "Die {what} {f!r} existiert nicht."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:682 lib/pp_admintools/app/dns_deploy_zones.py:686
+#: lib/pp_admintools/app/dns_deploy_zones.py:660 lib/pp_admintools/app/dns_deploy_zones.py:664
 msgid "Source file"
 msgstr "Quell-Datei"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:685 lib/pp_admintools/app/dns_deploy_zones.py:695
+#: lib/pp_admintools/app/dns_deploy_zones.py:663 lib/pp_admintools/app/dns_deploy_zones.py:673
 msgid "{what} {f!r} is not a regular file."
 msgstr "Die {what} {f!r} ist keine reguläre Datei."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:691 lib/pp_admintools/app/dns_deploy_zones.py:696
+#: lib/pp_admintools/app/dns_deploy_zones.py:669 lib/pp_admintools/app/dns_deploy_zones.py:674
 msgid "Target file"
 msgstr "Ziel-Datei"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:702 lib/pp_admintools/app/dns_deploy_zones.py:719
+#: lib/pp_admintools/app/dns_deploy_zones.py:680 lib/pp_admintools/app/dns_deploy_zones.py:697
 msgid "Reading {!r} ..."
 msgstr "Lese {!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:712 lib/pp_admintools/app/dns_deploy_zones.py:729
+#: lib/pp_admintools/app/dns_deploy_zones.py:690 lib/pp_admintools/app/dns_deploy_zones.py:707
 msgid "Cleaned version of {!r}:"
 msgstr "Bereinigte Version von {!r}:"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:734
+#: lib/pp_admintools/app/dns_deploy_zones.py:712
 msgid ""
 "Source file {sf!r} has different number essential lines ({sl}) than the target file {tf!r} ({tl}"
 " lines)."
@@ -365,75 +568,75 @@ msgstr ""
 "Die Quelldatei {sf!r} besitzt eine andere Anzahl essentieller Zeilen ({sl}) als die Zieldatei "
 "{tf!r} ({tl} lines)."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:743
+#: lib/pp_admintools/app/dns_deploy_zones.py:721
 msgid "Source file {sf!r} has a different content than the target file {tf!r}."
 msgstr "Die Quelldate {sf!r} hat einen anderen Inhalt als die Zielfatei {tf!r}."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:755
+#: lib/pp_admintools/app/dns_deploy_zones.py:733
 msgid "No replacement of any config files necessary."
 msgstr "Es muss keine Datei ersetzt werden."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:758
+#: lib/pp_admintools/app/dns_deploy_zones.py:736
 msgid "Start replacing of config files ..."
 msgstr "Starting Ersatz von Konfigurations-Dateien …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:766 lib/pp_admintools/app/dns_deploy_zones.py:776
+#: lib/pp_admintools/app/dns_deploy_zones.py:744 lib/pp_admintools/app/dns_deploy_zones.py:754
 msgid "Copying {frm!r} => {to!r} ..."
 msgstr "Kopieren {frm!r} => {to!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:772
+#: lib/pp_admintools/app/dns_deploy_zones.py:750
 msgid "All backuped config files:"
 msgstr "Alle gesicherten Konfigurations-Dateien:"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:784
+#: lib/pp_admintools/app/dns_deploy_zones.py:762
 msgid "Restoring of original config files because of an exception."
 msgstr "Wiederherstellung der Original-Konfigurations-Dateien wegen eines Fehlers."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:788
+#: lib/pp_admintools/app/dns_deploy_zones.py:766
 msgid "Moving {frm!r} => {to!r} ..."
 msgstr "Verschieben {frm!r} => {to!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:794
+#: lib/pp_admintools/app/dns_deploy_zones.py:772
 msgid "Could not find backup file {!r}."
 msgstr "Konnte Backup-Datei {!r} nicht finden."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:799
+#: lib/pp_admintools/app/dns_deploy_zones.py:777
 msgid "Checking syntax correctness of named.conf ..."
 msgstr "Überprüfe synaktische Richtigkeit der named.conf …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:820
+#: lib/pp_admintools/app/dns_deploy_zones.py:798
 msgid "Reload or restart of named is not necessary."
 msgstr "Ein Reload oder Neustart von named ist nicht notwendig."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:825
+#: lib/pp_admintools/app/dns_deploy_zones.py:803
 msgid "Named is not running, please start it manually."
 msgstr "Named läuft nicht, bitte manuell starten."
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:836
+#: lib/pp_admintools/app/dns_deploy_zones.py:814
 msgid "Checking, whether named is running ..."
 msgstr "Überprüfen, ob named läuft …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:854 lib/pp_admintools/app/dns_deploy_zones.py:889
-#: lib/pp_admintools/app/dns_deploy_zones.py:924 lib/pp_admintools/app/dns_deploy_zones.py:959
+#: lib/pp_admintools/app/dns_deploy_zones.py:832 lib/pp_admintools/app/dns_deploy_zones.py:867
+#: lib/pp_admintools/app/dns_deploy_zones.py:902 lib/pp_admintools/app/dns_deploy_zones.py:937
 msgid "Return value: {!r}"
 msgstr "Rückgabewert: {!r}"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:856 lib/pp_admintools/app/dns_deploy_zones.py:858
-#: lib/pp_admintools/app/dns_deploy_zones.py:891 lib/pp_admintools/app/dns_deploy_zones.py:893
-#: lib/pp_admintools/app/dns_deploy_zones.py:926 lib/pp_admintools/app/dns_deploy_zones.py:928
-#: lib/pp_admintools/app/dns_deploy_zones.py:961 lib/pp_admintools/app/dns_deploy_zones.py:963
+#: lib/pp_admintools/app/dns_deploy_zones.py:834 lib/pp_admintools/app/dns_deploy_zones.py:836
+#: lib/pp_admintools/app/dns_deploy_zones.py:869 lib/pp_admintools/app/dns_deploy_zones.py:871
+#: lib/pp_admintools/app/dns_deploy_zones.py:904 lib/pp_admintools/app/dns_deploy_zones.py:906
+#: lib/pp_admintools/app/dns_deploy_zones.py:939 lib/pp_admintools/app/dns_deploy_zones.py:941
 msgid "Output on {}"
 msgstr "Ausgabe an {}"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:868
+#: lib/pp_admintools/app/dns_deploy_zones.py:846
 msgid "Starting {} ..."
 msgstr "Starten {} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:903
+#: lib/pp_admintools/app/dns_deploy_zones.py:881
 msgid "Restarting {} ..."
 msgstr "Neu starten {} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:938
+#: lib/pp_admintools/app/dns_deploy_zones.py:916
 msgid "Reloading {} ..."
 msgstr "Reload {} …"
 
@@ -501,17 +704,17 @@ msgid "The path {!r} must be an absolute path."
 msgstr "Der Pfad {!r} muss ein absoluter Pfad sein."
 
 #: lib/pp_admintools/app/ldap.py:121 lib/pp_admintools/app/ldap.py:287
-#: lib/pp_admintools/app/ldap.py:1516
+#: lib/pp_admintools/app/ldap.py:1521
 msgid "The file {!r} does not exists."
 msgstr "Die Datei {!r} existiert nicht."
 
 #: lib/pp_admintools/app/ldap.py:125 lib/pp_admintools/app/ldap.py:291
-#: lib/pp_admintools/app/ldap.py:1521
+#: lib/pp_admintools/app/ldap.py:1526
 msgid "The given path {!r} exists, but is not a regular file."
 msgstr "Der angegebene Pfad {!r} existiert, ist aber keine reguläre Datei."
 
 #: lib/pp_admintools/app/ldap.py:129 lib/pp_admintools/app/ldap.py:295
-#: lib/pp_admintools/app/ldap.py:1526
+#: lib/pp_admintools/app/ldap.py:1531
 msgid "The given file {!r} is not readable."
 msgstr "Die angegebene Datei {} ist nicht lesbar."
 
@@ -626,11 +829,6 @@ msgstr ""
 " außer {default!r} verwendet. Es ist ebenfalls möglich, den Wert {val_list!r} anzugeben, in "
 "diesem Fall werden alle LDAP-Instanzen ausgegeben, und das Skript beendet sich."
 
-#: lib/pp_admintools/app/ldap.py:438 lib/pp_admintools/app/mirror_ldap.py:123
-#: lib/pp_admintools/app/pdns.py:286
-msgid "SECONDS"
-msgstr "SEKUNDEN"
-
 #: lib/pp_admintools/app/ldap.py:440
 msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
 msgstr "Der Timeout in Sekunden für alle LDAP-Operationen. Vorgabe: {}."
@@ -711,259 +909,247 @@ msgstr "Trenne Bindung zu LDAP-Server {!r} …"
 msgid "Disconnecting from LDAP server {!r} ..."
 msgstr "Trenne Verbindung zu LDAP-Server {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:796
+#: lib/pp_admintools/app/ldap.py:798
 msgid "Searching in {uri}/{bdn} for all entries with filter {fltr!r}, giving attributes:"
 msgstr "Suche in {uri}/{bdn} nach allen Einträgen mit dem Filter {fltr!r} und den angegebenen Attributen:"
 
-#: lib/pp_admintools/app/ldap.py:808
+#: lib/pp_admintools/app/ldap.py:810
 msgid "Result of searching:"
 msgstr "Ergebnis der Suche:"
 
-#: lib/pp_admintools/app/ldap.py:813
+#: lib/pp_admintools/app/ldap.py:815
 msgid "Found entry {!r}."
 msgstr "Gefundener Eintrag:"
 
-#: lib/pp_admintools/app/ldap.py:820
+#: lib/pp_admintools/app/ldap.py:822
 msgid "Found one entry with filter {fltr!r} in {uri}/{bdn}."
 msgid_plural "Found {nr} enries with filter {fltr!r} in {uri}/{bdn}."
 msgstr[0] "Fand einen Eintrag mit dem Filter {fltr!r} in {uri}/{bdn}."
 msgstr[1] "Fand {nr} Einträge mit dem Filter {fltr!r} in {uri}/{bdn}."
 
-#: lib/pp_admintools/app/ldap.py:824
+#: lib/pp_admintools/app/ldap.py:826
 msgid "Got response entries:"
 msgstr "Erhaltene Antworteinträge:"
 
-#: lib/pp_admintools/app/ldap.py:828
+#: lib/pp_admintools/app/ldap.py:830
 msgid "No entry found with filter {fltr!r} in {uri}/{bdn}."
 msgstr "Keinen Eintrag mit dem Filter {fltr!r} in {uri}/{bdn} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:848 lib/pp_admintools/app/ldap.py:890
+#: lib/pp_admintools/app/ldap.py:853 lib/pp_admintools/app/ldap.py:895
 msgid "Using LDAP filter: {!r}"
 msgstr "Verwende LDAP-Filter: {!r}."
 
-#: lib/pp_admintools/app/ldap.py:857 lib/pp_admintools/app/ldap.py:899
+#: lib/pp_admintools/app/ldap.py:862 lib/pp_admintools/app/ldap.py:904
 msgid "Result of searching for DNs of all entries:"
 msgstr "Ergebnis der Suche nach den DNs aller Einträge:"
 
-#: lib/pp_admintools/app/ldap.py:861 lib/pp_admintools/app/ldap.py:903
-#: lib/pp_admintools/app/ldap.py:1001 lib/pp_admintools/app/ldap.py:1054
-#: lib/pp_admintools/app/ldap.py:1107 lib/pp_admintools/app/ldap.py:1195
-#: lib/pp_admintools/app/ldap.py:1395 lib/pp_admintools/app/ldap.py:1429
-#: lib/pp_admintools/app/ldap.py:1463 lib/pp_admintools/app/ldap.py:1497
+#: lib/pp_admintools/app/ldap.py:866 lib/pp_admintools/app/ldap.py:908
+#: lib/pp_admintools/app/ldap.py:1006 lib/pp_admintools/app/ldap.py:1059
+#: lib/pp_admintools/app/ldap.py:1112 lib/pp_admintools/app/ldap.py:1200
+#: lib/pp_admintools/app/ldap.py:1400 lib/pp_admintools/app/ldap.py:1434
+#: lib/pp_admintools/app/ldap.py:1468 lib/pp_admintools/app/ldap.py:1502
 msgid "Got a response entry:"
 msgstr "Erhaltener Antwort-Eintrag:"
 
-#: lib/pp_admintools/app/ldap.py:886
+#: lib/pp_admintools/app/ldap.py:891
 msgid "Getting all Entry DNs of LDAP instance {i!r} below {b!r}."
 msgstr "Hole DNs aller Einträge der LDAP-Instanz {i!r} unterhalb von {b!r}."
 
-#: lib/pp_admintools/app/ldap.py:925
+#: lib/pp_admintools/app/ldap.py:930
 msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
 msgstr "Versuche den DN des Nutzer {user!r} auf der LDAP-Instanz {inst} zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:930
+#: lib/pp_admintools/app/ldap.py:935
 msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
 msgstr "Versuche den DN des Nutzer {u!r} als Mailadresse zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:937
+#: lib/pp_admintools/app/ldap.py:942
 msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
 msgstr "Versuche den DN des Nutzer {u!r} als LDAP DN zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:944
+#: lib/pp_admintools/app/ldap.py:949
 msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
 msgstr "Versuche den DN des Nutzer {u!r} als UID (POSIX Benutzername) zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:953 lib/pp_admintools/app/remove_ldap_user.py:290
+#: lib/pp_admintools/app/ldap.py:958 lib/pp_admintools/app/remove_ldap_user.py:290
 msgid "Empty user given."
 msgstr "Leere Nutzername übergeben."
 
-#: lib/pp_admintools/app/ldap.py:956
+#: lib/pp_admintools/app/ldap.py:961
 msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
 msgstr "Versuche den DN des Nutzer {u!r} als CN ({c}) zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:986 lib/pp_admintools/app/ldap.py:1039
-#: lib/pp_admintools/app/ldap.py:1092 lib/pp_admintools/app/ldap.py:1383
-#: lib/pp_admintools/app/ldap.py:1417 lib/pp_admintools/app/ldap.py:1451
-#: lib/pp_admintools/app/ldap.py:1485
+#: lib/pp_admintools/app/ldap.py:991 lib/pp_admintools/app/ldap.py:1044
+#: lib/pp_admintools/app/ldap.py:1097 lib/pp_admintools/app/ldap.py:1388
+#: lib/pp_admintools/app/ldap.py:1422 lib/pp_admintools/app/ldap.py:1456
+#: lib/pp_admintools/app/ldap.py:1490
 msgid "Searching in {uri}/{bdn} with filter: {fltr}"
 msgstr "Suche in {uri}/{bdn} mit dem Filter: {fltr}"
 
-#: lib/pp_admintools/app/ldap.py:997
+#: lib/pp_admintools/app/ldap.py:1002
 msgid "Result of searching for mail address {m!r}:"
 msgstr "Ergebnis der Suche nach der Mailadresse {m!r}:"
 
-#: lib/pp_admintools/app/ldap.py:1008
+#: lib/pp_admintools/app/ldap.py:1013
 msgid "User with mail address {m!r} not found in {uri}/{bdn}."
 msgstr "Ein Nutzer mit der Mailadresse {m!r} wurde nicht in {uri}/{bdn} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:1050
+#: lib/pp_admintools/app/ldap.py:1055
 msgid "Result of searching for uid {u!r}:"
 msgstr "Ergebnis der Suche nach UID {u!r}:"
 
-#: lib/pp_admintools/app/ldap.py:1061
+#: lib/pp_admintools/app/ldap.py:1066
 msgid "User with uid {u!r} not found in {uri}/{bdn}."
 msgstr "Ein Nutzer mit der UID {u!r} wurde nicht in {uri}/{bdn} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:1103
+#: lib/pp_admintools/app/ldap.py:1108
 msgid "Result of searching for CN {cn!r}:"
 msgstr "Ergebnis der Suche nach CN {cn!r}:"
 
-#: lib/pp_admintools/app/ldap.py:1114
+#: lib/pp_admintools/app/ldap.py:1119
 msgid "User with cn {cn!r} not found in {uri}/{bdn}."
 msgstr "Ein Nutzer mit dem CN {cn!r} wurde nicht in {uri}/{bdn} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:1131 lib/pp_admintools/app/set_ldap_password.py:411
+#: lib/pp_admintools/app/ldap.py:1136 lib/pp_admintools/app/set_ldap_password.py:411
 msgid "User with DN {dn!r} not found in {uri}."
 msgstr "Ein Nutzer mit dem DN {dn!r} wurde nicht in {uri} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:1149
+#: lib/pp_admintools/app/ldap.py:1154
 msgid "ObjectClasses of {dn!r}:"
 msgstr "ObjectClasses von {dn!r}:"
 
-#: lib/pp_admintools/app/ldap.py:1159
+#: lib/pp_admintools/app/ldap.py:1164
 msgid "Entry {dn!r} in {uri} seems not to be an account."
 msgstr "Der Eintrag {dn!r} in {uri} scheint kein Nutzerkonto zu sein."
 
-#: lib/pp_admintools/app/ldap.py:1181
+#: lib/pp_admintools/app/ldap.py:1186
 msgid "Searching DN {dn!r} in {uri}."
 msgstr "Suche DN {dn!r} in {uri}."
 
-#: lib/pp_admintools/app/ldap.py:1191
+#: lib/pp_admintools/app/ldap.py:1196
 msgid "Result of searching for DN {dn!r}:"
 msgstr "Ergebnis der Suche nach dem DN {dn!r}:"
 
-#: lib/pp_admintools/app/ldap.py:1199
+#: lib/pp_admintools/app/ldap.py:1204
 msgid "Entry with DN {dn!r} not found in {uri}."
 msgstr "Ein Eintrag bit dem DN {dn!r} wurde nicht in {uri} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:1244
+#: lib/pp_admintools/app/ldap.py:1249
 msgid "Creating entry {dn!r} on {uri}:"
 msgstr "Erstelle Eintrag {dn!r} in {uri} …"
 
-#: lib/pp_admintools/app/ldap.py:1250
+#: lib/pp_admintools/app/ldap.py:1255
 msgid "Simulation mode - entry will not be created."
 msgstr "Simulationsmodus - der Eintrag wird nicht erstellt."
 
-#: lib/pp_admintools/app/ldap.py:1257
+#: lib/pp_admintools/app/ldap.py:1262
 msgid "Creation of entry {dn!r} was NOT successfull - {c}: {e}"
 msgstr "Die Erstellung des Eintrags {dn!r} war NICHT erfolgreich - {c}: {e}"
 
-#: lib/pp_admintools/app/ldap.py:1272
+#: lib/pp_admintools/app/ldap.py:1277
 msgid "Creation status: {!r}."
 msgstr "Erstellungsstatus: {!r}"
 
-#: lib/pp_admintools/app/ldap.py:1274
+#: lib/pp_admintools/app/ldap.py:1279
 msgid "Result of creating:"
 msgstr "Ergebnis der Erstellung:"
 
-#: lib/pp_admintools/app/ldap.py:1277
+#: lib/pp_admintools/app/ldap.py:1282
 msgid "Creation of entry {dn!r} was NOT successful: {desc} - {msg}"
 msgstr "Die Erstellung des Eintrags {dn!r} war NICHT erfolgreich - {desc}: {msg}"
 
-#: lib/pp_admintools/app/ldap.py:1283
+#: lib/pp_admintools/app/ldap.py:1288
 msgid "Creation successful."
 msgstr "Die Erstellung war erfolgreich."
 
-#: lib/pp_admintools/app/ldap.py:1294
+#: lib/pp_admintools/app/ldap.py:1299
 msgid "Applying changes on {uri} to DN {dn!r}:"
 msgstr "Wende Änderungen in {uri} an DN {dn!r} an:"
 
-#: lib/pp_admintools/app/ldap.py:1299
+#: lib/pp_admintools/app/ldap.py:1304
 msgid "Simulation mode - changes are not applied."
 msgstr "Simulationsmodus - hier wird jetzt nichts geändert."
 
-#: lib/pp_admintools/app/ldap.py:1305
+#: lib/pp_admintools/app/ldap.py:1310
 msgid "Modification of {dn!r} was NOT successfull - {c}: {e}"
 msgstr "Die Änderung von {dn!r} war NICHT erfolgreich - {c}: {e}"
 
-#: lib/pp_admintools/app/ldap.py:1307 lib/pp_admintools/app/ldap.py:1326
+#: lib/pp_admintools/app/ldap.py:1312 lib/pp_admintools/app/ldap.py:1331
 #: lib/pp_admintools/app/remove_ldap_user.py:417 lib/pp_admintools/app/remove_ldap_user.py:444
 #: lib/pp_admintools/app/remove_ldap_user.py:471 lib/pp_admintools/app/remove_ldap_user.py:502
 #: lib/pp_admintools/app/remove_ldap_user.py:533 lib/pp_admintools/app/set_ldap_password.py:521
 msgid "Changes:"
 msgstr "Änderungen:"
 
-#: lib/pp_admintools/app/ldap.py:1319
+#: lib/pp_admintools/app/ldap.py:1324
 msgid "Modification status: {!r}."
 msgstr "Änderungsstatus: {!r}."
 
-#: lib/pp_admintools/app/ldap.py:1321
+#: lib/pp_admintools/app/ldap.py:1326
 msgid "Result of modifying:"
 msgstr "Ergebnis der Änderung:"
 
-#: lib/pp_admintools/app/ldap.py:1324
+#: lib/pp_admintools/app/ldap.py:1329
 msgid "Modification of {dn!r} was NOT successful: {desc} - {msg}"
 msgstr "Die Änderung von {dn!r} war NICHT erfolgreich - {desc}: {msg}"
 
-#: lib/pp_admintools/app/ldap.py:1329
+#: lib/pp_admintools/app/ldap.py:1334
 msgid "Modification successful."
 msgstr "Die Änderung war erfolgreich."
 
-#: lib/pp_admintools/app/ldap.py:1339
+#: lib/pp_admintools/app/ldap.py:1344
 msgid "Deleting LDAP entry {dn!r} on {uri} ..."
 msgstr "Lösche LDAP-Eintrag {dn!r} in {uri} …"
 
-#: lib/pp_admintools/app/ldap.py:1344
+#: lib/pp_admintools/app/ldap.py:1349
 msgid "Simulation mode - deletion will not be executed."
 msgstr "Simulationsmodus - hier wird jetzt nichts gelöscht."
 
-#: lib/pp_admintools/app/ldap.py:1350
+#: lib/pp_admintools/app/ldap.py:1355
 msgid "Deletion of {dn!r} was NOT successfull - {c}: {e}"
 msgstr "Das Löschen von {dn!r} war NICHT erfolgreich - {c}: {e}"
 
-#: lib/pp_admintools/app/ldap.py:1355
+#: lib/pp_admintools/app/ldap.py:1360
 msgid "Deletion status: {!r}."
 msgstr "Löschstatus: {!r}"
 
-#: lib/pp_admintools/app/ldap.py:1357
+#: lib/pp_admintools/app/ldap.py:1362
 msgid "Result of deletion:"
 msgstr "Ergebnis der Löschung:"
 
-#: lib/pp_admintools/app/ldap.py:1360
+#: lib/pp_admintools/app/ldap.py:1365
 msgid "Deletion of {dn!r} was NOT successful: {desc} - {msg}"
 msgstr "Das Löschen von {dn!r} war NICHT erfolgreich - {desc}: {msg}"
 
-#: lib/pp_admintools/app/ldap.py:1364
+#: lib/pp_admintools/app/ldap.py:1369
 msgid "Deletion successful."
 msgstr "Die Löschung war erfolgreich."
 
-#: lib/pp_admintools/app/ldap.py:1513
+#: lib/pp_admintools/app/ldap.py:1518
 msgid "Reading password file {!r} ..."
 msgstr "Lese Passwortdatei {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:1544
+#: lib/pp_admintools/app/ldap.py:1549
 msgid "Could not detect RDN from DN {!r}."
 msgstr "Konnte RDN nich aus {!r} ermitteln."
 
-#: lib/pp_admintools/app/ldap.py:1548
+#: lib/pp_admintools/app/ldap.py:1553
 msgid "Found RDN attribute {!r}."
 msgstr "Fand RDN-Attribut {!r}."
 
-#: lib/pp_admintools/app/ldap.py:1554
+#: lib/pp_admintools/app/ldap.py:1559
 msgid "RDN attribute {!r} will not be touched."
 msgstr "Das RDN-Attribut {!r} wird nicht angefasst."
 
-#: lib/pp_admintools/app/ldap.py:1560 lib/pp_admintools/app/ldap.py:1579
-#: lib/pp_admintools/app/ldap.py:1657
+#: lib/pp_admintools/app/ldap.py:1565 lib/pp_admintools/app/ldap.py:1584
+#: lib/pp_admintools/app/ldap.py:1662
 msgid "Attribute {!r} will not be touched."
 msgstr "Das Attribut {!r} wird nicht angefasst."
 
-#: lib/pp_admintools/app/ldap.py:1613
-msgid "Values to add to attribute {!r}:"
-msgstr "Werte, die zu Attribut {!r} hinzugefügt werden:"
-
-#: lib/pp_admintools/app/ldap.py:1617
+#: lib/pp_admintools/app/ldap.py:1622
 msgid "Values to removed from attribute {!r}:"
 msgstr "Werte, die von Attribut {!r} gelöscht werden."
 
-#: lib/pp_admintools/app/ldap.py:1634
-msgid "Changes for attribute {!r}:"
-msgstr "Änedrungen für Attribut {!r}:"
-
-#: lib/pp_admintools/app/ldap.py:1637
-msgid "No changes to attribute {!r}."
-msgstr "Keine Änderungen an Attribut {!r}."
-
 #: lib/pp_admintools/app/mail.py:103
 msgid "Got invalid SMTP port number {!r}."
 msgstr "Ungültige SMTP-Port-Nummer {!r} erhalten."
@@ -1382,6 +1568,10 @@ msgstr ""
 "Das Schema (die Hashing-Methode), das zum Hashen des neuen Passwortes verwendet wird.  Vorgabe: "
 "{default!r}."
 
+#: lib/pp_admintools/app/mk_ldap_passwd.py:107
+msgid "TYPE"
+msgstr "TYP"
+
 #: lib/pp_admintools/app/mk_ldap_passwd.py:113
 msgid "Like {}"
 msgstr "Wie {}"
index 763c7623b513cd89d75a5ac395fd299c5b8ae428..b295bb4b3ca2b6ea426e33417c648a04ea99a86c 100644 (file)
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: pp_admintools 0.8.7\n"
+"Project-Id-Version: pp_admintools 0.8.8\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2023-05-17 16:31+0200\n"
-"PO-Revision-Date: 2023-05-17 16:20+0100\n"
+"POT-Creation-Date: 2023-05-25 17:57+0200\n"
+"PO-Revision-Date: 2023-05-25 17:10+0100\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: en_US\n"
 "Language-Team: Frank Brehm <frank.brehm@pixelpark.com>\n"
@@ -18,406 +18,607 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 2.12.1\n"
 
-#: lib/pp_admintools/app/__init__.py:114
+#: lib/pp_admintools/app/__init__.py:113
 msgid "Using logfile {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/__init__.py:116
+#: lib/pp_admintools/app/__init__.py:115
 msgid "Don't using a logfile."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:105
+#: lib/pp_admintools/app/barracuda_sync.py:125
 msgid "Synchronization of existing virtual aliases with alias definitions in LDAP for Barracuda."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:119
+#: lib/pp_admintools/app/barracuda_sync.py:139
 msgid "Barracuda sync options"
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:122
-msgid "DIR"
+#: lib/pp_admintools/app/barracuda_sync.py:143
+msgid ""
+"The DN of LDAP container (mostly an OU), where the virtual alias entries should be located. "
+"Default: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:124
-msgid "The directory containing the virtual aliases mapping file. It has to be exists. Default: {!r}."
+#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:438
+#: lib/pp_admintools/app/mirror_ldap.py:123 lib/pp_admintools/app/pdns.py:286
+msgid "SECONDS"
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:131
-msgid "NAME"
+#: lib/pp_admintools/app/barracuda_sync.py:150
+msgid ""
+"The time in seconds to wait after each write action to not overload the LDAP servers. Default: "
+"{} seconds."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:132
-msgid ""
-"All possible basenames of the virtual aliases file below the latter directory. All of these "
-"basenames are used as source of the virtual aliases. Default: {!r}."
+#: lib/pp_admintools/app/barracuda_sync.py:173
+msgid "Invalid value for wait ({v} seconds) given, it must not be less than zero or greater {m} seconds."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:139 lib/pp_admintools/app/mk_ldap_passwd.py:107
-msgid "TYPE"
+#: lib/pp_admintools/app/barracuda_sync.py:192
+msgid "Checking postfix commands ..."
+msgstr "Checking postfix commands …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:209
+msgid "Postfix seems not to be installed."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:215
+msgid "Checking postfix lookup table types ..."
+msgstr "Checking postfix lookup table types …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:217
+msgid "Evaluating lookup table types."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:222
+msgid "Error {} on evaluating lookup table types"
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:140
-msgid "The used lookup table type of all virtual aliases table. Default: {!r}."
+#: lib/pp_admintools/app/barracuda_sync.py:231 lib/pp_admintools/app/barracuda_sync.py:427
+#: lib/pp_admintools/app/dns_deploy_zones.py:434 lib/pp_admintools/app/dns_deploy_zones.py:788
+#: lib/pp_admintools/app/ldap.py:876 lib/pp_admintools/app/ldap.py:1009
+#: lib/pp_admintools/app/ldap.py:1062 lib/pp_admintools/app/ldap.py:1115
+#: lib/pp_admintools/app/ldap.py:1403 lib/pp_admintools/app/ldap.py:1437
+#: lib/pp_admintools/app/ldap.py:1471 lib/pp_admintools/app/ldap.py:1505
+msgid "Result:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:240
+msgid "Did not found valid lookup table types."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:147
+#: lib/pp_admintools/app/barracuda_sync.py:248
+msgid "Evaluating postfix configuration value {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:253
+msgid "Error {rc} on evaluating Postfix config {k!r}"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:279
+msgid "Evaluating default postfix lookup table type ..."
+msgstr "Evaluating default postfix lookup table type …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:285
+msgid "Found postfix default database type: {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:290
+msgid "Evaluating postfix myorigin ..."
+msgstr "Evaluating postfix myorigin …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:295
+msgid "Found postfix myorigin: {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:300
+msgid "Collecting all available virtual alias mappings ..."
+msgstr "Collecting all available virtual alias mappings …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:304
+msgid "Did not found a configured value for {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:312
+msgid "Evaluating mapping {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:321
+msgid "Using virtual alias map {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:324
 msgid ""
-"The DN of LDAP container (mostly an OU), where the virtual alias entries should be located. "
-"Default: {!r}."
+"Cannot use virtual alias mapping {va!r}: table type {ty!r} cannot be searched for all database "
+"elements."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:171 lib/pp_admintools/app/barracuda_sync.py:230
-msgid "Checking postfix commands and lookup table types ..."
-msgstr "Checking postfix commands and lookup table types …"
+#: lib/pp_admintools/app/barracuda_sync.py:331
+msgid "Did not found any parsable virtual alias mappings in postfix configuration."
+msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:188
-msgid "Postfix seems not to be installed."
+#: lib/pp_admintools/app/barracuda_sync.py:341
+msgid "Checking all available virtual alias mappings ..."
+msgstr "Checking all available virtual alias mappings …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:352
+msgid "Checking virtual alias mapping {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:191
-msgid "Evaluating lookup table types."
+#: lib/pp_admintools/app/barracuda_sync.py:356
+msgid "Could not evaluate virtual alias mapping {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:196
-msgid "Error {} on evaluating lookup table types"
+#: lib/pp_admintools/app/barracuda_sync.py:365
+msgid "Using file extension for db-file {f!r}: {e!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:205 lib/pp_admintools/app/dns_deploy_zones.py:456
-#: lib/pp_admintools/app/dns_deploy_zones.py:810 lib/pp_admintools/app/ldap.py:871
-#: lib/pp_admintools/app/ldap.py:1004 lib/pp_admintools/app/ldap.py:1057
-#: lib/pp_admintools/app/ldap.py:1110 lib/pp_admintools/app/ldap.py:1398
-#: lib/pp_admintools/app/ldap.py:1432 lib/pp_admintools/app/ldap.py:1466
-#: lib/pp_admintools/app/ldap.py:1500
-msgid "Result:"
+#: lib/pp_admintools/app/barracuda_sync.py:369
+msgid "Virtual alias mapping file {!r} does not exists."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:214
-msgid "Did not found valid lookup table types."
+#: lib/pp_admintools/app/barracuda_sync.py:376
+msgid "DB file for virtual aliases {!r} does not exists or is not a regular file."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:385
+msgid "The last modification time of {db!r} is older than this of {va!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:389
+msgid "The last modification time of {db!r} and {va!r} are okay."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:396
+msgid "Reading in all virtual alias mappings ..."
+msgstr "Reading in all virtual alias mappings …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:404
+msgid "Evaluated static virtual aliases:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:411
+msgid "Reading in from virtual alias mapping {!r} ..."
+msgstr "Reading in from virtual alias mapping {!r} …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:417
+msgid "Error {rc} on getting virtual aliases from {va!r}"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:455
+msgid "Verifying existence of the LDAP container (OU) {!r} for Barracuda."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:462
+msgid "LDAP container {c!r} for Barracuda not found in instance {i!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:467
+msgid "LDAP container {c!r} for Barracuda found in instance {i!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:474
+msgid "Read all virtual aliases in LDAP below the Barracuda container {!r} ..."
+msgstr "Read all virtual aliases in LDAP below the Barracuda container {!r} …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:485
+msgid "Virtual aliases in LDAP for Barracuda:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:494
+msgid "Get all LDAP entries except for Barracuda, where mail attributes are set."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:543
+msgid "LDAP entries with mail attributes except them for Barracuda:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:551
+msgid "Evaluating all LDAP entries to create, to remove or to modify."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:560
+msgid "Evaluating all LDAP entries to remove ..."
+msgstr "Evaluating all LDAP entries to remove …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:587
+msgid "{} LDAP entry should be removed."
+msgid_plural "{} LDAP entries should be removed."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:591
+msgid "No LDAP entries should be removed."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:594
+msgid "LDAP Entries to remove:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:600
+msgid "Evaluating all LDAP entries to create ..."
+msgstr "Evaluating all LDAP entries to create …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:610 lib/pp_admintools/app/barracuda_sync.py:654
+msgid "Mail {!r} already exists in regular LDAP entries."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:628
+msgid "{} LDAP entry should be created."
+msgid_plural "{} LDAP entries should be created."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:632
+msgid "No LDAP entries should be created."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:635
+msgid "LDAP Entries to create:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:641
+msgid "Evaluating all LDAP entries to modify ..."
+msgstr "Evaluating all LDAP entries to modify …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:672
+msgid "{} LDAP entry should be modified."
+msgid_plural "{} LDAP entries should be modified."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:676
+msgid "No LDAP entries should be modified."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:221
-msgid "Wrong lookup table type {!r} given. Valid types are:"
+#: lib/pp_admintools/app/barracuda_sync.py:679
+msgid "LDAP Entries to modified:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:744 lib/pp_admintools/app/ldap.py:1618
+msgid "Values to add to attribute {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:82
+#: lib/pp_admintools/app/barracuda_sync.py:748
+msgid "Values to be removed from attribute {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:765 lib/pp_admintools/app/ldap.py:1639
+msgid "Changes for attribute {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:768 lib/pp_admintools/app/ldap.py:1642
+msgid "No changes to attribute {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:843
+msgid "Adding failing LDAP aliases ..."
+msgstr "Adding failing LDAP aliases …"
+
+#: lib/pp_admintools/app/barracuda_sync.py:849
+msgid "Creating LDAP alias {a!r} => {dn!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:78
 msgid ""
 "Checking all attributes with a DN syntax ({alist}) in the given instance. The check is for the "
 "DN-syntax of the attributes and whether they are referencing to existing entries in LDAP."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:101
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:97
 msgid "Script options"
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:104
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:100
 msgid "FILE"
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:105
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:101
 msgid "Exportig the faulty entries and attributes into a YAML file, if there were found some of them."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:134
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:129
 msgid "Created export file {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:136
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:131
 msgid "Start checking all DN-like attributes in in LDAP instance {inst!r} ({url}) ..."
 msgstr "tart checking all DN-like attributes in in LDAP instance {inst!r} ({url}) …"
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:156
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:155
 msgid "Found one entry to check."
 msgid_plural "Found {} entries to check."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:160
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:159
 msgid "Found no to check."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:180
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:179
 msgid "Got an inconsistent entry."
 msgid_plural "Got {} inconsistent entries."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:183
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:182
 msgid "There is one inconsistent attribute."
 msgid_plural "There are {} inconsistent attributes."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:188
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:187
 msgid "Writing export file {!r} ..."
 msgstr "Writing export file {!r} …"
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:195
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:194
 msgid "Did not found any inconsistent entries."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:217
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:215
 msgid "Checking DN-like attributes of entry {!r} ..."
 msgstr "Checking DN-like attributes of entry {!r} …"
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:222
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:220
 msgid "Got attributes:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:124
+#: lib/pp_admintools/app/dns_deploy_zones.py:122
 msgid "Generation of the BIND9 configuration file for slave zones."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:262 lib/pp_admintools/app/mk_ldap_passwd.py:89
+#: lib/pp_admintools/app/dns_deploy_zones.py:250 lib/pp_admintools/app/mk_ldap_passwd.py:89
 #: lib/pp_admintools/app/set_ldap_password.py:124
 msgid "Options for {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:267
+#: lib/pp_admintools/app/dns_deploy_zones.py:255
 msgid "Keep a backup file for each changed configuration file."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:272
+#: lib/pp_admintools/app/dns_deploy_zones.py:260
 msgid "Keeping the temporary directory instead of removing it at the end (e.g. for debugging purposes)"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:300
+#: lib/pp_admintools/app/dns_deploy_zones.py:284
 msgid "Post init phase."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:304
+#: lib/pp_admintools/app/dns_deploy_zones.py:288
 msgid "My own post init phase."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:320
+#: lib/pp_admintools/app/dns_deploy_zones.py:304
 msgid "Unknown time zone: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:340
+#: lib/pp_admintools/app/dns_deploy_zones.py:319
 msgid "You must be root to execute this script."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:342
+#: lib/pp_admintools/app/dns_deploy_zones.py:321
 msgid "But in simulation mode we are continuing nevertheless."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:349
+#: lib/pp_admintools/app/dns_deploy_zones.py:328
 msgid "Starting: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:357
+#: lib/pp_admintools/app/dns_deploy_zones.py:336
 msgid "Using the global DNS master is not supported, please use 'local' or 'public'"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:370
+#: lib/pp_admintools/app/dns_deploy_zones.py:349
 msgid "Could not occupy pidfile: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:395
+#: lib/pp_admintools/app/dns_deploy_zones.py:374
 msgid "Ending: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:400
+#: lib/pp_admintools/app/dns_deploy_zones.py:379
 msgid "Cleaning up ..."
 msgstr "Cleaning up …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:404
+#: lib/pp_admintools/app/dns_deploy_zones.py:383
 msgid "Searching for {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:407
+#: lib/pp_admintools/app/dns_deploy_zones.py:386
 msgid "Keep existing backup file {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:409
+#: lib/pp_admintools/app/dns_deploy_zones.py:388
 msgid "Removing {!r} ..."
 msgstr "Removing {!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:415
+#: lib/pp_admintools/app/dns_deploy_zones.py:394
 msgid "Error removing {p!r} - {c}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:420
+#: lib/pp_admintools/app/dns_deploy_zones.py:399
 msgid "Temporary directory {!r} will not be removed. It's on yours to remove it manually."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:425
+#: lib/pp_admintools/app/dns_deploy_zones.py:404
 msgid "Destroying temporary directory {!r} ..."
 msgstr "Destroying temporary directory {!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:434
+#: lib/pp_admintools/app/dns_deploy_zones.py:412
 msgid "Temporary directory: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:439
+#: lib/pp_admintools/app/dns_deploy_zones.py:417
 msgid "Temporary zones conf: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:444
+#: lib/pp_admintools/app/dns_deploy_zones.py:422
 msgid "Trying to get all keys from named.conf ..."
 msgstr "Trying to get all keys from named.conf …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:450 lib/pp_admintools/app/dns_deploy_zones.py:804
-#: lib/pp_admintools/app/dns_deploy_zones.py:840 lib/pp_admintools/app/dns_deploy_zones.py:872
-#: lib/pp_admintools/app/dns_deploy_zones.py:907 lib/pp_admintools/app/dns_deploy_zones.py:942
+#: lib/pp_admintools/app/dns_deploy_zones.py:428 lib/pp_admintools/app/dns_deploy_zones.py:782
+#: lib/pp_admintools/app/dns_deploy_zones.py:818 lib/pp_admintools/app/dns_deploy_zones.py:850
+#: lib/pp_admintools/app/dns_deploy_zones.py:885 lib/pp_admintools/app/dns_deploy_zones.py:920
 #: lib/pp_admintools/app/mail.py:328
 msgid "Executing: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:497 lib/pp_admintools/app/dns_deploy_zones.py:499
+#: lib/pp_admintools/app/dns_deploy_zones.py:475 lib/pp_admintools/app/dns_deploy_zones.py:477
 msgid "Found named keys:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:499 lib/pp_admintools/app/dns_deploy_zones.py:530
+#: lib/pp_admintools/app/dns_deploy_zones.py:477 lib/pp_admintools/app/dns_deploy_zones.py:508
 msgid "None"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:504
+#: lib/pp_admintools/app/dns_deploy_zones.py:482
 msgid "Generating {} ..."
 msgstr "Generating {} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:528 lib/pp_admintools/app/dns_deploy_zones.py:530
+#: lib/pp_admintools/app/dns_deploy_zones.py:506 lib/pp_admintools/app/dns_deploy_zones.py:508
 msgid "Collected server configuration:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:551
+#: lib/pp_admintools/app/dns_deploy_zones.py:529
 msgid "Generated file {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:567
+#: lib/pp_admintools/app/dns_deploy_zones.py:545
 msgid "Pure local zone {!r} will not be considered."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:599
+#: lib/pp_admintools/app/dns_deploy_zones.py:577
 msgid "Key {k!r} for zone {z!r} not found in named configuration."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:629
+#: lib/pp_admintools/app/dns_deploy_zones.py:607
 msgid "Got IPv4 tuples: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:653
+#: lib/pp_admintools/app/dns_deploy_zones.py:631
 msgid "Got IPv6 tokens: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:660
+#: lib/pp_admintools/app/dns_deploy_zones.py:638
 msgid "Comparing generated files with existing ones."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:667
+#: lib/pp_admintools/app/dns_deploy_zones.py:645
 msgid "Files to replace:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:673
+#: lib/pp_admintools/app/dns_deploy_zones.py:651
 msgid "Source file not defined."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:675
+#: lib/pp_admintools/app/dns_deploy_zones.py:653
 msgid "Target file not defined."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:677
+#: lib/pp_admintools/app/dns_deploy_zones.py:655
 msgid "Comparing {one!r} with {two!r} ..."
 msgstr "Comparing {one!r} with {two!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:681 lib/pp_admintools/app/dns_deploy_zones.py:690
+#: lib/pp_admintools/app/dns_deploy_zones.py:659 lib/pp_admintools/app/dns_deploy_zones.py:668
 msgid "{what} {f!r} does not exists."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:682 lib/pp_admintools/app/dns_deploy_zones.py:686
+#: lib/pp_admintools/app/dns_deploy_zones.py:660 lib/pp_admintools/app/dns_deploy_zones.py:664
 msgid "Source file"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:685 lib/pp_admintools/app/dns_deploy_zones.py:695
+#: lib/pp_admintools/app/dns_deploy_zones.py:663 lib/pp_admintools/app/dns_deploy_zones.py:673
 msgid "{what} {f!r} is not a regular file."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:691 lib/pp_admintools/app/dns_deploy_zones.py:696
+#: lib/pp_admintools/app/dns_deploy_zones.py:669 lib/pp_admintools/app/dns_deploy_zones.py:674
 msgid "Target file"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:702 lib/pp_admintools/app/dns_deploy_zones.py:719
+#: lib/pp_admintools/app/dns_deploy_zones.py:680 lib/pp_admintools/app/dns_deploy_zones.py:697
 msgid "Reading {!r} ..."
 msgstr "Reading {!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:712 lib/pp_admintools/app/dns_deploy_zones.py:729
+#: lib/pp_admintools/app/dns_deploy_zones.py:690 lib/pp_admintools/app/dns_deploy_zones.py:707
 msgid "Cleaned version of {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:734
+#: lib/pp_admintools/app/dns_deploy_zones.py:712
 msgid ""
 "Source file {sf!r} has different number essential lines ({sl}) than the target file {tf!r} ({tl}"
 " lines)."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:743
+#: lib/pp_admintools/app/dns_deploy_zones.py:721
 msgid "Source file {sf!r} has a different content than the target file {tf!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:755
+#: lib/pp_admintools/app/dns_deploy_zones.py:733
 msgid "No replacement of any config files necessary."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:758
+#: lib/pp_admintools/app/dns_deploy_zones.py:736
 msgid "Start replacing of config files ..."
 msgstr "Start replacing of config files …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:766 lib/pp_admintools/app/dns_deploy_zones.py:776
+#: lib/pp_admintools/app/dns_deploy_zones.py:744 lib/pp_admintools/app/dns_deploy_zones.py:754
 msgid "Copying {frm!r} => {to!r} ..."
 msgstr "Copying {frm!r} => {to!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:772
+#: lib/pp_admintools/app/dns_deploy_zones.py:750
 msgid "All backuped config files:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:784
+#: lib/pp_admintools/app/dns_deploy_zones.py:762
 msgid "Restoring of original config files because of an exception."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:788
+#: lib/pp_admintools/app/dns_deploy_zones.py:766
 msgid "Moving {frm!r} => {to!r} ..."
 msgstr "Moving {frm!r} => {to!r} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:794
+#: lib/pp_admintools/app/dns_deploy_zones.py:772
 msgid "Could not find backup file {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:799
+#: lib/pp_admintools/app/dns_deploy_zones.py:777
 msgid "Checking syntax correctness of named.conf ..."
 msgstr "Checking syntax correctness of named.conf …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:820
+#: lib/pp_admintools/app/dns_deploy_zones.py:798
 msgid "Reload or restart of named is not necessary."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:825
+#: lib/pp_admintools/app/dns_deploy_zones.py:803
 msgid "Named is not running, please start it manually."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:836
+#: lib/pp_admintools/app/dns_deploy_zones.py:814
 msgid "Checking, whether named is running ..."
 msgstr "Checking, whether named is running …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:854 lib/pp_admintools/app/dns_deploy_zones.py:889
-#: lib/pp_admintools/app/dns_deploy_zones.py:924 lib/pp_admintools/app/dns_deploy_zones.py:959
+#: lib/pp_admintools/app/dns_deploy_zones.py:832 lib/pp_admintools/app/dns_deploy_zones.py:867
+#: lib/pp_admintools/app/dns_deploy_zones.py:902 lib/pp_admintools/app/dns_deploy_zones.py:937
 msgid "Return value: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:856 lib/pp_admintools/app/dns_deploy_zones.py:858
-#: lib/pp_admintools/app/dns_deploy_zones.py:891 lib/pp_admintools/app/dns_deploy_zones.py:893
-#: lib/pp_admintools/app/dns_deploy_zones.py:926 lib/pp_admintools/app/dns_deploy_zones.py:928
-#: lib/pp_admintools/app/dns_deploy_zones.py:961 lib/pp_admintools/app/dns_deploy_zones.py:963
+#: lib/pp_admintools/app/dns_deploy_zones.py:834 lib/pp_admintools/app/dns_deploy_zones.py:836
+#: lib/pp_admintools/app/dns_deploy_zones.py:869 lib/pp_admintools/app/dns_deploy_zones.py:871
+#: lib/pp_admintools/app/dns_deploy_zones.py:904 lib/pp_admintools/app/dns_deploy_zones.py:906
+#: lib/pp_admintools/app/dns_deploy_zones.py:939 lib/pp_admintools/app/dns_deploy_zones.py:941
 msgid "Output on {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:868
+#: lib/pp_admintools/app/dns_deploy_zones.py:846
 msgid "Starting {} ..."
 msgstr "Starting {} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:903
+#: lib/pp_admintools/app/dns_deploy_zones.py:881
 msgid "Restarting {} ..."
 msgstr "Restarting {} …"
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:938
+#: lib/pp_admintools/app/dns_deploy_zones.py:916
 msgid "Reloading {} ..."
 msgstr "Reloading {} …"
 
@@ -477,17 +678,17 @@ msgid "The path {!r} must be an absolute path."
 msgstr ""
 
 #: lib/pp_admintools/app/ldap.py:121 lib/pp_admintools/app/ldap.py:287
-#: lib/pp_admintools/app/ldap.py:1516
+#: lib/pp_admintools/app/ldap.py:1521
 msgid "The file {!r} does not exists."
 msgstr ""
 
 #: lib/pp_admintools/app/ldap.py:125 lib/pp_admintools/app/ldap.py:291
-#: lib/pp_admintools/app/ldap.py:1521
+#: lib/pp_admintools/app/ldap.py:1526
 msgid "The given path {!r} exists, but is not a regular file."
 msgstr ""
 
 #: lib/pp_admintools/app/ldap.py:129 lib/pp_admintools/app/ldap.py:295
-#: lib/pp_admintools/app/ldap.py:1526
+#: lib/pp_admintools/app/ldap.py:1531
 msgid "The given file {!r} is not readable."
 msgstr ""
 
@@ -594,11 +795,6 @@ msgid ""
 "are shown, and the application is exiting."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:438 lib/pp_admintools/app/mirror_ldap.py:123
-#: lib/pp_admintools/app/pdns.py:286
-msgid "SECONDS"
-msgstr ""
-
 #: lib/pp_admintools/app/ldap.py:440
 msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
 msgstr ""
@@ -679,259 +875,247 @@ msgstr "Unbinding from LDAP server {!r} …"
 msgid "Disconnecting from LDAP server {!r} ..."
 msgstr "Disconnecting from LDAP server {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:796
+#: lib/pp_admintools/app/ldap.py:798
 msgid "Searching in {uri}/{bdn} for all entries with filter {fltr!r}, giving attributes:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:808
+#: lib/pp_admintools/app/ldap.py:810
 msgid "Result of searching:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:813
+#: lib/pp_admintools/app/ldap.py:815
 msgid "Found entry {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:820
+#: lib/pp_admintools/app/ldap.py:822
 msgid "Found one entry with filter {fltr!r} in {uri}/{bdn}."
 msgid_plural "Found {nr} enries with filter {fltr!r} in {uri}/{bdn}."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/pp_admintools/app/ldap.py:824
+#: lib/pp_admintools/app/ldap.py:826
 msgid "Got response entries:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:828
+#: lib/pp_admintools/app/ldap.py:830
 msgid "No entry found with filter {fltr!r} in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:848 lib/pp_admintools/app/ldap.py:890
+#: lib/pp_admintools/app/ldap.py:853 lib/pp_admintools/app/ldap.py:895
 msgid "Using LDAP filter: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:857 lib/pp_admintools/app/ldap.py:899
+#: lib/pp_admintools/app/ldap.py:862 lib/pp_admintools/app/ldap.py:904
 msgid "Result of searching for DNs of all entries:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:861 lib/pp_admintools/app/ldap.py:903
-#: lib/pp_admintools/app/ldap.py:1001 lib/pp_admintools/app/ldap.py:1054
-#: lib/pp_admintools/app/ldap.py:1107 lib/pp_admintools/app/ldap.py:1195
-#: lib/pp_admintools/app/ldap.py:1395 lib/pp_admintools/app/ldap.py:1429
-#: lib/pp_admintools/app/ldap.py:1463 lib/pp_admintools/app/ldap.py:1497
+#: lib/pp_admintools/app/ldap.py:866 lib/pp_admintools/app/ldap.py:908
+#: lib/pp_admintools/app/ldap.py:1006 lib/pp_admintools/app/ldap.py:1059
+#: lib/pp_admintools/app/ldap.py:1112 lib/pp_admintools/app/ldap.py:1200
+#: lib/pp_admintools/app/ldap.py:1400 lib/pp_admintools/app/ldap.py:1434
+#: lib/pp_admintools/app/ldap.py:1468 lib/pp_admintools/app/ldap.py:1502
 msgid "Got a response entry:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:886
+#: lib/pp_admintools/app/ldap.py:891
 msgid "Getting all Entry DNs of LDAP instance {i!r} below {b!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:925
+#: lib/pp_admintools/app/ldap.py:930
 msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
 msgstr "Trying to evaluate DN of user {user!r} in LDAP instance {inst} …"
 
-#: lib/pp_admintools/app/ldap.py:930
+#: lib/pp_admintools/app/ldap.py:935
 msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
 msgstr "Trying to evaluate DN of user {u!r} as a mail address …"
 
-#: lib/pp_admintools/app/ldap.py:937
+#: lib/pp_admintools/app/ldap.py:942
 msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
 msgstr "Trying to evaluate DN of user {u!r} as a LDAP DN …"
 
-#: lib/pp_admintools/app/ldap.py:944
+#: lib/pp_admintools/app/ldap.py:949
 msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
 msgstr "Trying to evaluate DN of user {u!r} as a UID (Posix user name) …"
 
-#: lib/pp_admintools/app/ldap.py:953 lib/pp_admintools/app/remove_ldap_user.py:290
+#: lib/pp_admintools/app/ldap.py:958 lib/pp_admintools/app/remove_ldap_user.py:290
 msgid "Empty user given."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:956
+#: lib/pp_admintools/app/ldap.py:961
 msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
 msgstr "Trying to evaluate DN of user {u!r} as a CN ({c}) …"
 
-#: lib/pp_admintools/app/ldap.py:986 lib/pp_admintools/app/ldap.py:1039
-#: lib/pp_admintools/app/ldap.py:1092 lib/pp_admintools/app/ldap.py:1383
-#: lib/pp_admintools/app/ldap.py:1417 lib/pp_admintools/app/ldap.py:1451
-#: lib/pp_admintools/app/ldap.py:1485
+#: lib/pp_admintools/app/ldap.py:991 lib/pp_admintools/app/ldap.py:1044
+#: lib/pp_admintools/app/ldap.py:1097 lib/pp_admintools/app/ldap.py:1388
+#: lib/pp_admintools/app/ldap.py:1422 lib/pp_admintools/app/ldap.py:1456
+#: lib/pp_admintools/app/ldap.py:1490
 msgid "Searching in {uri}/{bdn} with filter: {fltr}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:997
+#: lib/pp_admintools/app/ldap.py:1002
 msgid "Result of searching for mail address {m!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1008
+#: lib/pp_admintools/app/ldap.py:1013
 msgid "User with mail address {m!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1050
+#: lib/pp_admintools/app/ldap.py:1055
 msgid "Result of searching for uid {u!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1061
+#: lib/pp_admintools/app/ldap.py:1066
 msgid "User with uid {u!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1103
+#: lib/pp_admintools/app/ldap.py:1108
 msgid "Result of searching for CN {cn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1114
+#: lib/pp_admintools/app/ldap.py:1119
 msgid "User with cn {cn!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1131 lib/pp_admintools/app/set_ldap_password.py:411
+#: lib/pp_admintools/app/ldap.py:1136 lib/pp_admintools/app/set_ldap_password.py:411
 msgid "User with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1149
+#: lib/pp_admintools/app/ldap.py:1154
 msgid "ObjectClasses of {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1159
+#: lib/pp_admintools/app/ldap.py:1164
 msgid "Entry {dn!r} in {uri} seems not to be an account."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1181
+#: lib/pp_admintools/app/ldap.py:1186
 msgid "Searching DN {dn!r} in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1191
+#: lib/pp_admintools/app/ldap.py:1196
 msgid "Result of searching for DN {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1199
+#: lib/pp_admintools/app/ldap.py:1204
 msgid "Entry with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1244
+#: lib/pp_admintools/app/ldap.py:1249
 msgid "Creating entry {dn!r} on {uri}:"
 msgstr "Creating entry {dn!r} on {uri}:"
 
-#: lib/pp_admintools/app/ldap.py:1250
+#: lib/pp_admintools/app/ldap.py:1255
 msgid "Simulation mode - entry will not be created."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1257
+#: lib/pp_admintools/app/ldap.py:1262
 msgid "Creation of entry {dn!r} was NOT successfull - {c}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1272
+#: lib/pp_admintools/app/ldap.py:1277
 msgid "Creation status: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1274
+#: lib/pp_admintools/app/ldap.py:1279
 msgid "Result of creating:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1277
+#: lib/pp_admintools/app/ldap.py:1282
 msgid "Creation of entry {dn!r} was NOT successful: {desc} - {msg}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1283
+#: lib/pp_admintools/app/ldap.py:1288
 msgid "Creation successful."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1294
+#: lib/pp_admintools/app/ldap.py:1299
 msgid "Applying changes on {uri} to DN {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1299
+#: lib/pp_admintools/app/ldap.py:1304
 msgid "Simulation mode - changes are not applied."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1305
+#: lib/pp_admintools/app/ldap.py:1310
 msgid "Modification of {dn!r} was NOT successfull - {c}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1307 lib/pp_admintools/app/ldap.py:1326
+#: lib/pp_admintools/app/ldap.py:1312 lib/pp_admintools/app/ldap.py:1331
 #: lib/pp_admintools/app/remove_ldap_user.py:417 lib/pp_admintools/app/remove_ldap_user.py:444
 #: lib/pp_admintools/app/remove_ldap_user.py:471 lib/pp_admintools/app/remove_ldap_user.py:502
 #: lib/pp_admintools/app/remove_ldap_user.py:533 lib/pp_admintools/app/set_ldap_password.py:521
 msgid "Changes:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1319
+#: lib/pp_admintools/app/ldap.py:1324
 msgid "Modification status: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1321
+#: lib/pp_admintools/app/ldap.py:1326
 msgid "Result of modifying:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1324
+#: lib/pp_admintools/app/ldap.py:1329
 msgid "Modification of {dn!r} was NOT successful: {desc} - {msg}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1329
+#: lib/pp_admintools/app/ldap.py:1334
 msgid "Modification successful."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1339
+#: lib/pp_admintools/app/ldap.py:1344
 msgid "Deleting LDAP entry {dn!r} on {uri} ..."
 msgstr "Deleting LDAP entry {dn!r} on {uri} …"
 
-#: lib/pp_admintools/app/ldap.py:1344
+#: lib/pp_admintools/app/ldap.py:1349
 msgid "Simulation mode - deletion will not be executed."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1350
+#: lib/pp_admintools/app/ldap.py:1355
 msgid "Deletion of {dn!r} was NOT successfull - {c}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1355
+#: lib/pp_admintools/app/ldap.py:1360
 msgid "Deletion status: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1357
+#: lib/pp_admintools/app/ldap.py:1362
 msgid "Result of deletion:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1360
+#: lib/pp_admintools/app/ldap.py:1365
 msgid "Deletion of {dn!r} was NOT successful: {desc} - {msg}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1364
+#: lib/pp_admintools/app/ldap.py:1369
 msgid "Deletion successful."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1513
+#: lib/pp_admintools/app/ldap.py:1518
 msgid "Reading password file {!r} ..."
 msgstr "Reading password file {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:1544
+#: lib/pp_admintools/app/ldap.py:1549
 msgid "Could not detect RDN from DN {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1548
+#: lib/pp_admintools/app/ldap.py:1553
 msgid "Found RDN attribute {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1554
+#: lib/pp_admintools/app/ldap.py:1559
 msgid "RDN attribute {!r} will not be touched."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1560 lib/pp_admintools/app/ldap.py:1579
-#: lib/pp_admintools/app/ldap.py:1657
+#: lib/pp_admintools/app/ldap.py:1565 lib/pp_admintools/app/ldap.py:1584
+#: lib/pp_admintools/app/ldap.py:1662
 msgid "Attribute {!r} will not be touched."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1613
-msgid "Values to add to attribute {!r}:"
-msgstr ""
-
-#: lib/pp_admintools/app/ldap.py:1617
+#: lib/pp_admintools/app/ldap.py:1622
 msgid "Values to removed from attribute {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1634
-msgid "Changes for attribute {!r}:"
-msgstr ""
-
-#: lib/pp_admintools/app/ldap.py:1637
-msgid "No changes to attribute {!r}."
-msgstr ""
-
 #: lib/pp_admintools/app/mail.py:103
 msgid "Got invalid SMTP port number {!r}."
 msgstr ""
@@ -1326,6 +1510,10 @@ msgstr ""
 msgid "The schema (hashing method) to use to hash the new password. Default: {default!r}."
 msgstr ""
 
+#: lib/pp_admintools/app/mk_ldap_passwd.py:107
+msgid "TYPE"
+msgstr ""
+
 #: lib/pp_admintools/app/mk_ldap_passwd.py:113
 msgid "Like {}"
 msgstr ""
index a3e12575754c496b039c7a7590cbe7e39b91b1ca..41d697210d56f2e07c7f5536613abe7d443d5990 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: pp_admintools 0.8.7\n"
+"Project-Id-Version: pp_admintools 0.8.8\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2023-05-17 16:31+0200\n"
+"POT-Creation-Date: 2023-05-25 17:57+0200\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"
@@ -17,406 +17,607 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 2.12.1\n"
 
-#: lib/pp_admintools/app/__init__.py:114
+#: lib/pp_admintools/app/__init__.py:113
 msgid "Using logfile {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/__init__.py:116
+#: lib/pp_admintools/app/__init__.py:115
 msgid "Don't using a logfile."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:105
+#: lib/pp_admintools/app/barracuda_sync.py:125
 msgid "Synchronization of existing virtual aliases with alias definitions in LDAP for Barracuda."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:119
+#: lib/pp_admintools/app/barracuda_sync.py:139
 msgid "Barracuda sync options"
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:122
-msgid "DIR"
-msgstr ""
-
-#: lib/pp_admintools/app/barracuda_sync.py:124
-msgid "The directory containing the virtual aliases mapping file. It has to be exists. Default: {!r}."
+#: lib/pp_admintools/app/barracuda_sync.py:143
+msgid ""
+"The DN of LDAP container (mostly an OU), where the virtual alias entries should be located. "
+"Default: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:131
-msgid "NAME"
+#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:438
+#: lib/pp_admintools/app/mirror_ldap.py:123 lib/pp_admintools/app/pdns.py:286
+msgid "SECONDS"
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:132
+#: lib/pp_admintools/app/barracuda_sync.py:150
 msgid ""
-"All possible basenames of the virtual aliases file below the latter directory. All of these "
-"basenames are used as source of the virtual aliases. Default: {!r}."
+"The time in seconds to wait after each write action to not overload the LDAP servers. Default: "
+"{} seconds."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:139 lib/pp_admintools/app/mk_ldap_passwd.py:107
-msgid "TYPE"
+#: lib/pp_admintools/app/barracuda_sync.py:173
+msgid "Invalid value for wait ({v} seconds) given, it must not be less than zero or greater {m} seconds."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:140
-msgid "The used lookup table type of all virtual aliases table. Default: {!r}."
+#: lib/pp_admintools/app/barracuda_sync.py:192
+msgid "Checking postfix commands ..."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:147
-msgid ""
-"The DN of LDAP container (mostly an OU), where the virtual alias entries should be located. "
-"Default: {!r}."
-msgstr ""
-
-#: lib/pp_admintools/app/barracuda_sync.py:171 lib/pp_admintools/app/barracuda_sync.py:230
-msgid "Checking postfix commands and lookup table types ..."
+#: lib/pp_admintools/app/barracuda_sync.py:209
+msgid "Postfix seems not to be installed."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:188
-msgid "Postfix seems not to be installed."
+#: lib/pp_admintools/app/barracuda_sync.py:215
+msgid "Checking postfix lookup table types ..."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:191
+#: lib/pp_admintools/app/barracuda_sync.py:217
 msgid "Evaluating lookup table types."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:196
+#: lib/pp_admintools/app/barracuda_sync.py:222
 msgid "Error {} on evaluating lookup table types"
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:205 lib/pp_admintools/app/dns_deploy_zones.py:456
-#: lib/pp_admintools/app/dns_deploy_zones.py:810 lib/pp_admintools/app/ldap.py:871
-#: lib/pp_admintools/app/ldap.py:1004 lib/pp_admintools/app/ldap.py:1057
-#: lib/pp_admintools/app/ldap.py:1110 lib/pp_admintools/app/ldap.py:1398
-#: lib/pp_admintools/app/ldap.py:1432 lib/pp_admintools/app/ldap.py:1466
-#: lib/pp_admintools/app/ldap.py:1500
+#: lib/pp_admintools/app/barracuda_sync.py:231 lib/pp_admintools/app/barracuda_sync.py:427
+#: lib/pp_admintools/app/dns_deploy_zones.py:434 lib/pp_admintools/app/dns_deploy_zones.py:788
+#: lib/pp_admintools/app/ldap.py:876 lib/pp_admintools/app/ldap.py:1009
+#: lib/pp_admintools/app/ldap.py:1062 lib/pp_admintools/app/ldap.py:1115
+#: lib/pp_admintools/app/ldap.py:1403 lib/pp_admintools/app/ldap.py:1437
+#: lib/pp_admintools/app/ldap.py:1471 lib/pp_admintools/app/ldap.py:1505
 msgid "Result:"
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:214
+#: lib/pp_admintools/app/barracuda_sync.py:240
 msgid "Did not found valid lookup table types."
 msgstr ""
 
-#: lib/pp_admintools/app/barracuda_sync.py:221
-msgid "Wrong lookup table type {!r} given. Valid types are:"
+#: lib/pp_admintools/app/barracuda_sync.py:248
+msgid "Evaluating postfix configuration value {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:253
+msgid "Error {rc} on evaluating Postfix config {k!r}"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:279
+msgid "Evaluating default postfix lookup table type ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:285
+msgid "Found postfix default database type: {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:290
+msgid "Evaluating postfix myorigin ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:295
+msgid "Found postfix myorigin: {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:300
+msgid "Collecting all available virtual alias mappings ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:304
+msgid "Did not found a configured value for {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:312
+msgid "Evaluating mapping {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:321
+msgid "Using virtual alias map {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:324
+msgid ""
+"Cannot use virtual alias mapping {va!r}: table type {ty!r} cannot be searched for all database "
+"elements."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:331
+msgid "Did not found any parsable virtual alias mappings in postfix configuration."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:341
+msgid "Checking all available virtual alias mappings ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:352
+msgid "Checking virtual alias mapping {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:356
+msgid "Could not evaluate virtual alias mapping {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:365
+msgid "Using file extension for db-file {f!r}: {e!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:369
+msgid "Virtual alias mapping file {!r} does not exists."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:376
+msgid "DB file for virtual aliases {!r} does not exists or is not a regular file."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:385
+msgid "The last modification time of {db!r} is older than this of {va!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:389
+msgid "The last modification time of {db!r} and {va!r} are okay."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:396
+msgid "Reading in all virtual alias mappings ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:404
+msgid "Evaluated static virtual aliases:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:411
+msgid "Reading in from virtual alias mapping {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:417
+msgid "Error {rc} on getting virtual aliases from {va!r}"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:455
+msgid "Verifying existence of the LDAP container (OU) {!r} for Barracuda."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:462
+msgid "LDAP container {c!r} for Barracuda not found in instance {i!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:467
+msgid "LDAP container {c!r} for Barracuda found in instance {i!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:474
+msgid "Read all virtual aliases in LDAP below the Barracuda container {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:485
+msgid "Virtual aliases in LDAP for Barracuda:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:494
+msgid "Get all LDAP entries except for Barracuda, where mail attributes are set."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:543
+msgid "LDAP entries with mail attributes except them for Barracuda:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:551
+msgid "Evaluating all LDAP entries to create, to remove or to modify."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:560
+msgid "Evaluating all LDAP entries to remove ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:587
+msgid "{} LDAP entry should be removed."
+msgid_plural "{} LDAP entries should be removed."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:591
+msgid "No LDAP entries should be removed."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:594
+msgid "LDAP Entries to remove:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:600
+msgid "Evaluating all LDAP entries to create ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:610 lib/pp_admintools/app/barracuda_sync.py:654
+msgid "Mail {!r} already exists in regular LDAP entries."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:628
+msgid "{} LDAP entry should be created."
+msgid_plural "{} LDAP entries should be created."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:632
+msgid "No LDAP entries should be created."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:635
+msgid "LDAP Entries to create:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:641
+msgid "Evaluating all LDAP entries to modify ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:672
+msgid "{} LDAP entry should be modified."
+msgid_plural "{} LDAP entries should be modified."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:676
+msgid "No LDAP entries should be modified."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:679
+msgid "LDAP Entries to modified:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:744 lib/pp_admintools/app/ldap.py:1618
+msgid "Values to add to attribute {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:748
+msgid "Values to be removed from attribute {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:82
+#: lib/pp_admintools/app/barracuda_sync.py:765 lib/pp_admintools/app/ldap.py:1639
+msgid "Changes for attribute {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:768 lib/pp_admintools/app/ldap.py:1642
+msgid "No changes to attribute {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:843
+msgid "Adding failing LDAP aliases ..."
+msgstr ""
+
+#: lib/pp_admintools/app/barracuda_sync.py:849
+msgid "Creating LDAP alias {a!r} => {dn!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:78
 msgid ""
 "Checking all attributes with a DN syntax ({alist}) in the given instance. The check is for the "
 "DN-syntax of the attributes and whether they are referencing to existing entries in LDAP."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:101
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:97
 msgid "Script options"
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:104
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:100
 msgid "FILE"
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:105
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:101
 msgid "Exportig the faulty entries and attributes into a YAML file, if there were found some of them."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:134
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:129
 msgid "Created export file {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:136
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:131
 msgid "Start checking all DN-like attributes in in LDAP instance {inst!r} ({url}) ..."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:156
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:155
 msgid "Found one entry to check."
 msgid_plural "Found {} entries to check."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:160
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:159
 msgid "Found no to check."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:180
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:179
 msgid "Got an inconsistent entry."
 msgid_plural "Got {} inconsistent entries."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:183
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:182
 msgid "There is one inconsistent attribute."
 msgid_plural "There are {} inconsistent attributes."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:188
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:187
 msgid "Writing export file {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:195
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:194
 msgid "Did not found any inconsistent entries."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:217
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:215
 msgid "Checking DN-like attributes of entry {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:222
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:220
 msgid "Got attributes:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:124
+#: lib/pp_admintools/app/dns_deploy_zones.py:122
 msgid "Generation of the BIND9 configuration file for slave zones."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:262 lib/pp_admintools/app/mk_ldap_passwd.py:89
+#: lib/pp_admintools/app/dns_deploy_zones.py:250 lib/pp_admintools/app/mk_ldap_passwd.py:89
 #: lib/pp_admintools/app/set_ldap_password.py:124
 msgid "Options for {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:267
+#: lib/pp_admintools/app/dns_deploy_zones.py:255
 msgid "Keep a backup file for each changed configuration file."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:272
+#: lib/pp_admintools/app/dns_deploy_zones.py:260
 msgid "Keeping the temporary directory instead of removing it at the end (e.g. for debugging purposes)"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:300
+#: lib/pp_admintools/app/dns_deploy_zones.py:284
 msgid "Post init phase."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:304
+#: lib/pp_admintools/app/dns_deploy_zones.py:288
 msgid "My own post init phase."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:320
+#: lib/pp_admintools/app/dns_deploy_zones.py:304
 msgid "Unknown time zone: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:340
+#: lib/pp_admintools/app/dns_deploy_zones.py:319
 msgid "You must be root to execute this script."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:342
+#: lib/pp_admintools/app/dns_deploy_zones.py:321
 msgid "But in simulation mode we are continuing nevertheless."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:349
+#: lib/pp_admintools/app/dns_deploy_zones.py:328
 msgid "Starting: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:357
+#: lib/pp_admintools/app/dns_deploy_zones.py:336
 msgid "Using the global DNS master is not supported, please use 'local' or 'public'"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:370
+#: lib/pp_admintools/app/dns_deploy_zones.py:349
 msgid "Could not occupy pidfile: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:395
+#: lib/pp_admintools/app/dns_deploy_zones.py:374
 msgid "Ending: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:400
+#: lib/pp_admintools/app/dns_deploy_zones.py:379
 msgid "Cleaning up ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:404
+#: lib/pp_admintools/app/dns_deploy_zones.py:383
 msgid "Searching for {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:407
+#: lib/pp_admintools/app/dns_deploy_zones.py:386
 msgid "Keep existing backup file {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:409
+#: lib/pp_admintools/app/dns_deploy_zones.py:388
 msgid "Removing {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:415
+#: lib/pp_admintools/app/dns_deploy_zones.py:394
 msgid "Error removing {p!r} - {c}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:420
+#: lib/pp_admintools/app/dns_deploy_zones.py:399
 msgid "Temporary directory {!r} will not be removed. It's on yours to remove it manually."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:425
+#: lib/pp_admintools/app/dns_deploy_zones.py:404
 msgid "Destroying temporary directory {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:434
+#: lib/pp_admintools/app/dns_deploy_zones.py:412
 msgid "Temporary directory: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:439
+#: lib/pp_admintools/app/dns_deploy_zones.py:417
 msgid "Temporary zones conf: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:444
+#: lib/pp_admintools/app/dns_deploy_zones.py:422
 msgid "Trying to get all keys from named.conf ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:450 lib/pp_admintools/app/dns_deploy_zones.py:804
-#: lib/pp_admintools/app/dns_deploy_zones.py:840 lib/pp_admintools/app/dns_deploy_zones.py:872
-#: lib/pp_admintools/app/dns_deploy_zones.py:907 lib/pp_admintools/app/dns_deploy_zones.py:942
+#: lib/pp_admintools/app/dns_deploy_zones.py:428 lib/pp_admintools/app/dns_deploy_zones.py:782
+#: lib/pp_admintools/app/dns_deploy_zones.py:818 lib/pp_admintools/app/dns_deploy_zones.py:850
+#: lib/pp_admintools/app/dns_deploy_zones.py:885 lib/pp_admintools/app/dns_deploy_zones.py:920
 #: lib/pp_admintools/app/mail.py:328
 msgid "Executing: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:497 lib/pp_admintools/app/dns_deploy_zones.py:499
+#: lib/pp_admintools/app/dns_deploy_zones.py:475 lib/pp_admintools/app/dns_deploy_zones.py:477
 msgid "Found named keys:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:499 lib/pp_admintools/app/dns_deploy_zones.py:530
+#: lib/pp_admintools/app/dns_deploy_zones.py:477 lib/pp_admintools/app/dns_deploy_zones.py:508
 msgid "None"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:504
+#: lib/pp_admintools/app/dns_deploy_zones.py:482
 msgid "Generating {} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:528 lib/pp_admintools/app/dns_deploy_zones.py:530
+#: lib/pp_admintools/app/dns_deploy_zones.py:506 lib/pp_admintools/app/dns_deploy_zones.py:508
 msgid "Collected server configuration:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:551
+#: lib/pp_admintools/app/dns_deploy_zones.py:529
 msgid "Generated file {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:567
+#: lib/pp_admintools/app/dns_deploy_zones.py:545
 msgid "Pure local zone {!r} will not be considered."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:599
+#: lib/pp_admintools/app/dns_deploy_zones.py:577
 msgid "Key {k!r} for zone {z!r} not found in named configuration."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:629
+#: lib/pp_admintools/app/dns_deploy_zones.py:607
 msgid "Got IPv4 tuples: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:653
+#: lib/pp_admintools/app/dns_deploy_zones.py:631
 msgid "Got IPv6 tokens: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:660
+#: lib/pp_admintools/app/dns_deploy_zones.py:638
 msgid "Comparing generated files with existing ones."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:667
+#: lib/pp_admintools/app/dns_deploy_zones.py:645
 msgid "Files to replace:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:673
+#: lib/pp_admintools/app/dns_deploy_zones.py:651
 msgid "Source file not defined."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:675
+#: lib/pp_admintools/app/dns_deploy_zones.py:653
 msgid "Target file not defined."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:677
+#: lib/pp_admintools/app/dns_deploy_zones.py:655
 msgid "Comparing {one!r} with {two!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:681 lib/pp_admintools/app/dns_deploy_zones.py:690
+#: lib/pp_admintools/app/dns_deploy_zones.py:659 lib/pp_admintools/app/dns_deploy_zones.py:668
 msgid "{what} {f!r} does not exists."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:682 lib/pp_admintools/app/dns_deploy_zones.py:686
+#: lib/pp_admintools/app/dns_deploy_zones.py:660 lib/pp_admintools/app/dns_deploy_zones.py:664
 msgid "Source file"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:685 lib/pp_admintools/app/dns_deploy_zones.py:695
+#: lib/pp_admintools/app/dns_deploy_zones.py:663 lib/pp_admintools/app/dns_deploy_zones.py:673
 msgid "{what} {f!r} is not a regular file."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:691 lib/pp_admintools/app/dns_deploy_zones.py:696
+#: lib/pp_admintools/app/dns_deploy_zones.py:669 lib/pp_admintools/app/dns_deploy_zones.py:674
 msgid "Target file"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:702 lib/pp_admintools/app/dns_deploy_zones.py:719
+#: lib/pp_admintools/app/dns_deploy_zones.py:680 lib/pp_admintools/app/dns_deploy_zones.py:697
 msgid "Reading {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:712 lib/pp_admintools/app/dns_deploy_zones.py:729
+#: lib/pp_admintools/app/dns_deploy_zones.py:690 lib/pp_admintools/app/dns_deploy_zones.py:707
 msgid "Cleaned version of {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:734
+#: lib/pp_admintools/app/dns_deploy_zones.py:712
 msgid ""
 "Source file {sf!r} has different number essential lines ({sl}) than the target file {tf!r} ({tl}"
 " lines)."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:743
+#: lib/pp_admintools/app/dns_deploy_zones.py:721
 msgid "Source file {sf!r} has a different content than the target file {tf!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:755
+#: lib/pp_admintools/app/dns_deploy_zones.py:733
 msgid "No replacement of any config files necessary."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:758
+#: lib/pp_admintools/app/dns_deploy_zones.py:736
 msgid "Start replacing of config files ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:766 lib/pp_admintools/app/dns_deploy_zones.py:776
+#: lib/pp_admintools/app/dns_deploy_zones.py:744 lib/pp_admintools/app/dns_deploy_zones.py:754
 msgid "Copying {frm!r} => {to!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:772
+#: lib/pp_admintools/app/dns_deploy_zones.py:750
 msgid "All backuped config files:"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:784
+#: lib/pp_admintools/app/dns_deploy_zones.py:762
 msgid "Restoring of original config files because of an exception."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:788
+#: lib/pp_admintools/app/dns_deploy_zones.py:766
 msgid "Moving {frm!r} => {to!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:794
+#: lib/pp_admintools/app/dns_deploy_zones.py:772
 msgid "Could not find backup file {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:799
+#: lib/pp_admintools/app/dns_deploy_zones.py:777
 msgid "Checking syntax correctness of named.conf ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:820
+#: lib/pp_admintools/app/dns_deploy_zones.py:798
 msgid "Reload or restart of named is not necessary."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:825
+#: lib/pp_admintools/app/dns_deploy_zones.py:803
 msgid "Named is not running, please start it manually."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:836
+#: lib/pp_admintools/app/dns_deploy_zones.py:814
 msgid "Checking, whether named is running ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:854 lib/pp_admintools/app/dns_deploy_zones.py:889
-#: lib/pp_admintools/app/dns_deploy_zones.py:924 lib/pp_admintools/app/dns_deploy_zones.py:959
+#: lib/pp_admintools/app/dns_deploy_zones.py:832 lib/pp_admintools/app/dns_deploy_zones.py:867
+#: lib/pp_admintools/app/dns_deploy_zones.py:902 lib/pp_admintools/app/dns_deploy_zones.py:937
 msgid "Return value: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:856 lib/pp_admintools/app/dns_deploy_zones.py:858
-#: lib/pp_admintools/app/dns_deploy_zones.py:891 lib/pp_admintools/app/dns_deploy_zones.py:893
-#: lib/pp_admintools/app/dns_deploy_zones.py:926 lib/pp_admintools/app/dns_deploy_zones.py:928
-#: lib/pp_admintools/app/dns_deploy_zones.py:961 lib/pp_admintools/app/dns_deploy_zones.py:963
+#: lib/pp_admintools/app/dns_deploy_zones.py:834 lib/pp_admintools/app/dns_deploy_zones.py:836
+#: lib/pp_admintools/app/dns_deploy_zones.py:869 lib/pp_admintools/app/dns_deploy_zones.py:871
+#: lib/pp_admintools/app/dns_deploy_zones.py:904 lib/pp_admintools/app/dns_deploy_zones.py:906
+#: lib/pp_admintools/app/dns_deploy_zones.py:939 lib/pp_admintools/app/dns_deploy_zones.py:941
 msgid "Output on {}"
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:868
+#: lib/pp_admintools/app/dns_deploy_zones.py:846
 msgid "Starting {} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:903
+#: lib/pp_admintools/app/dns_deploy_zones.py:881
 msgid "Restarting {} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/dns_deploy_zones.py:938
+#: lib/pp_admintools/app/dns_deploy_zones.py:916
 msgid "Reloading {} ..."
 msgstr ""
 
@@ -476,17 +677,17 @@ msgid "The path {!r} must be an absolute path."
 msgstr ""
 
 #: lib/pp_admintools/app/ldap.py:121 lib/pp_admintools/app/ldap.py:287
-#: lib/pp_admintools/app/ldap.py:1516
+#: lib/pp_admintools/app/ldap.py:1521
 msgid "The file {!r} does not exists."
 msgstr ""
 
 #: lib/pp_admintools/app/ldap.py:125 lib/pp_admintools/app/ldap.py:291
-#: lib/pp_admintools/app/ldap.py:1521
+#: lib/pp_admintools/app/ldap.py:1526
 msgid "The given path {!r} exists, but is not a regular file."
 msgstr ""
 
 #: lib/pp_admintools/app/ldap.py:129 lib/pp_admintools/app/ldap.py:295
-#: lib/pp_admintools/app/ldap.py:1526
+#: lib/pp_admintools/app/ldap.py:1531
 msgid "The given file {!r} is not readable."
 msgstr ""
 
@@ -593,11 +794,6 @@ msgid ""
 "are shown, and the application is exiting."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:438 lib/pp_admintools/app/mirror_ldap.py:123
-#: lib/pp_admintools/app/pdns.py:286
-msgid "SECONDS"
-msgstr ""
-
 #: lib/pp_admintools/app/ldap.py:440
 msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
 msgstr ""
@@ -678,259 +874,247 @@ msgstr ""
 msgid "Disconnecting from LDAP server {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:796
+#: lib/pp_admintools/app/ldap.py:798
 msgid "Searching in {uri}/{bdn} for all entries with filter {fltr!r}, giving attributes:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:808
+#: lib/pp_admintools/app/ldap.py:810
 msgid "Result of searching:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:813
+#: lib/pp_admintools/app/ldap.py:815
 msgid "Found entry {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:820
+#: lib/pp_admintools/app/ldap.py:822
 msgid "Found one entry with filter {fltr!r} in {uri}/{bdn}."
 msgid_plural "Found {nr} enries with filter {fltr!r} in {uri}/{bdn}."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/pp_admintools/app/ldap.py:824
+#: lib/pp_admintools/app/ldap.py:826
 msgid "Got response entries:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:828
+#: lib/pp_admintools/app/ldap.py:830
 msgid "No entry found with filter {fltr!r} in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:848 lib/pp_admintools/app/ldap.py:890
+#: lib/pp_admintools/app/ldap.py:853 lib/pp_admintools/app/ldap.py:895
 msgid "Using LDAP filter: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:857 lib/pp_admintools/app/ldap.py:899
+#: lib/pp_admintools/app/ldap.py:862 lib/pp_admintools/app/ldap.py:904
 msgid "Result of searching for DNs of all entries:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:861 lib/pp_admintools/app/ldap.py:903
-#: lib/pp_admintools/app/ldap.py:1001 lib/pp_admintools/app/ldap.py:1054
-#: lib/pp_admintools/app/ldap.py:1107 lib/pp_admintools/app/ldap.py:1195
-#: lib/pp_admintools/app/ldap.py:1395 lib/pp_admintools/app/ldap.py:1429
-#: lib/pp_admintools/app/ldap.py:1463 lib/pp_admintools/app/ldap.py:1497
+#: lib/pp_admintools/app/ldap.py:866 lib/pp_admintools/app/ldap.py:908
+#: lib/pp_admintools/app/ldap.py:1006 lib/pp_admintools/app/ldap.py:1059
+#: lib/pp_admintools/app/ldap.py:1112 lib/pp_admintools/app/ldap.py:1200
+#: lib/pp_admintools/app/ldap.py:1400 lib/pp_admintools/app/ldap.py:1434
+#: lib/pp_admintools/app/ldap.py:1468 lib/pp_admintools/app/ldap.py:1502
 msgid "Got a response entry:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:886
+#: lib/pp_admintools/app/ldap.py:891
 msgid "Getting all Entry DNs of LDAP instance {i!r} below {b!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:925
+#: lib/pp_admintools/app/ldap.py:930
 msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:930
+#: lib/pp_admintools/app/ldap.py:935
 msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:937
+#: lib/pp_admintools/app/ldap.py:942
 msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:944
+#: lib/pp_admintools/app/ldap.py:949
 msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:953 lib/pp_admintools/app/remove_ldap_user.py:290
+#: lib/pp_admintools/app/ldap.py:958 lib/pp_admintools/app/remove_ldap_user.py:290
 msgid "Empty user given."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:956
+#: lib/pp_admintools/app/ldap.py:961
 msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:986 lib/pp_admintools/app/ldap.py:1039
-#: lib/pp_admintools/app/ldap.py:1092 lib/pp_admintools/app/ldap.py:1383
-#: lib/pp_admintools/app/ldap.py:1417 lib/pp_admintools/app/ldap.py:1451
-#: lib/pp_admintools/app/ldap.py:1485
+#: lib/pp_admintools/app/ldap.py:991 lib/pp_admintools/app/ldap.py:1044
+#: lib/pp_admintools/app/ldap.py:1097 lib/pp_admintools/app/ldap.py:1388
+#: lib/pp_admintools/app/ldap.py:1422 lib/pp_admintools/app/ldap.py:1456
+#: lib/pp_admintools/app/ldap.py:1490
 msgid "Searching in {uri}/{bdn} with filter: {fltr}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:997
+#: lib/pp_admintools/app/ldap.py:1002
 msgid "Result of searching for mail address {m!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1008
+#: lib/pp_admintools/app/ldap.py:1013
 msgid "User with mail address {m!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1050
+#: lib/pp_admintools/app/ldap.py:1055
 msgid "Result of searching for uid {u!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1061
+#: lib/pp_admintools/app/ldap.py:1066
 msgid "User with uid {u!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1103
+#: lib/pp_admintools/app/ldap.py:1108
 msgid "Result of searching for CN {cn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1114
+#: lib/pp_admintools/app/ldap.py:1119
 msgid "User with cn {cn!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1131 lib/pp_admintools/app/set_ldap_password.py:411
+#: lib/pp_admintools/app/ldap.py:1136 lib/pp_admintools/app/set_ldap_password.py:411
 msgid "User with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1149
+#: lib/pp_admintools/app/ldap.py:1154
 msgid "ObjectClasses of {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1159
+#: lib/pp_admintools/app/ldap.py:1164
 msgid "Entry {dn!r} in {uri} seems not to be an account."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1181
+#: lib/pp_admintools/app/ldap.py:1186
 msgid "Searching DN {dn!r} in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1191
+#: lib/pp_admintools/app/ldap.py:1196
 msgid "Result of searching for DN {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1199
+#: lib/pp_admintools/app/ldap.py:1204
 msgid "Entry with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1244
+#: lib/pp_admintools/app/ldap.py:1249
 msgid "Creating entry {dn!r} on {uri}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1250
+#: lib/pp_admintools/app/ldap.py:1255
 msgid "Simulation mode - entry will not be created."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1257
+#: lib/pp_admintools/app/ldap.py:1262
 msgid "Creation of entry {dn!r} was NOT successfull - {c}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1272
+#: lib/pp_admintools/app/ldap.py:1277
 msgid "Creation status: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1274
+#: lib/pp_admintools/app/ldap.py:1279
 msgid "Result of creating:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1277
+#: lib/pp_admintools/app/ldap.py:1282
 msgid "Creation of entry {dn!r} was NOT successful: {desc} - {msg}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1283
+#: lib/pp_admintools/app/ldap.py:1288
 msgid "Creation successful."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1294
+#: lib/pp_admintools/app/ldap.py:1299
 msgid "Applying changes on {uri} to DN {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1299
+#: lib/pp_admintools/app/ldap.py:1304
 msgid "Simulation mode - changes are not applied."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1305
+#: lib/pp_admintools/app/ldap.py:1310
 msgid "Modification of {dn!r} was NOT successfull - {c}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1307 lib/pp_admintools/app/ldap.py:1326
+#: lib/pp_admintools/app/ldap.py:1312 lib/pp_admintools/app/ldap.py:1331
 #: lib/pp_admintools/app/remove_ldap_user.py:417 lib/pp_admintools/app/remove_ldap_user.py:444
 #: lib/pp_admintools/app/remove_ldap_user.py:471 lib/pp_admintools/app/remove_ldap_user.py:502
 #: lib/pp_admintools/app/remove_ldap_user.py:533 lib/pp_admintools/app/set_ldap_password.py:521
 msgid "Changes:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1319
+#: lib/pp_admintools/app/ldap.py:1324
 msgid "Modification status: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1321
+#: lib/pp_admintools/app/ldap.py:1326
 msgid "Result of modifying:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1324
+#: lib/pp_admintools/app/ldap.py:1329
 msgid "Modification of {dn!r} was NOT successful: {desc} - {msg}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1329
+#: lib/pp_admintools/app/ldap.py:1334
 msgid "Modification successful."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1339
+#: lib/pp_admintools/app/ldap.py:1344
 msgid "Deleting LDAP entry {dn!r} on {uri} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1344
+#: lib/pp_admintools/app/ldap.py:1349
 msgid "Simulation mode - deletion will not be executed."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1350
+#: lib/pp_admintools/app/ldap.py:1355
 msgid "Deletion of {dn!r} was NOT successfull - {c}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1355
+#: lib/pp_admintools/app/ldap.py:1360
 msgid "Deletion status: {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1357
+#: lib/pp_admintools/app/ldap.py:1362
 msgid "Result of deletion:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1360
+#: lib/pp_admintools/app/ldap.py:1365
 msgid "Deletion of {dn!r} was NOT successful: {desc} - {msg}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1364
+#: lib/pp_admintools/app/ldap.py:1369
 msgid "Deletion successful."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1513
+#: lib/pp_admintools/app/ldap.py:1518
 msgid "Reading password file {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1544
+#: lib/pp_admintools/app/ldap.py:1549
 msgid "Could not detect RDN from DN {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1548
+#: lib/pp_admintools/app/ldap.py:1553
 msgid "Found RDN attribute {!r}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1554
+#: lib/pp_admintools/app/ldap.py:1559
 msgid "RDN attribute {!r} will not be touched."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1560 lib/pp_admintools/app/ldap.py:1579
-#: lib/pp_admintools/app/ldap.py:1657
+#: lib/pp_admintools/app/ldap.py:1565 lib/pp_admintools/app/ldap.py:1584
+#: lib/pp_admintools/app/ldap.py:1662
 msgid "Attribute {!r} will not be touched."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1613
-msgid "Values to add to attribute {!r}:"
-msgstr ""
-
-#: lib/pp_admintools/app/ldap.py:1617
+#: lib/pp_admintools/app/ldap.py:1622
 msgid "Values to removed from attribute {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:1634
-msgid "Changes for attribute {!r}:"
-msgstr ""
-
-#: lib/pp_admintools/app/ldap.py:1637
-msgid "No changes to attribute {!r}."
-msgstr ""
-
 #: lib/pp_admintools/app/mail.py:103
 msgid "Got invalid SMTP port number {!r}."
 msgstr ""
@@ -1325,6 +1509,10 @@ msgstr ""
 msgid "The schema (hashing method) to use to hash the new password. Default: {default!r}."
 msgstr ""
 
+#: lib/pp_admintools/app/mk_ldap_passwd.py:107
+msgid "TYPE"
+msgstr ""
+
 #: lib/pp_admintools/app/mk_ldap_passwd.py:113
 msgid "Like {}"
 msgstr ""