diff --git a/modoboa/locale/de/LC_MESSAGES/django.po b/modoboa/locale/de/LC_MESSAGES/django.po
index fdd602708..a54580f5a 100644
--- a/modoboa/locale/de/LC_MESSAGES/django.po
+++ b/modoboa/locale/de/LC_MESSAGES/django.po
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Alexander Dube The first element of each line is "
"mandatory and must be equal to one of the previous values. You can "
"use a different character as separator. Das erste Element jeder Zeile ist erforderlich und muss einem der vorherigen Werte entsprechen. Sie können ein anderes Zeichen als Trennzeichen verwenden. Das erste Element jeder Zeile ist "
+"erforderlich und muss einem der vorherigen Werte entsprechen. Sie "
+"können ein anderes Zeichen als Trennzeichen verwenden. The first element of each line "
-"is mandatory and must be equal to one of the previous values. You can"
-" use a different character as separator. Das erste Element jeder Zeile ist erforderlich und muss mit einem der vorherigen Werte übereinstimmen. Sie können ein anderes Zeichen als Trennzeichen verwenden.
"
-"
You can " +"use a different character as separator.
" +msgstr "" +"Verwenden Sie eine CSV-Datei, deren Zeilen einem der folgenden Formate " +"entsprechen:Das erste Element jeder Zeile ist erforderlich und muss mit einem der " +"vorherigen Werte übereinstimmen.
Sie können ein anderes Zeichen als " +"Trennzeichen verwenden.
" #: admin/templates/admin/importform.html:6 msgid "Help" @@ -1433,7 +1523,9 @@ msgstr "Aktualisieren" #: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" -msgstr "Die IP-Adressen passen zu keinem der in den Parametern definierten MX-Einträge" +msgstr "" +"Die IP-Adressen passen zu keinem der in den Parametern definierten MX-" +"Einträge" #: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." @@ -1444,108 +1536,122 @@ msgstr "Kein MX Eintrag für diese Domain gefunden." msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" -msgstr "Modoboa hat festgestellt , dass die Domain %(domain)s bei den folgenden DNSBL-Anbieter aufgelistet ist:" +msgstr "" +"Modoboa hat festgestellt , dass die Domain %(domain)s bei den folgenden " +"DNSBL-Anbieter aufgelistet ist:" #: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." -msgstr "Die Reputation der Domäne wird beeinträchtigt, und es besteht die Möglichkeit, dass die von ihr stammenden E-Mails als Spam angesehen werden. Sie sollten diese Anbieter kontaktieren und sie bitten, die erkannte(n) IP-Adresse(n) aus der Liste zu entfernen." +msgstr "" +"Die Reputation der Domäne wird beeinträchtigt, und es besteht die " +"Möglichkeit, dass die von ihr stammenden E-Mails als Spam angesehen werden. " +"Sie sollten diese Anbieter kontaktieren und sie bitten, die erkannte(n) IP-" +"Adresse(n) aus der Liste zu entfernen." #: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" -msgstr "Modoboa hat erkannt, dass für die Domain %(domain)s kein valider MX Eintrag vorliegt:" +msgstr "" +"Modoboa hat erkannt, dass für die Domain %(domain)s kein valider MX Eintrag " +"vorliegt:" #: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Suchen" -#: admin/templatetags/admin_tags.py:19 +#: admin/templatetags/admin_tags.py:18 msgid "enabled_m" msgstr "aktiviert_m" -#: admin/templatetags/admin_tags.py:19 +#: admin/templatetags/admin_tags.py:18 msgid "enabled_f" msgstr "aktiviert_f" -#: admin/templatetags/admin_tags.py:47 +#: admin/templatetags/admin_tags.py:46 msgid "List domains" msgstr "Domain-Liste" -#: admin/templatetags/admin_tags.py:52 admin/templatetags/admin_tags.py:112 +#: admin/templatetags/admin_tags.py:53 admin/templatetags/admin_tags.py:123 msgid "List quotas" msgstr "Quota-Liste" -#: admin/templatetags/admin_tags.py:57 +#: admin/templatetags/admin_tags.py:60 msgid "Message logs" msgstr "Nachrichten-Logs" -#: admin/templatetags/admin_tags.py:69 admin/templatetags/admin_tags.py:117 -#: admin/views/import_.py:56 admin/views/import_.py:78 +#: admin/templatetags/admin_tags.py:75 admin/templatetags/admin_tags.py:130 +#: admin/views/import_.py:57 admin/views/import_.py:78 msgid "Import" msgstr "Import" -#: admin/templatetags/admin_tags.py:75 admin/templatetags/admin_tags.py:123 -#: admin/views/export.py:39 admin/views/export.py:67 +#: admin/templatetags/admin_tags.py:83 admin/templatetags/admin_tags.py:138 +#: admin/views/export.py:41 admin/views/export.py:70 msgid "Export" msgstr "Export" -#: admin/templatetags/admin_tags.py:107 +#: admin/templatetags/admin_tags.py:116 msgid "List identities" msgstr "Identitäten-Liste" -#: admin/templatetags/admin_tags.py:142 +#: admin/templatetags/admin_tags.py:157 msgid "View the domain's identities" msgstr "Domain-Identitäten anzeigen" -#: admin/templatetags/admin_tags.py:149 +#: admin/templatetags/admin_tags.py:166 msgid "View domain's alarms" msgstr "Domänen-Alarme anzeigen" -#: admin/templatetags/admin_tags.py:155 admin/templatetags/admin_tags.py:198 -#: admin/templatetags/admin_tags.py:211 +#: admin/templatetags/admin_tags.py:174 admin/templatetags/admin_tags.py:218 +#: admin/templatetags/admin_tags.py:235 msgid "Edit {}" msgstr "{} bearbeiten" -#: admin/templatetags/admin_tags.py:165 admin/templatetags/admin_tags.py:202 -#: admin/templatetags/admin_tags.py:216 +#: admin/templatetags/admin_tags.py:186 admin/templatetags/admin_tags.py:224 +#: admin/templatetags/admin_tags.py:241 #, python-format msgid "Delete %s?" msgstr "%s löschen?" -#: admin/tests/test_mx.py:155 +#: admin/tests/test_mx.py:156 #, python-format msgid "No MX record for %s" msgstr "Kein MX Eintrag für %s" -#: admin/tests/test_mx.py:167 admin/tests/test_mx.py:170 +#: admin/tests/test_mx.py:177 admin/tests/test_mx.py:183 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Ferhlerhaftes IP-Adressformat für %(domain)s; %(addr)s" +#: admin/tests/test_mx.py:200 +#, fuzzy, python-format +#| msgid "No MX record for %s" +msgid "No AAAA record for %s" +msgstr "Kein MX Eintrag für %s" + #: admin/views/alias.py:30 msgid "Alias with this name already exists" msgstr "Ein Alias mit diesem Namen existiert bereits" -#: admin/views/alias.py:55 +#: admin/views/alias.py:52 msgid "Create" msgstr "Erstellen" -#: admin/views/alias.py:67 +#: admin/views/alias.py:64 msgid "New alias" msgstr "Neuer Alias" -#: admin/views/alias.py:68 +#: admin/views/alias.py:64 msgid "Alias created" msgstr "Alias erstellt" -#: admin/views/alias.py:80 +#: admin/views/alias.py:76 msgid "Alias modified" msgstr "Alias verändert" -#: admin/views/alias.py:105 +#: admin/views/alias.py:101 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias gelöscht" @@ -1555,36 +1661,36 @@ msgstr[1] "Aliase gelöscht" msgid "MX records of {}" msgstr "MX Einträge für {}" -#: admin/views/dns.py:51 +#: admin/views/dns.py:50 msgid "DNSBL summary for {}" msgstr "DNSBL Zusammenfassung für {}" -#: admin/views/domain.py:250 +#: admin/views/domain.py:251 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domain gelöscht" msgstr[1] "Domains gelöscht" -#: admin/views/export.py:38 +#: admin/views/export.py:40 msgid "Export identities" msgstr "Identitäten exportieren" -#: admin/views/export.py:66 +#: admin/views/export.py:69 msgid "Export domains" msgstr "Domains exportieren" -#: admin/views/identity.py:108 admin/views/identity.py:205 -#: admin/views/identity.py:210 lib/form_utils.py:110 lib/form_utils.py:113 +#: admin/views/identity.py:110 admin/views/identity.py:197 +#: admin/views/identity.py:202 lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Ungültige Anfrage" -#: admin/views/identity.py:194 +#: admin/views/identity.py:187 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Konto gelöscht" msgstr[1] "Konten gelöscht" -#: admin/views/import_.py:55 +#: admin/views/import_.py:56 msgid "Import domains" msgstr "Domains importieren" @@ -1592,84 +1698,72 @@ msgstr "Domains importieren" msgid "Import identities" msgstr "Identitäten importieren" -#: admin/views/user.py:52 +#: admin/views/user.py:51 msgid "Forward updated" msgstr "Weiterleitung aktualisiert" -#: core/api/v1/serializers.py:16 +#: core/api/v1/serializers.py:21 msgid "Invalid PIN code" msgstr "Ungültiger Pincode" -#: core/api/v1/serializers.py:22 +#: core/api/v1/serializers.py:27 msgid "2FA is already enabled" msgstr "2FA ist bereits aktiviert" -#: core/api/v1/viewsets.py:61 +#: core/api/v1/serializers.py:40 +#, fuzzy, python-format +#| msgid "Failed connection attempt from '%s' as user '%s'" +msgid "Failed TFA settings editing attempt from '%s' as user '%s'" +msgstr "Fehlgeschlagener Verbindungsversuch von '%s' als Benutzer '%s'" + +#: core/api/v1/serializers.py:44 core/api/v2/serializers.py:274 +msgid "Invalid password" +msgstr "Ungültiges Passwort" + +#: core/api/v1/viewsets.py:64 core/api/v1/viewsets.py:82 msgid "2FA is not enabled" msgstr "2-Faktor-Authentifizierung ist nicht aktiviert" -#: core/api/v2/serializers.py:60 core/app_settings.py:43 +#: core/api/v2/serializers.py:68 core/app_settings.py:48 msgid "Local" msgstr "Lokal" -#: core/api/v2/serializers.py:68 -msgid "md5crypt (weak)" -msgstr "md5crypt (schwach)" - -#: core/api/v2/serializers.py:69 -msgid "sha256 (weak)" -msgstr "sha256 (schwach)" - -#: core/api/v2/serializers.py:70 -msgid "md5 (weak)" -msgstr "md5 (schwach)" - -#: core/api/v2/serializers.py:71 -msgid "crypt (weak)" -msgstr "crypt (schwach)" - -#: core/api/v2/serializers.py:72 -msgid "plain (weak)" -msgstr "plain (schwach)" - -#: core/api/v2/serializers.py:168 core/app_settings.py:26 +#: core/api/v2/serializers.py:164 core/app_settings.py:24 msgid "User profile" msgstr "Benutzername" #: core/api/v2/serializers.py:183 core/api/v2/serializers.py:190 -#: core/api/v2/serializers.py:197 core/app_settings.py:561 -#: core/app_settings.py:569 core/app_settings.py:577 +#: core/api/v2/serializers.py:197 core/app_settings.py:535 +#: core/app_settings.py:543 core/app_settings.py:551 +#: postfix_autoreply/forms.py:155 msgid "Invalid syntax" msgstr "Ungültiger Syntax" -#: core/api/v2/serializers.py:202 core/app_settings.py:583 +#: core/api/v2/serializers.py:202 core/app_settings.py:557 msgid "Invalid rounds number" msgstr "Ungültige Zahl für Runden" -#: core/api/v2/serializers.py:262 core/forms.py:176 +#: core/api/v2/serializers.py:262 core/forms.py:194 msgid "This code is invalid" msgstr "Dieser Code ist Falsch" -#: core/api/v2/serializers.py:274 -msgid "Invalid password" -msgstr "Ungültiges Passwort" - -#: core/api/v2/serializers.py:328 core/views/auth.py:180 -#: core/views/auth.py:235 +#: core/api/v2/serializers.py:333 core/views/auth.py:184 core/views/auth.py:237 msgid "Please use the following code to recover your Modoboa password: {}" -msgstr "Bitte benutze den folgenden Code um das Modoboa Passwort wiederherzustellen: {}" +msgstr "" +"Bitte benutze den folgenden Code um das Modoboa Passwort wiederherzustellen: " +"{}" -#: core/api/v2/views.py:54 +#: core/api/v2/views.py:57 #, python-format msgid "Failed connection attempt from '%s' as user '%s'" msgstr "Fehlgeschlagener Verbindungsversuch von '%s' als Benutzer '%s'" -#: core/api/v2/views.py:67 core/views/auth.py:89 +#: core/api/v2/views.py:69 core/views/auth.py:89 #, python-format msgid "User '%s' successfully logged in" msgstr "Benutzer '%s' hat sich erfolgreich angemeldet" -#: core/api/v2/views.py:86 core/views/auth.py:68 +#: core/api/v2/views.py:86 core/views/auth.py:67 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "Fehlanpassung des Passwortschemas. Passwort von %s wird aktualisiert" @@ -1679,478 +1773,523 @@ msgstr "Fehlanpassung des Passwortschemas. Passwort von %s wird aktualisiert" msgid "Password hash parameter missmatch. Updating %s password" msgstr "Passwort-Hash Parameter Unterschied. Aktualisiere %s Passwort" -#: core/app_settings.py:39 core/app_settings.py:728 +#: core/app_settings.py:44 core/app_settings.py:716 msgid "Authentication" msgstr "Authentifizierung" -#: core/app_settings.py:42 core/app_settings.py:731 +#: core/app_settings.py:47 core/app_settings.py:722 msgid "Authentication type" msgstr "Authentifizierungstyp" -#: core/app_settings.py:46 core/app_settings.py:733 +#: core/app_settings.py:50 core/app_settings.py:724 msgid "The backend used for authentication" msgstr "Backend für die Authentifizierung" -#: core/app_settings.py:51 core/app_settings.py:736 +#: core/app_settings.py:55 core/app_settings.py:731 msgid "Default password scheme" msgstr "Standard-Passwortschema" -#: core/app_settings.py:54 core/app_settings.py:738 +#: core/app_settings.py:58 core/app_settings.py:733 msgid "Scheme used to crypt mailbox passwords" msgstr "Verschlüsselungsschema der Postfach-Passwörter" -#: core/app_settings.py:58 core/app_settings.py:741 +#: core/app_settings.py:62 core/app_settings.py:740 msgid "Rounds" msgstr "Runden" -#: core/app_settings.py:61 core/app_settings.py:743 +#: core/app_settings.py:65 core/app_settings.py:742 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." -msgstr "Anzahl zu verwendender Runden (nur für sha256crypt und sha512crypt). Zahl muss zwischen 1000 und 999999999 liegen." +msgstr "" +"Anzahl zu verwendender Runden (nur für sha256crypt und sha512crypt). Zahl " +"muss zwischen 1000 und 999999999 liegen." -#: core/app_settings.py:67 core/app_settings.py:749 +#: core/app_settings.py:71 core/app_settings.py:752 msgid "Update password scheme at login" msgstr "Aktualisiere das Passwortschema beim Anmelden" -#: core/app_settings.py:70 core/app_settings.py:751 +#: core/app_settings.py:74 core/app_settings.py:755 msgid "Update user password at login to use the default password scheme" -msgstr "Aktualisieren Sie das Benutzerkennwort bei der Anmeldung, um das Standard-Passwortschema zu verwenden." +msgstr "" +"Aktualisieren Sie das Benutzerkennwort bei der Anmeldung, um das Standard-" +"Passwortschema zu verwenden." -#: core/app_settings.py:75 core/app_settings.py:756 +#: core/app_settings.py:79 core/app_settings.py:763 msgid "Default password" msgstr "Standardpasswort" -#: core/app_settings.py:78 core/app_settings.py:758 +#: core/app_settings.py:81 core/app_settings.py:765 msgid "Default password for automatically created accounts." msgstr "Standardpasswort für automatisch erstellte Accounts." -#: core/app_settings.py:82 core/app_settings.py:761 +#: core/app_settings.py:85 core/app_settings.py:772 msgid "Random password length" msgstr "Zufällige Passwortlänge" -#: core/app_settings.py:86 core/app_settings.py:763 +#: core/app_settings.py:88 core/app_settings.py:774 msgid "Length of randomly generated passwords." msgstr "Länge von zufällig generierten Passwörtern" -#: core/app_settings.py:90 core/app_settings.py:766 +#: core/app_settings.py:92 core/app_settings.py:781 msgid "Update password service URL" msgstr "Aktualisiere Passwort-Service-URL" -#: core/app_settings.py:94 core/app_settings.py:768 +#: core/app_settings.py:96 core/app_settings.py:783 msgid "" "The URL of an external page where users will be able to update their " "password. It applies only to non local users, ie. those automatically " "created after a successful external authentication (LDAP, SMTP)." -msgstr "Die URL der externen Webseite wo Benutzer ihr Kennwort aktualisieren können. Diese Einstellung trifft nur auf nicht lokale Benutzer zu, z.B: Benutzer die nach erfolgreicher externer Authentifizierung angelegt wurden (LDAP, SMTP)." +msgstr "" +"Die URL der externen Webseite wo Benutzer ihr Kennwort aktualisieren können. " +"Diese Einstellung trifft nur auf nicht lokale Benutzer zu, z.B: Benutzer die " +"nach erfolgreicher externer Authentifizierung angelegt wurden (LDAP, SMTP)." -#: core/app_settings.py:102 core/app_settings.py:775 +#: core/app_settings.py:104 core/app_settings.py:793 msgid "Password recovery announcement" msgstr "Ankündigung zur Passwort-Wiederherstellung" -#: core/app_settings.py:107 core/app_settings.py:777 +#: core/app_settings.py:109 core/app_settings.py:795 msgid "A temporary message that will be displayed on the reset password page." -msgstr "Eine temporäre Nachricht, die auf der Passwort-Wiederherstellungsseite angezeigt wird." +msgstr "" +"Eine temporäre Nachricht, die auf der Passwort-Wiederherstellungsseite " +"angezeigt wird." -#: core/app_settings.py:113 core/app_settings.py:782 +#: core/app_settings.py:114 core/app_settings.py:804 msgid "Enable password recovery by SMS" msgstr "Aktiviere die Passwortwiederherstellung per SMS" -#: core/app_settings.py:116 core/app_settings.py:784 +#: core/app_settings.py:117 core/app_settings.py:807 msgid "Enable password recovery by SMS for users who filled a phone number." -msgstr "Aktiviere die Passwortwiederherstellung per SMS für Benutzer mit einer Telefonnummer." +msgstr "" +"Aktiviere die Passwortwiederherstellung per SMS für Benutzer mit einer " +"Telefonnummer." -#: core/app_settings.py:122 core/app_settings.py:789 +#: core/app_settings.py:122 core/app_settings.py:815 msgid "SMS provider" msgstr "SMS Anbieter" -#: core/app_settings.py:125 core/app_settings.py:792 +#: core/app_settings.py:124 core/app_settings.py:818 msgid "Choose a provider to send password recovery SMS" msgstr "Wähle einen Anbieter für das verschicken der Wiederherstellungs-SMS" -#: core/app_settings.py:131 +#: core/app_settings.py:129 msgid "LDAP settings" msgstr "LDAP-Einstellungen" -#: core/app_settings.py:134 core/app_settings.py:802 +#: core/app_settings.py:132 core/app_settings.py:836 msgid "Server address" msgstr "Server-Adresse" -#: core/app_settings.py:137 core/app_settings.py:804 +#: core/app_settings.py:134 core/app_settings.py:838 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP-Adresse oder Hostname des LDAP-Servers" -#: core/app_settings.py:141 core/app_settings.py:807 +#: core/app_settings.py:138 core/app_settings.py:845 msgid "Server port" msgstr "Server-Port" -#: core/app_settings.py:143 core/app_settings.py:809 +#: core/app_settings.py:140 core/app_settings.py:847 msgid "The TCP port number used by the LDAP server" msgstr "Der TCP Port des LDAP-Servers" -#: core/app_settings.py:147 core/app_settings.py:812 +#: core/app_settings.py:144 core/app_settings.py:855 msgid "Enable secondary server (fallback)" msgstr "Aktiviere Ausfallsserver (Fallback)" -#: core/app_settings.py:150 core/app_settings.py:814 +#: core/app_settings.py:147 core/app_settings.py:858 msgid "" "Enable a secondary LDAP server which will be used if the primary one fails" -msgstr "Aktiviere einen zweiten LDAP-Server, welcher verwendet wird, wenn der erste nicht erreichbar ist" +msgstr "" +"Aktiviere einen zweiten LDAP-Server, welcher verwendet wird, wenn der erste " +"nicht erreichbar ist" -#: core/app_settings.py:156 core/app_settings.py:819 +#: core/app_settings.py:153 core/app_settings.py:866 msgid "Secondary server address" msgstr "Ausfallsserver-Adresse" -#: core/app_settings.py:159 core/app_settings.py:822 +#: core/app_settings.py:156 core/app_settings.py:869 msgid "The IP address or the DNS name of the seondary LDAP server" msgstr "Die IP-Adresse oder den DNS-Namen des zweiten LDAP-Servers" -#: core/app_settings.py:163 core/app_settings.py:826 +#: core/app_settings.py:161 core/app_settings.py:876 msgid "Secondary server port" msgstr "Ausfallsserver-Port" -#: core/app_settings.py:166 core/app_settings.py:829 +#: core/app_settings.py:163 core/app_settings.py:879 msgid "The TCP port number used by the LDAP secondary server" msgstr "Der TCP Port des sekundären LDAP-Servers" -#: core/app_settings.py:170 core/app_settings.py:833 +#: core/app_settings.py:167 core/app_settings.py:886 msgid "Use a secured connection" msgstr "Gesicherte Verbindung verwenden" -#: core/app_settings.py:174 core/app_settings.py:835 +#: core/app_settings.py:171 core/app_settings.py:888 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "SSL/TLS-Verbindung für Zugriff auf LDAP-Server verwenden" -#: core/app_settings.py:178 core/app_settings.py:838 +#: core/app_settings.py:176 core/app_settings.py:895 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:181 core/app_settings.py:840 +#: core/app_settings.py:178 core/app_settings.py:897 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Auswählen wenn der LDAP-Server ein Active Directory ist." -#: core/app_settings.py:185 core/app_settings.py:843 +#: core/app_settings.py:182 core/app_settings.py:904 msgid "Administrator groups" msgstr "Administrator-Gruppen" -#: core/app_settings.py:188 core/app_settings.py:845 +#: core/app_settings.py:185 core/app_settings.py:906 msgid "" -"Members of those LDAP Posix groups will be created as domain administrators." -" Use ';' characters to separate groups." -msgstr "Mitglieder dieser LDAP Posix-Gruppe werden als Domain-Administratoren angelegt werden. Nutzen Sie ';', um Gruppen zu separieren." +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Mitglieder dieser LDAP Posix-Gruppe werden als Domain-Administratoren " +"angelegt werden. Nutzen Sie ';', um Gruppen zu separieren." -#: core/app_settings.py:195 core/app_settings.py:851 +#: core/app_settings.py:192 core/app_settings.py:915 msgid "Group type" msgstr "Gruppentyp" -#: core/app_settings.py:199 core/app_settings.py:853 +#: core/app_settings.py:195 core/app_settings.py:917 msgid "The LDAP group type to use with your directory." -msgstr "Der LDAP Gruppentyp welcher mit diesem Verzeichnis benutzt werden soll." +msgstr "" +"Der LDAP Gruppentyp welcher mit diesem Verzeichnis benutzt werden soll." -#: core/app_settings.py:204 core/app_settings.py:857 +#: core/app_settings.py:199 core/app_settings.py:924 msgid "Groups search base" msgstr "Gruppen Search Base" -#: core/app_settings.py:207 core/app_settings.py:859 +#: core/app_settings.py:202 core/app_settings.py:926 msgid "The distinguished name of the search base used to find groups" msgstr "Der DN der Search Base mit der Gruppen gefunden werden" -#: core/app_settings.py:213 core/app_settings.py:864 +#: core/app_settings.py:208 core/app_settings.py:934 msgid "Password attribute" msgstr "Passwort-Attribut" -#: core/app_settings.py:215 core/app_settings.py:866 +#: core/app_settings.py:210 core/app_settings.py:936 msgid "The attribute used to store user passwords" msgstr "Das Attribut für Benutzerpasswörter" -#: core/app_settings.py:220 core/app_settings.py:869 +#: core/app_settings.py:214 core/app_settings.py:943 msgid "LDAP authentication settings" msgstr "LDAP Authentifizierungseinstellungen" -#: core/app_settings.py:223 core/app_settings.py:874 +#: core/app_settings.py:217 core/app_settings.py:951 msgid "Authentication method" msgstr "Authentifizierungsmethode" -#: core/app_settings.py:224 core/constants.py:59 +#: core/app_settings.py:219 core/constants.py:59 msgid "Search and bind" msgstr "Suchen und Bind anwenden" -#: core/app_settings.py:225 core/constants.py:60 +#: core/app_settings.py:220 core/constants.py:60 msgid "Direct bind" msgstr "Direkter Bind" -#: core/app_settings.py:227 core/app_settings.py:877 +#: core/app_settings.py:223 core/app_settings.py:954 msgid "Choose the authentication method to use" msgstr "Wählen Sie die Authentifizierungsmethode" -#: core/app_settings.py:231 core/app_settings.py:285 core/app_settings.py:880 -#: core/app_settings.py:925 +#: core/app_settings.py:227 core/app_settings.py:279 core/app_settings.py:961 +#: core/app_settings.py:1024 msgid "Bind DN" msgstr "Bind DN" -#: core/app_settings.py:234 core/app_settings.py:288 core/app_settings.py:882 -#: core/app_settings.py:927 +#: core/app_settings.py:230 core/app_settings.py:282 core/app_settings.py:963 +#: core/app_settings.py:1026 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" -msgstr "Der DN für einen Bind an den LDAP-Server. Nichts eingeben für anonymen Bind." +msgstr "" +"Der DN für einen Bind an den LDAP-Server. Nichts eingeben für anonymen Bind." -#: core/app_settings.py:241 core/app_settings.py:295 core/app_settings.py:888 -#: core/app_settings.py:932 +#: core/app_settings.py:237 core/app_settings.py:289 core/app_settings.py:972 +#: core/app_settings.py:1034 msgid "Bind password" msgstr "Bind Passwort" -#: core/app_settings.py:244 core/app_settings.py:298 core/app_settings.py:890 -#: core/app_settings.py:934 +#: core/app_settings.py:240 core/app_settings.py:292 core/app_settings.py:974 +#: core/app_settings.py:1036 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "Das Passwort wenn mit dem Bind DN angemeldet wird." -#: core/app_settings.py:252 core/app_settings.py:344 core/app_settings.py:897 -#: core/app_settings.py:971 +#: core/app_settings.py:247 core/app_settings.py:335 core/app_settings.py:984 +#: core/app_settings.py:1089 msgid "Users search base" msgstr "Benutzer Search Base" -#: core/app_settings.py:255 core/app_settings.py:347 core/app_settings.py:899 -#: core/app_settings.py:973 +#: core/app_settings.py:250 core/app_settings.py:338 core/app_settings.py:986 +#: core/app_settings.py:1091 msgid "The distinguished name of the search base used to find users" msgstr "Der DN der Search Base mit der Benutzerkonten gefunden werden" -#: core/app_settings.py:261 core/app_settings.py:353 core/app_settings.py:905 -#: core/app_settings.py:979 +#: core/app_settings.py:256 core/app_settings.py:344 core/app_settings.py:995 +#: core/app_settings.py:1100 msgid "Search filter" msgstr "Suchfilter" -#: core/app_settings.py:264 core/app_settings.py:356 core/app_settings.py:907 -#: core/app_settings.py:981 +#: core/app_settings.py:259 core/app_settings.py:347 core/app_settings.py:997 +#: core/app_settings.py:1102 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." -msgstr "Ein optionaler Filter, z.B. '(objectClass=person)'. Der Filter muss entsprechend der LDAP-Konvention in Klammern gesetzt werden." +msgstr "" +"Ein optionaler Filter, z.B. '(objectClass=person)'. Der Filter muss " +"entsprechend der LDAP-Konvention in Klammern gesetzt werden." -#: core/app_settings.py:271 core/app_settings.py:913 +#: core/app_settings.py:266 core/app_settings.py:1006 msgid "User DN template" msgstr "Vorlage für User DN" -#: core/app_settings.py:274 core/app_settings.py:915 +#: core/app_settings.py:269 core/app_settings.py:1008 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" -msgstr "Die Vorlage für einen User DN. Sie sollte einen Platzhalter, z.B. %(user)s enthalten." +msgstr "" +"Die Vorlage für einen User DN. Sie sollte einen Platzhalter, z.B. %(user)s " +"enthalten." -#: core/app_settings.py:282 core/app_settings.py:921 +#: core/app_settings.py:276 core/app_settings.py:1017 msgid "LDAP synchronization settings" msgstr "LDAP Synchronisations Einstellungen" -#: core/app_settings.py:306 core/app_settings.py:940 +#: core/app_settings.py:299 core/app_settings.py:1045 msgid "Enable export to LDAP" msgstr "Export zu LDAP aktivieren" -#: core/app_settings.py:309 core/app_settings.py:942 +#: core/app_settings.py:302 core/app_settings.py:1047 msgid "" "Enable automatic synchronization between local database and LDAP directory" -msgstr "Automatische Synchronisation zwischen lokaler Datenbank und LDAP Verzeichnis aktivieren" +msgstr "" +"Automatische Synchronisation zwischen lokaler Datenbank und LDAP Verzeichnis " +"aktivieren" -#: core/app_settings.py:315 core/app_settings.py:948 +#: core/app_settings.py:308 core/app_settings.py:1056 msgid "Delete remote LDAP account when local account is deleted" msgstr "Remote LDAP Benutzer entfernen wenn lokaler Benutzer gelöscht wird" -#: core/app_settings.py:319 core/app_settings.py:950 +#: core/app_settings.py:311 core/app_settings.py:1059 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." -msgstr "Remote LDAP Benutzer löschen wenn lokaler Benutzer gelöscht wird, ansonsten wird der Benutzer deaktiviert." +msgstr "" +"Remote LDAP Benutzer löschen wenn lokaler Benutzer gelöscht wird, ansonsten " +"wird der Benutzer deaktiviert." -#: core/app_settings.py:325 core/app_settings.py:956 +#: core/app_settings.py:317 core/app_settings.py:1068 msgid "Account DN template" msgstr "Vorlage für User DN" -#: core/app_settings.py:328 core/app_settings.py:958 +#: core/app_settings.py:320 core/app_settings.py:1070 #, python-format msgid "" "The template used to construct an account's DN. It should contain one " "placeholder (ie. %(user)s)" -msgstr "Die Vorlage die verwendet wird um das User DN zu generieren. Es sollte mindestens einen Platzhalter beinhalten (z.B. %(user)s)" +msgstr "" +"Die Vorlage die verwendet wird um das User DN zu generieren. Es sollte " +"mindestens einen Platzhalter beinhalten (z.B. %(user)s)" -#: core/app_settings.py:335 core/app_settings.py:964 +#: core/app_settings.py:327 core/app_settings.py:1079 msgid "Enable import from LDAP" msgstr "Import von LDAP aktivieren" -#: core/app_settings.py:338 core/app_settings.py:966 +#: core/app_settings.py:330 core/app_settings.py:1081 msgid "Enable account synchronization from LDAP directory to local database" -msgstr "Automatische Kontensynchronisation vom LDAP Verzeichnis in die lokale Datenbank aktivieren" +msgstr "" +"Automatische Kontensynchronisation vom LDAP Verzeichnis in die lokale " +"Datenbank aktivieren" -#: core/app_settings.py:363 core/app_settings.py:987 +#: core/app_settings.py:354 core/app_settings.py:1111 msgid "Username attribute" msgstr "Benutzernamenattribut" -#: core/app_settings.py:366 core/app_settings.py:989 +#: core/app_settings.py:357 core/app_settings.py:1113 msgid "The name of the LDAP attribute where the username can be found." msgstr "Das LDAP-Attribut, in dem der Benutzername gefunden werden kann." -#: core/app_settings.py:371 core/app_settings.py:995 +#: core/app_settings.py:362 core/app_settings.py:1122 msgid "Enable Dovecot LDAP sync" msgstr "Dovecot LDAP-Synchronisation aktivieren" -#: core/app_settings.py:374 core/app_settings.py:997 +#: core/app_settings.py:365 core/app_settings.py:1124 msgid "LDAP authentication settings will be applied to Dovecot configuration." -msgstr "LDAP-Authentifizierungseinstellungen werden auf die Dovecot-Konfiguration angewendet." +msgstr "" +"LDAP-Authentifizierungseinstellungen werden auf die Dovecot-Konfiguration " +"angewendet." -#: core/app_settings.py:380 core/app_settings.py:1002 +#: core/app_settings.py:370 core/app_settings.py:1132 msgid "Dovecot LDAP config file" msgstr "Dovecot LDAP-Konfigurationsdatei" -#: core/app_settings.py:384 core/app_settings.py:1004 +#: core/app_settings.py:374 core/app_settings.py:1134 msgid "" "Location of the configuration file which contains Dovecot LDAP settings." msgstr "Speicherort der Dovecot-Konfigurationsdatei für LDAP-Einstellungen." -#: core/app_settings.py:389 core/app_settings.py:1013 +#: core/app_settings.py:379 core/app_settings.py:1147 #: core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Dashboard" -#: core/app_settings.py:392 core/app_settings.py:1016 +#: core/app_settings.py:382 core/app_settings.py:1153 msgid "Custom RSS feed" msgstr "Benutzerdefinierter RSS Feed" -#: core/app_settings.py:395 core/app_settings.py:1018 +#: core/app_settings.py:385 core/app_settings.py:1155 msgid "Display custom RSS feed to resellers and domain administrators" -msgstr "Zeige benutzerdefinierten RSS-Feed für Wiederverkäufer und Domain-Administratoren." +msgstr "" +"Zeige benutzerdefinierten RSS-Feed für Wiederverkäufer und Domain-" +"Administratoren." -#: core/app_settings.py:400 core/app_settings.py:1023 +#: core/app_settings.py:390 core/app_settings.py:1163 msgid "Hide features widget" msgstr "Verberge Funktionen Werkzeug" -#: core/app_settings.py:403 core/app_settings.py:1025 +#: core/app_settings.py:393 core/app_settings.py:1165 msgid "Hide features widget for resellers and domain administrators" -msgstr "Verberge Funktionen Werkzeug für Wiederverkäufer und Domain-Administratoren." +msgstr "" +"Verberge Funktionen Werkzeug für Wiederverkäufer und Domain-Administratoren." -#: core/app_settings.py:407 core/app_settings.py:1032 +#: core/app_settings.py:397 core/app_settings.py:1177 msgid "Notifications" msgstr "Benachrichtigungen" -#: core/app_settings.py:410 core/app_settings.py:1035 +#: core/app_settings.py:400 core/app_settings.py:1183 msgid "Sender address" msgstr "Absenderadresse" -#: core/app_settings.py:413 core/app_settings.py:1037 +#: core/app_settings.py:402 core/app_settings.py:1185 msgid "Email address used to send notifications." msgstr "E-Mail Adresse für das Senden von Benachrichtigungen." -#: core/app_settings.py:417 core/app_settings.py:1042 +#: core/app_settings.py:405 core/app_settings.py:1196 msgid "Public API" msgstr "Öffentliche API" -#: core/app_settings.py:420 core/app_settings.py:1045 +#: core/app_settings.py:408 core/app_settings.py:1202 msgid "Enable communication" msgstr "Verbindung aktivieren" -#: core/app_settings.py:423 +#: core/app_settings.py:410 msgid "Enable communication with Modoboa public API" msgstr "Verbindung mit Modoboa public API aktivieren" -#: core/app_settings.py:427 core/app_settings.py:1050 +#: core/app_settings.py:414 core/app_settings.py:1211 msgid "Check new versions" msgstr "Prüfe auf neue Versionen" -#: core/app_settings.py:430 core/app_settings.py:1047 -#: core/app_settings.py:1053 +#: core/app_settings.py:416 core/app_settings.py:1204 core/app_settings.py:1214 msgid "Automatically checks if a newer version is available" msgstr "Prüft automatisch ob eine neuere Version verfügbar ist." -#: core/app_settings.py:434 core/app_settings.py:1057 +#: core/app_settings.py:420 core/app_settings.py:1222 msgid "Send an email when new versions are found" msgstr "Sende eine Email wenn eine neue Version gefunden wurde" -#: core/app_settings.py:437 core/app_settings.py:1060 +#: core/app_settings.py:422 core/app_settings.py:1226 msgid "Send an email to notify admins about new versions" -msgstr "Sende eine Email um die Administratoren über eine neue Version zu benachrichtigen" +msgstr "" +"Sende eine Email um die Administratoren über eine neue Version zu " +"benachrichtigen" -#: core/app_settings.py:441 core/app_settings.py:1064 +#: core/app_settings.py:425 core/app_settings.py:1233 msgid "Recipient" msgstr "Empfänger" -#: core/app_settings.py:444 core/app_settings.py:1067 +#: core/app_settings.py:427 core/app_settings.py:1236 msgid "Recipient of new versions notification emails." msgstr "Empfänger für die Benachrichtigungsemail für eine neue Version" -#: core/app_settings.py:449 core/app_settings.py:1071 +#: core/app_settings.py:431 core/app_settings.py:1243 msgid "Send statistics" msgstr "Sende Statistiken" -#: core/app_settings.py:452 core/app_settings.py:1074 +#: core/app_settings.py:434 core/app_settings.py:1246 msgid "Send statistics to Modoboa public API (counters and used extensions)" -msgstr "Statistiken über die Modoboa public API senden (Zähler und Nutzungs Erweiterungen)" +msgstr "" +"Statistiken über die Modoboa public API senden (Zähler und Nutzungs " +"Erweiterungen)" -#: core/app_settings.py:456 core/app_settings.py:1080 +#: core/app_settings.py:438 core/app_settings.py:1258 msgid "Miscellaneous" msgstr "Verschiedenes" -#: core/app_settings.py:459 core/app_settings.py:1083 +#: core/app_settings.py:441 core/app_settings.py:1265 msgid "Enable inactive account tracking" msgstr "Verfolgung inaktiver Konten aktivieren" -#: core/app_settings.py:461 core/app_settings.py:1085 +#: core/app_settings.py:444 core/app_settings.py:1268 msgid "" -"Allow the administrator to set a threshold (in days) beyond which an account" -" is considered inactive if the user hasn't logged in" -msgstr "Dem Administrator die Möglichkeit geben, einen Schwellenwert (in Tagen) festzulegen, ab dem ein Konto als inaktiv gilt, wenn sich der Benutzer nicht angemeldet hat." +"Allow the administrator to set a threshold (in days) beyond which an account " +"is considered inactive if the user hasn't logged in" +msgstr "" +"Dem Administrator die Möglichkeit geben, einen Schwellenwert (in Tagen) " +"festzulegen, ab dem ein Konto als inaktiv gilt, wenn sich der Benutzer nicht " +"angemeldet hat." -#: core/app_settings.py:467 core/app_settings.py:1091 +#: core/app_settings.py:451 core/app_settings.py:1277 msgid "Inactive account threshold" msgstr "Schwellwert für inaktive Konten" -#: core/app_settings.py:470 core/app_settings.py:1094 +#: core/app_settings.py:454 core/app_settings.py:1280 msgid "" -"An account with a last login date greater than this threshold (in days) will" -" be considered as inactive" -msgstr "Ein Konto mit einem Datum des letzten Logins, das größer als dieser Schwellenwert ist (in Tagen), wird als inaktiv betrachtet." +"An account with a last login date greater than this threshold (in days) will " +"be considered as inactive" +msgstr "" +"Ein Konto mit einem Datum des letzten Logins, das größer als dieser " +"Schwellenwert ist (in Tagen), wird als inaktiv betrachtet." -#: core/app_settings.py:476 core/app_settings.py:1099 +#: core/app_settings.py:460 core/app_settings.py:1289 msgid "Top notifications check interval" msgstr "Benachrichtigungs-Prüfintervall" -#: core/app_settings.py:479 core/app_settings.py:1101 +#: core/app_settings.py:462 core/app_settings.py:1292 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervall zwischen zwei Benachrichtigungsprüfungen (in Sekunden)" -#: core/app_settings.py:484 core/app_settings.py:1105 +#: core/app_settings.py:466 core/app_settings.py:1299 msgid "Maximum log record age" msgstr "Maximales Alter für Log-Einträge" -#: core/app_settings.py:486 core/app_settings.py:1107 +#: core/app_settings.py:468 core/app_settings.py:1301 msgid "The maximum age in days of a log record" msgstr "Das maximale Alter eines Log-Eintrags (in Tagen)" -#: core/app_settings.py:490 core/app_settings.py:1110 +#: core/app_settings.py:472 core/app_settings.py:1308 msgid "Items per page" msgstr "Einträge pro Seite" -#: core/app_settings.py:492 core/app_settings.py:1111 +#: core/app_settings.py:474 core/app_settings.py:1310 msgid "Number of displayed items per page" msgstr "Anzahl dargestellter Einträge pro Seite" -#: core/app_settings.py:496 core/app_settings.py:1114 +#: core/app_settings.py:478 core/app_settings.py:1317 msgid "Default top redirection" msgstr "Standardumleitung" -#: core/app_settings.py:500 core/app_settings.py:1116 +#: core/app_settings.py:482 core/app_settings.py:1319 msgid "The default redirection used when no application is specified" msgstr "Die Standardumleitung wenn kein Programm angegeben wurde" -#: core/app_settings.py:799 +#: core/app_settings.py:830 msgid "LDAP" msgstr "LDAP" -#: core/checks/settings_checks.py:6 +#: core/checks/settings_checks.py:7 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." -msgstr "Sie haben USE_TZ auf False gesetzt. Dies könnte zu Problemen beim Wechsel zwischen Sommer- und Winterzeit führen (z.B. das Auftauchen derselben lokalen Zeit zweimal aufgrund der Zeitumstellung)." +msgstr "" +"Sie haben USE_TZ auf False gesetzt. Dies könnte zu Problemen beim Wechsel " +"zwischen Sommer- und Winterzeit führen (z.B. das Auftauchen derselben " +"lokalen Zeit zweimal aufgrund der Zeitumstellung)." -#: core/checks/settings_checks.py:9 +#: core/checks/settings_checks.py:11 msgid "Set `USE_TZ = True` in settings.py" msgstr "Setze 'USE_TZ = True' in settings.py" @@ -2182,31 +2321,31 @@ msgstr "Platzhalter" msgid "Missing 2FA verification." msgstr "Fehlende 2FA-Verifizierung." -#: core/forms.py:40 +#: core/forms.py:35 msgid "Old password" msgstr "Altes Passwort" -#: core/forms.py:44 +#: core/forms.py:40 msgid "New password" msgstr "Neues Passwort" -#: core/forms.py:76 +#: core/forms.py:79 msgid "Old password mismatchs" msgstr "Altes Passwort stimmt nicht überein" -#: core/forms.py:89 +#: core/forms.py:92 msgid "Passwords mismatch" msgstr "Passwörter stimmen nicht überein" -#: core/forms.py:118 +#: core/forms.py:124 msgid "Enable API access" msgstr "API Zugriff aktivieren" -#: core/forms.py:152 +#: core/forms.py:170 msgid "Verification code" msgstr "Bestätigungscode" -#: core/forms.py:163 +#: core/forms.py:181 msgid "Invalid code" msgstr "Ungültiger Code" @@ -2223,20 +2362,20 @@ msgstr "verändert" msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s der Identität %(user)s" -#: core/handlers.py:63 +#: core/handlers.py:64 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s von " -#: core/handlers.py:65 +#: core/handlers.py:67 msgid "deleted" msgstr "entfernt" -#: core/handlers.py:69 +#: core/handlers.py:71 msgid "user {}" msgstr "Benutzer {}" -#: core/handlers.py:71 +#: core/handlers.py:73 msgid "management command" msgstr "Administrationsbefehl" @@ -2244,137 +2383,140 @@ msgstr "Administrationsbefehl" msgid "You can't delete your own account" msgstr "Sie können Ihr eigenes Konto nicht entfernen" -#: core/handlers.py:131 +#: core/handlers.py:128 msgid "One or more updates are available" msgstr "Eine oder mehrere Aktualisierungen sind verfügbar" -#: core/management/commands/communicate_with_public_api.py:44 +#: core/management/commands/communicate_with_public_api.py:42 msgid "[modoboa] Update(s) available" msgstr "[modoboa] Update(s) verfügbar" -#: core/models.py:52 +#: core/models.py:55 msgid "Allow mailboxes access" msgstr "Erlaube den Postfach-Zugriff" -#: core/models.py:54 +#: core/models.py:57 msgid "Allow this administrator to access user mailboxes" msgstr "Erlaubt dem Administrator auf Benutzer-Postfächer zuzugreifen" -#: core/models.py:57 +#: core/models.py:59 core/templates/core/user_security.html:119 msgid "password" msgstr "Passwort" -#: core/models.py:60 +#: core/models.py:62 msgid "language" msgstr "Sprache" -#: core/models.py:63 +#: core/models.py:66 msgid "Prefered language to display pages." msgstr "Bevorzugte Anzeigesprache für Seiten." -#: core/models.py:72 +#: core/models.py:75 msgid "An alternative e-mail address, can be used for recovery needs." -msgstr "Eine alternative E-Mail-Adresse welche Wiederherstellungszwecken dient." +msgstr "" +"Eine alternative E-Mail-Adresse welche Wiederherstellungszwecken dient." -#: core/models.py:126 +#: core/models.py:131 msgid "Failed to update password: LDAP module not installed" msgstr "Konnte Passwort nicht aktualisieren: LDAP-Modul nicht installiert" -#: core/models.py:159 +#: core/models.py:166 policyd/core.py:106 msgid "account" msgstr "Konto" -#: core/models.py:286 +#: core/models.py:294 msgid "Unknown" msgstr "Unbekannt" -#: core/models.py:328 +#: core/models.py:337 msgid "You can't import an account with a role greater than yours" -msgstr "Sie können kein Konto mit einer höheren Rolle als Ihrer eigenen importieren" +msgstr "" +"Sie können kein Konto mit einer höheren Rolle als Ihrer eigenen importieren" -#: core/models.py:343 +#: core/models.py:352 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Der normale Benutzer '%s' muss eine gültige E-Mail-Adresse besitzen" -#: core/models.py:348 +#: core/models.py:359 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "Benutzername und E-Mail für '%s' dürfen sich nicht unterscheiden" -#: core/password_validation.py:24 +#: core/password_validation.py:25 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Das Passwort muss mindestens {} Ziffer enthalten." msgstr[1] "Das Passwort muss mindestens {} Ziffern enthalten." -#: core/password_validation.py:34 +#: core/password_validation.py:37 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Das Passwort muss mindestens {} Kleinbuchstaben enthalten." msgstr[1] "Das Passwort muss mindestens {} Kleinbuchstaben enthalten." -#: core/password_validation.py:45 +#: core/password_validation.py:49 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Das Passwort muss mindestens {} Großbuchstaben enthalten." msgstr[1] "Das Passwort muss mindestens {} Großbuchstaben enthalten." -#: core/password_validation.py:57 +#: core/password_validation.py:62 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Das Passwort muss mindestens {} Sonderzeichen enthalten." msgstr[1] "Das Passwort muss mindestens {} Sonderzeichen enthalten." -#: core/password_validation.py:65 +#: core/password_validation.py:70 msgid "Your password must contain a combination of different character types." -msgstr "Ihr Passwort muss eine Kombination verschiedener Zeichentypen enthalten." +msgstr "" +"Ihr Passwort muss eine Kombination verschiedener Zeichentypen enthalten." -#: core/sms_backends/ovh.py:21 core/sms_backends/ovh.py:103 +#: core/sms_backends/ovh.py:21 core/sms_backends/ovh.py:102 msgid "API endpoint" msgstr "API-Endpunkt" -#: core/sms_backends/ovh.py:24 core/sms_backends/ovh.py:65 +#: core/sms_backends/ovh.py:24 core/sms_backends/ovh.py:62 msgid "OVH Europe" msgstr "OVH Europa" -#: core/sms_backends/ovh.py:25 core/sms_backends/ovh.py:66 +#: core/sms_backends/ovh.py:25 core/sms_backends/ovh.py:63 msgid "OVH US" msgstr "OVH US" -#: core/sms_backends/ovh.py:26 core/sms_backends/ovh.py:67 +#: core/sms_backends/ovh.py:26 core/sms_backends/ovh.py:64 msgid "OVH North-America" msgstr "OVH Nordamerika" -#: core/sms_backends/ovh.py:27 core/sms_backends/ovh.py:68 +#: core/sms_backends/ovh.py:27 core/sms_backends/ovh.py:65 msgid "So you Start Europe" msgstr "So you Start Europa" -#: core/sms_backends/ovh.py:28 core/sms_backends/ovh.py:69 +#: core/sms_backends/ovh.py:28 core/sms_backends/ovh.py:66 msgid "So you Start North America" msgstr "So you Start Amerika" -#: core/sms_backends/ovh.py:29 core/sms_backends/ovh.py:70 +#: core/sms_backends/ovh.py:29 core/sms_backends/ovh.py:67 msgid "Kimsufi Europe" msgstr "Kimsufi Europa" -#: core/sms_backends/ovh.py:30 core/sms_backends/ovh.py:71 +#: core/sms_backends/ovh.py:30 core/sms_backends/ovh.py:68 msgid "Kimsufi North America" msgstr "Kimsufi Nordamerika" -#: core/sms_backends/ovh.py:37 core/sms_backends/ovh.py:107 +#: core/sms_backends/ovh.py:36 core/sms_backends/ovh.py:109 msgid "Application key" msgstr "Applikationsschlüssel" -#: core/sms_backends/ovh.py:44 +#: core/sms_backends/ovh.py:41 msgid "Application secret" msgstr "Applikationsgeheimnis" -#: core/sms_backends/ovh.py:52 core/sms_backends/ovh.py:116 +#: core/sms_backends/ovh.py:49 core/sms_backends/ovh.py:124 msgid "Consumer key" msgstr "Verbraucherschlüssel" -#: core/sms_backends/ovh.py:111 +#: core/sms_backends/ovh.py:116 msgid "Appication secret" msgstr "Anwendungspasswort" @@ -2402,7 +2544,9 @@ msgstr "Neuste Nachrichten" msgid "" "Visit the official " "weblog for more information." -msgstr "Besuchen Sie den offiziellen Weblog für weitere Informationen." +msgstr "" +"Besuchen Sie den offiziellen Weblog für weitere Informationen." #: core/templates/core/api_access.html:3 msgid "API access" @@ -2417,7 +2561,9 @@ msgstr "Verwalten Sie Ihren Zugriff auf die Modoboa API" msgid "" "A documentation of the API is available here." -msgstr "Eine Dokumentation der API ist hier verfügbar." +msgstr "" +"Eine Dokumentation der API ist hier verfügbar." #: core/templates/core/api_access.html:14 msgid "API access token" @@ -2428,7 +2574,7 @@ msgstr "API access token" msgid "Hello %(user)s." msgstr "Hallo %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:58 msgid "Information" msgstr "Information" @@ -2442,7 +2588,9 @@ msgstr "Eine oder mehrere Aktualisierungen sind verfügbar!" #: core/templates/core/information.html:6 msgid "Check the following list to find the component(s) that can be updated." -msgstr "Überprüfen Sie die folgende Liste auf Komponenten, die aktualisiert werden können." +msgstr "" +"Überprüfen Sie die folgende Liste auf Komponenten, die aktualisiert werden " +"können." #: core/templates/core/information.html:10 msgid "Applications" @@ -2460,7 +2608,7 @@ msgstr "Aktuellste Version" msgid "Active users" msgstr "Aktive Benutzer" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:63 msgid "Logs" msgstr "Logs" @@ -2483,10 +2631,14 @@ msgid "" msgid_plural "" "\n" " The following updates are available:\n" -msgstr[0] "\nDie folgende Aktualisierung ist verfügbar:\n" -msgstr[1] "\nDie folgenden Aktualisierungen sind verfügbar:\n" +msgstr[0] "" +"\n" +"Die folgende Aktualisierung ist verfügbar:\n" +msgstr[1] "" +"\n" +"Die folgenden Aktualisierungen sind verfügbar:\n" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:70 msgid "Parameters" msgstr "Parameter" @@ -2503,12 +2655,12 @@ msgstr "Speichern" msgid "Modoboa settings" msgstr "Modoboa-Einstellungen" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:95 msgid "Settings" msgstr "Einstellungen" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:120 +#: core/templatetags/core_tags.py:139 msgid "Preferences" msgstr "Einstellungen" @@ -2528,7 +2680,7 @@ msgstr "Aktualisieren Sie Ihre persönlichen Daten" msgid "Click here to update your password" msgstr "Hier klicken um das Passwort zu aktualisieren" -#: core/templates/core/user_security.html:2 core/templatetags/core_tags.py:124 +#: core/templates/core/user_security.html:2 core/templatetags/core_tags.py:145 msgid "Security" msgstr "Sicherheit" @@ -2538,9 +2690,11 @@ msgstr "Zwei-Faktor-Authentifizierung" #: core/templates/core/user_security.html:17 msgid "" -"Install a soft token authenticator like FreeOTP or Google Authenticator from" -" your application repository and use that app to scan this QR code." -msgstr "Installiere ein soft-token Authenticator, wie FreeOTP oder Google Authenticator vom Appstore und scannen Sie den QR-Code." +"Install a soft token authenticator like FreeOTP or Google Authenticator from " +"your application repository and use that app to scan this QR code." +msgstr "" +"Installiere ein soft-token Authenticator, wie FreeOTP oder Google " +"Authenticator vom Appstore und scannen Sie den QR-Code." #: core/templates/core/user_security.html:25 msgid "Pin code" @@ -2553,7 +2707,9 @@ msgstr "Registrieren" #: core/templates/core/user_security.html:33 msgid "" "Congratulations! Two-Factor Authentication is now enabled for your account." -msgstr "Glückwunsch! Die Zwei-Faktor-Authentifizierung ist nun für diesen Account aktiviert." +msgstr "" +"Glückwunsch! Die Zwei-Faktor-Authentifizierung ist nun für diesen Account " +"aktiviert." #: core/templates/core/user_security.html:38 #: core/templates/core/user_security.html:89 @@ -2562,16 +2718,28 @@ msgid "" "access to your account, in case you lose your phone for example. Make sure " "to save them in a safe place, otherwise you won't be able to access your " "account anymore." -msgstr "Die folgenden Wiederherstellungscodes können einmalig benutzt werden, um den Zugriff auf ihr Konto wiederherzustellen, wenn sie zum Beispiel ihr Mobiltelefon verlieren. Achten sie darauf diese sicher aufzubewahren, sonst werden sie keine Möglichkeit mehr haben auf den Account zuzugreifen" +msgstr "" +"Die folgenden Wiederherstellungscodes können einmalig benutzt werden, um den " +"Zugriff auf ihr Konto wiederherzustellen, wenn sie zum Beispiel ihr " +"Mobiltelefon verlieren. Achten sie darauf diese sicher aufzubewahren, sonst " +"werden sie keine Möglichkeit mehr haben auf den Account zuzugreifen" #: core/templates/core/user_security.html:53 msgid "Two-Factor Authentication is enabled for your account." msgstr "Zwei-Faktor-Authentifizierung ist für diesen Account aktiviert." +#: core/templates/core/user_security.html:57 +msgid "This will invalidate your registered application." +msgstr "" + #: core/templates/core/user_security.html:58 msgid "Disable 2FA" msgstr "Deaktiviere 2-Faktor-Authentifizierung" +#: core/templates/core/user_security.html:60 +msgid "This will regenerate your tokens." +msgstr "" + #: core/templates/core/user_security.html:61 msgid "Reset recovery codes" msgstr "Setze Wiederherstellungscodes zurück" @@ -2580,7 +2748,10 @@ msgstr "Setze Wiederherstellungscodes zurück" msgid "" "Two-Factor Authentication (2FA) is not yet activated for your account. " "Enabling this feature will increase your account's security." -msgstr "Zwei-Faktor-Authentifizierung (2FA) ist noch nicht für diesen Account aktiviert.\nAktiviere dieses Feature, um die Account-Sicherheit zu erhöhen." +msgstr "" +"Zwei-Faktor-Authentifizierung (2FA) ist noch nicht für diesen Account " +"aktiviert.\n" +"Aktiviere dieses Feature, um die Account-Sicherheit zu erhöhen." #: core/templates/core/user_security.html:73 msgid "Enable 2FA" @@ -2594,67 +2765,76 @@ msgstr "Neue Wiederherstellungscodes" msgid "Here are your new recovery codes. " msgstr "Hier sind Ihre neuen Wiederherstellungscodes." +#: core/templates/core/user_security.html:118 +#, fuzzy +#| msgid "Crypt passwords" +msgid "Confirm your password" +msgstr "Passwörter verschlüsseln" + #: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:102 +#: core/templatetags/core_tags.py:110 msgid "Logout" msgstr "Logout" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:154 msgid "API" msgstr "API" -#: core/utils.py:32 +#: core/utils.py:33 msgid "The core part of Modoboa" msgstr "Der Kern von Modoboa" -#: core/views/admin.py:43 +#: core/views/admin.py:42 msgid "Parameters saved" msgstr "Parameter gespeichert" -#: core/views/auth.py:100 +#: core/views/auth.py:101 msgid "Your username and password didn't match. Please try again." -msgstr "Ihr Benutzername und Passwort stimmen nicht überein. Bitte versuchen Sie es noch einmal." +msgstr "" +"Ihr Benutzername und Passwort stimmen nicht überein. Bitte versuchen Sie es " +"noch einmal." -#: core/views/auth.py:135 +#: core/views/auth.py:144 msgid "User '{}' successfully logged out" msgstr "Benutzer '{}' erfolgreich abgemeldet" -#: core/views/user.py:59 +#: core/views/user.py:55 msgid "Profile updated" msgstr "Profil aktualisiert" -#: core/views/user.py:88 +#: core/views/user.py:89 msgid "Preferences saved" msgstr "Einstellungen gespeichert" -#: core/views/user.py:110 +#: core/views/user.py:118 msgid "Access updated" msgstr "Zugriff aktualisiert" -#: dmarc/forms.py:38 dmarc/forms.py:51 +#: dmarc/forms.py:36 dmarc/forms.py:50 msgid "DNS settings" msgstr "DNS Einstellungen" -#: dmarc/forms.py:41 dmarc/forms.py:54 +#: dmarc/forms.py:39 dmarc/forms.py:56 msgid "Enable reverse lookups" msgstr "Reverse-Lookups aktivieren" -#: dmarc/forms.py:44 dmarc/forms.py:56 +#: dmarc/forms.py:41 dmarc/forms.py:58 msgid "Enable reverse DNS lookups (reports will be longer to display)" -msgstr "Reverse-DNS-Lookups aktivieren (Die Anzeige von Berichten dauert länger)" +msgstr "" +"Reverse-DNS-Lookups aktivieren (Die Anzeige von Berichten dauert länger)" -#: dmarc/forms.py:69 dmarc/forms.py:71 +#: dmarc/forms.py:74 dmarc/forms.py:78 msgid "DMARC" msgstr "DMARC" -#: dmarc/handlers.py:20 +#: dmarc/handlers.py:21 msgid "Show DMARC report for {}" msgstr "DMARC-Bericht für {} anzeigen" -#: dmarc/lib.py:299 dmarc/templatetags/dmarc_tags.py:59 dmarc/views.py:123 +#: dmarc/lib.py:294 dmarc/templatetags/dmarc_tags.py:67 dmarc/views.py:120 msgid "Not resolved" msgstr "Nicht aufgelöst" @@ -2690,11 +2870,11 @@ msgstr "Temporärer Fehler" msgid "Permanent error" msgstr "Permanenter Fehler" -#: dmarc/models.py:25 +#: dmarc/models.py:24 msgid "Policy" msgstr "Richtlinie" -#: dmarc/models.py:29 +#: dmarc/models.py:26 msgid "Soft failure" msgstr "Schwacher Fehler" @@ -2766,95 +2946,95 @@ msgstr "Weiterleitungen mit ARC" msgid "Unknown sources / Threats" msgstr "Unbekannte Quellen / Bedrohungen" -#: dnstools/lib.py:78 +#: dnstools/lib.py:82 msgid "Wrong ip4 mechanism syntax" msgstr "Falsche Syntax des IP4-Mechanismus" -#: dnstools/lib.py:82 +#: dnstools/lib.py:86 msgid "Wrong IPv4 address format" msgstr "Falsches IPv4-Adressformat" -#: dnstools/lib.py:88 +#: dnstools/lib.py:92 msgid "Wrong ip6 mechanism syntax" msgstr "Falsche Syntax des IP6-Mechanismus" -#: dnstools/lib.py:93 +#: dnstools/lib.py:97 msgid "Wrong IPv6 address format" msgstr "Falsches IPv6-Adressformat" -#: dnstools/lib.py:108 dnstools/lib.py:134 +#: dnstools/lib.py:111 dnstools/lib.py:136 msgid "Invalid syntax for {} mechanism" msgstr "Ungültige Syntax für {}-Mechanismus" -#: dnstools/lib.py:110 +#: dnstools/lib.py:113 msgid "Invalid mask found {}" msgstr "Ungültige Maske gefunden {}" -#: dnstools/lib.py:155 +#: dnstools/lib.py:157 msgid "Not an SPF record" msgstr "Kein SPF-Eintrag" -#: dnstools/lib.py:177 +#: dnstools/lib.py:179 msgid "Unknown mechanism {}" msgstr "Unbekannter Mechanismus {}" -#: dnstools/lib.py:179 +#: dnstools/lib.py:181 msgid "Unknown modifier {}" msgstr "Unbekannter Modifikator {}" -#: dnstools/lib.py:182 +#: dnstools/lib.py:184 msgid "Duplicate modifier {} found" msgstr "Doppelter Modifikator {} gefunden" -#: dnstools/lib.py:186 +#: dnstools/lib.py:188 msgid "No mechanism found" msgstr "Kein Mechanismus gefunden" -#: dnstools/lib.py:193 +#: dnstools/lib.py:195 msgid "Not a valid DKIM record" msgstr "Kein gültiger DKIM-Eintrag" -#: dnstools/lib.py:201 dnstools/lib.py:254 +#: dnstools/lib.py:203 dnstools/lib.py:256 msgid "Invalid tag {}" msgstr "Ungültiger Tag {}" -#: dnstools/lib.py:206 +#: dnstools/lib.py:208 msgid "No key found in record" msgstr "Kein Schlüssel im Datensatz gefunden" -#: dnstools/lib.py:213 +#: dnstools/lib.py:215 msgid "Wrong value {} for tag {}" msgstr "Falscher Wert {} für Tag {}" -#: dnstools/lib.py:228 +#: dnstools/lib.py:230 msgid "Wrong value {} for tag {}:" msgstr "Falscher Wert {} für Tag {}:" -#: dnstools/lib.py:232 +#: dnstools/lib.py:234 msgid " not an integer" msgstr "Keine ganze Zahl" -#: dnstools/lib.py:235 +#: dnstools/lib.py:236 msgid " less than {}" msgstr "kleiner als {}" -#: dnstools/lib.py:238 +#: dnstools/lib.py:239 msgid " greater than {}" msgstr "größer als {}" -#: dnstools/lib.py:246 +#: dnstools/lib.py:248 msgid "Not a valid DMARC record" msgstr "Kein gültiger DMARC-Eintrag" -#: dnstools/lib.py:257 +#: dnstools/lib.py:259 msgid "Unknown tag {}" msgstr "Unbekanntes Tag {}" -#: dnstools/lib.py:262 +#: dnstools/lib.py:264 msgid "Missing required p tag" msgstr "Erforderliches p-Tag fehlt" -#: dnstools/models.py:75 +#: dnstools/models.py:78 msgid "Public key mismatchs" msgstr "Öffentlicher Schlüssel stimmt nicht überein" @@ -2884,9 +3064,11 @@ msgstr "Ein DNS-Eintrag wurde gefunden, aber seine Syntax ist ungültig:" #: dnstools/templates/dnstools/domain_dns_configuration.html:7 msgid "" -"Here is an example of DNS configuration (bind format). Replace value between" -" [ ] by the appropriate ones." -msgstr "Hier ist ein Beispiel für die DNS-Konfiguration (Bind-Format). Ersetzen Sie den Wert zwischen [ ] durch die entsprechenden Werte." +"Here is an example of DNS configuration (bind format). Replace value between " +"[ ] by the appropriate ones." +msgstr "" +"Hier ist ein Beispiel für die DNS-Konfiguration (Bind-Format). Ersetzen Sie " +"den Wert zwischen [ ] durch die entsprechenden Werte." #: dnstools/templates/dnstools/domain_dns_configuration.html:15 msgid "IP address of your Modoboa server" @@ -2901,7 +3083,7 @@ msgstr "Automatische Konfiguration" msgid "hostname of your automx server" msgstr "Hostname Ihres Automx-Servers" -#: dnstools/views.py:36 +#: dnstools/views.py:35 msgid "{} record of {}" msgstr "{} Eintrag von {}" @@ -2909,144 +3091,154 @@ msgstr "{} Eintrag von {}" msgid "Auto configuration records for {}" msgstr "Automatische Konfigurationseinträge für {}" -#: dnstools/views.py:84 +#: dnstools/views.py:80 msgid "DNS configuration for {}" msgstr "DNS-Konfiguration für {}" -#: imap_migration/api/v2/serializers.py:52 +#: imap_migration/api/v2/serializers.py:117 msgid "Access denied" msgstr "Zugriff verweigert" -#: imap_migration/app_settings.py:17 imap_migration/app_settings.py:67 +#: imap_migration/app_settings.py:23 imap_migration/app_settings.py:102 msgid "Enable IMAP Migration" msgstr "IMAP-Migration aktivieren" -#: imap_migration/app_settings.py:19 imap_migration/app_settings.py:69 +#: imap_migration/app_settings.py:24 imap_migration/app_settings.py:104 msgid "Enable IMAP Migration." msgstr "IMAP-Migration aktivieren." -#: imap_migration/app_settings.py:24 +#: imap_migration/app_settings.py:34 msgid "OfflineIMAP" msgstr "OfflineIMAP" -#: imap_migration/app_settings.py:27 imap_migration/app_settings.py:75 +#: imap_migration/app_settings.py:40 imap_migration/app_settings.py:110 msgid "Concurrent sync jobs" msgstr "Gleichzeitige Synchronisierungsaufgaben" -#: imap_migration/app_settings.py:29 imap_migration/app_settings.py:77 +#: imap_migration/app_settings.py:42 imap_migration/app_settings.py:112 msgid "The maximum number of concurrent synchronization jobs" msgstr "Die maximale Anzahl von gleichzeitigen Synchronisierungsaufgaben" -#: imap_migration/app_settings.py:34 +#: imap_migration/app_settings.py:53 msgid "OfflineIMAP Filter" msgstr "OfflineIMAP Filter" -#: imap_migration/app_settings.py:37 imap_migration/app_settings.py:83 +#: imap_migration/app_settings.py:59 imap_migration/app_settings.py:118 msgid "Create Folders" msgstr "Erstelle Ordner" -#: imap_migration/app_settings.py:39 imap_migration/app_settings.py:85 +#: imap_migration/app_settings.py:61 imap_migration/app_settings.py:120 msgid "Allow Creation of missing folders during sync" -msgstr "Erlaube die Erstellung von fehlenden Ordnern während der Synchronisation" +msgstr "" +"Erlaube die Erstellung von fehlenden Ordnern während der Synchronisation" -#: imap_migration/app_settings.py:42 imap_migration/app_settings.py:90 +#: imap_migration/app_settings.py:68 imap_migration/app_settings.py:125 msgid "Folder Filter Exclusions" msgstr "Ordnerfilter Ausschlüsse" -#: imap_migration/app_settings.py:44 imap_migration/app_settings.py:93 +#: imap_migration/app_settings.py:70 imap_migration/app_settings.py:128 msgid "" "Use a regular expression to explicitly include folders in sync. Example: " "^Trash$|Del" -msgstr "Benutze eine RegExp, um explizit Odner in die Synchronisation einzubeziehen. Beispiel: ^Trash$|Del" +msgstr "" +"Benutze eine RegExp, um explizit Odner in die Synchronisation einzubeziehen. " +"Beispiel: ^Trash$|Del" -#: imap_migration/app_settings.py:48 imap_migration/app_settings.py:100 +#: imap_migration/app_settings.py:78 imap_migration/app_settings.py:135 msgid "Folder Filter Inclusions" msgstr "Ordnerfilter einbeziehen" -#: imap_migration/app_settings.py:50 imap_migration/app_settings.py:103 +#: imap_migration/app_settings.py:80 imap_migration/app_settings.py:138 msgid "" "A comma seperated list of folders to explicitly include in sync even if " -"filtered by the Folder Filter Exclusions. Example: debian.user, " -"debian.personal " -msgstr "Eine kommaseparierte Liste von Ordnern, die explizit in die Synchronisierung einbezogen werden sollen, auch wenn sie durch die Ordnerfilter-Ausschlüsse gefiltert wurden. Beispiel: debian.user, debian.personal " +"filtered by the Folder Filter Exclusions. Example: debian.user, debian." +"personal " +msgstr "" +"Eine kommaseparierte Liste von Ordnern, die explizit in die Synchronisierung " +"einbezogen werden sollen, auch wenn sie durch die Ordnerfilter-Ausschlüsse " +"gefiltert wurden. Beispiel: debian.user, debian.personal " -#: imap_migration/app_settings.py:72 +#: imap_migration/app_settings.py:107 msgid "OfflineIMAP settings" msgstr "OfflineIMAP-Einstellungen" -#: imap_migration/app_settings.py:80 +#: imap_migration/app_settings.py:115 msgid "OfflineIMAP Filter settings" msgstr "OfflineIMAP Filter Einstellungen" -#: imap_migration/apps.py:18 imap_migration/apps.py:20 +#: imap_migration/apps.py:18 imap_migration/apps.py:23 msgid "IMAP Migration" msgstr "IMAP-Migration" -#: imap_migration/auth_backends.py:46 +#: imap_migration/auth_backends.py:49 #, python-format msgid "Connection to IMAP server failed: %s" msgstr "Verbindung zu IMAP-Server fehlgeschlagen: %s" -#: imap_migration/checks.py:11 +#: imap_migration/checks.py:12 msgid "" "Automatic domain/mailbox creation is disabled which means IMAP " "authentication won't work." -msgstr "Automatische Domain/Mailbox-Erstellung ist deaktiviert, daher funktioniert die IMAP-Authentifizierung nicht." +msgstr "" +"Automatische Domain/Mailbox-Erstellung ist deaktiviert, daher funktioniert " +"die IMAP-Authentifizierung nicht." -#: imap_migration/checks.py:13 +#: imap_migration/checks.py:16 msgid "" "Go to the online parameters panel (admin tab) and activate this feature." -msgstr "Wechseln Sie zu den Online Parametern (Admin Tab) und aktivieren Sie diese Funktion." +msgstr "" +"Wechseln Sie zu den Online Parametern (Admin Tab) und aktivieren Sie diese " +"Funktion." #: imap_migration/templates/imap_migration/index.html:6 msgid "IMAP migration" msgstr "IMAP-Migration" -#: ldapsync/lib.py:84 +#: ldapsync/lib.py:82 msgid "Failed to create LDAP account: {}" msgstr "LDAP-Account konnte nicht angelegt werden: {}" -#: ldapsync/lib.py:124 +#: ldapsync/lib.py:121 msgid "Failed to update LDAP account: {}" msgstr "LDAP-Account konnte nicht aktualisiert werden: {}" -#: ldapsync/lib.py:138 +#: ldapsync/lib.py:134 msgid "Failed to delete LDAP account: {}" msgstr "LDAP-Account konnte nicht gelöscht werden: {}" -#: ldapsync/lib.py:149 +#: ldapsync/lib.py:141 msgid "Failed to disable LDAP account: {}" msgstr "LDAP-Account konnte nicht deaktiviert werden: {}" -#: lib/api_client.py:36 lib/api_client.py:72 lib/api_client.py:87 -#: lib/api_client.py:92 +#: lib/api_client.py:35 lib/api_client.py:69 lib/api_client.py:83 +#: lib/api_client.py:87 #, python-format msgid "Failed to communicate with public API: %s" msgstr "Die Kommunikation mit der öffentlichen API ist fehlgeschlagen: %s" -#: lib/db_utils.py:23 +#: lib/db_utils.py:22 #, python-format msgid "Connection to database %s not configured" msgstr "Verbindung zu Datenbank %s nicht konfiguriert" -#: lib/email_utils.py:143 lib/email_utils.py:363 +#: lib/email_utils.py:139 lib/email_utils.py:350 msgid "unable to determine encoding of string" msgstr "Kodierung der Zeichenkette konnte nicht bestimmt werden" -#: lib/exceptions.py:67 +#: lib/exceptions.py:83 #, python-format msgid "Permission denied: %s" msgstr "Zugriff verweigert: %s" -#: lib/exceptions.py:68 +#: lib/exceptions.py:84 msgid "Permission denied" msgstr "Zugriff verweigert" -#: lib/fields.py:15 lib/validators.py:14 +#: lib/fields.py:14 lib/validators.py:13 msgid "Enter a valid domain name" msgstr "Geben Sie einen gültigen Domain-Namen an" -#: lib/fields.py:44 lib/fields.py:58 +#: lib/fields.py:41 lib/fields.py:54 msgid "Enter a valid email address." msgstr "Geben Sie eine gültige E-Mail-Adresse ein." @@ -3056,153 +3248,176 @@ msgstr "Geben Sie eine gültige E-Mail-Adresse ein." msgid "Submit" msgstr "Abschicken" -#: lib/ldap_utils.py:129 +#: lib/ldap_utils.py:126 msgid "Failed to update password: {}" msgstr "Ändern des Passworts fehlgeschlagen: {}" -#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:120 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Betreff" -#: limits/app_settings.py:17 limits/app_settings.py:154 +#: limits/app_settings.py:17 limits/app_settings.py:147 msgid "Default per-admin limits" msgstr "Standardgrenzen je Admin" -#: limits/app_settings.py:20 limits/app_settings.py:157 +#: limits/app_settings.py:20 limits/app_settings.py:153 msgid "Enable per-admin limits" msgstr "Aktiviere Grenzen je Admin" -#: limits/app_settings.py:22 limits/app_settings.py:158 +#: limits/app_settings.py:22 limits/app_settings.py:154 msgid "Enable or disable per-admin limits" msgstr "Aktiviere oder deaktiviere Grenzen je Admin" -#: limits/app_settings.py:26 limits/app_settings.py:97 -#: limits/app_settings.py:161 limits/app_settings.py:220 -#: limits/constants.py:24 limits/constants.py:54 +#: limits/app_settings.py:26 limits/app_settings.py:91 +#: limits/app_settings.py:160 limits/app_settings.py:245 limits/constants.py:47 +#: limits/constants.py:101 msgid "Domain admins" msgstr "Domain-Administratoren" -#: limits/app_settings.py:29 limits/app_settings.py:164 +#: limits/app_settings.py:29 limits/app_settings.py:163 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" -msgstr "Maximale Anzahl Domänenadministratoren, die ein neuer Administrator erstellen darf. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" +msgstr "" +"Maximale Anzahl Domänenadministratoren, die ein neuer Administrator " +"erstellen darf. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" -#: limits/app_settings.py:40 limits/app_settings.py:173 +#: limits/app_settings.py:39 limits/app_settings.py:175 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Maximale Anzahl an erlaubten Domänen für einen neuen Administrator. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" +msgstr "" +"Maximale Anzahl an erlaubten Domänen für einen neuen Administrator. (0 für " +"generelles Verbieten, -1 für unbeschränktes Erstellen)" -#: limits/app_settings.py:50 limits/app_settings.py:181 +#: limits/app_settings.py:48 limits/app_settings.py:186 msgid "" -"Maximum number of allowed domain aliases for a new administrator. (0 to deny" -" any creation, -1 to allow unlimited creations)" -msgstr "Maximale Anzahl an erlaubten Domänen-Alias für einen neuen Administrator. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" +"Maximum number of allowed domain aliases for a new administrator. (0 to deny " +"any creation, -1 to allow unlimited creations)" +msgstr "" +"Maximale Anzahl an erlaubten Domänen-Alias für einen neuen Administrator. (0 " +"für generelles Verbieten, -1 für unbeschränktes Erstellen)" -#: limits/app_settings.py:61 limits/app_settings.py:190 +#: limits/app_settings.py:58 limits/app_settings.py:198 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Maximale Anzahl an erlaubten Postfächern für einen neuen Administrator. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" +msgstr "" +"Maximale Anzahl an erlaubten Postfächern für einen neuen Administrator. (0 " +"für generelles Verbieten, -1 für unbeschränktes Erstellen)" -#: limits/app_settings.py:71 limits/app_settings.py:199 +#: limits/app_settings.py:67 limits/app_settings.py:210 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Maximale Anzahl an erlaubten Alias für einen neuen Administrator. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" +msgstr "" +"Maximale Anzahl an erlaubten Alias für einen neuen Administrator. (0 für " +"generelles Verbieten, -1 für unbeschränktes Erstellen)" -#: limits/app_settings.py:81 limits/app_settings.py:206 +#: limits/app_settings.py:76 limits/app_settings.py:220 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" -msgstr "Das Kontingent, das ein Wiederverkäufer zwischen den von ihm erstellten Domänen aufteilen kann. (0 bedeutet kein Kontingent)" +msgstr "" +"Das Kontingent, das ein Wiederverkäufer zwischen den von ihm erstellten " +"Domänen aufteilen kann. (0 bedeutet kein Kontingent)" -#: limits/app_settings.py:88 limits/app_settings.py:213 +#: limits/app_settings.py:82 limits/app_settings.py:232 msgid "Default per-domain limits" msgstr "Standardgrenzen je Domäne" -#: limits/app_settings.py:91 limits/app_settings.py:216 +#: limits/app_settings.py:85 limits/app_settings.py:238 msgid "Enable per-domain limits" msgstr "Aktiviere Grenzen je Domäne" -#: limits/app_settings.py:93 limits/app_settings.py:217 +#: limits/app_settings.py:87 limits/app_settings.py:239 msgid "Enable or disable per-domain limits" msgstr "Aktiviere oder deaktiviere Grenzen je Domäne" -#: limits/app_settings.py:100 limits/app_settings.py:223 +#: limits/app_settings.py:94 limits/app_settings.py:248 msgid "" -"Maximum number of allowed domain administrators for a new domain. (0 to deny" -" any creation, -1 to allow unlimited creations)" -msgstr "Maximale Anzahl der zulässigen Domänenadministratoren für eine neue Domäne. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" +"Maximum number of allowed domain administrators for a new domain. (0 to deny " +"any creation, -1 to allow unlimited creations)" +msgstr "" +"Maximale Anzahl der zulässigen Domänenadministratoren für eine neue Domäne. " +"(0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" -#: limits/app_settings.py:111 limits/app_settings.py:232 +#: limits/app_settings.py:104 limits/app_settings.py:260 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Maximale Anzahl der erlaubten Domänen-Aliase für eine neue Domain. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" +msgstr "" +"Maximale Anzahl der erlaubten Domänen-Aliase für eine neue Domain. (0 für " +"generelles Verbieten, -1 für unbeschränktes Erstellen)" -#: limits/app_settings.py:122 limits/app_settings.py:241 +#: limits/app_settings.py:114 limits/app_settings.py:272 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Maximale Anzahl der zulässigen Postfächer für eine neue Domäne. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" +msgstr "" +"Maximale Anzahl der zulässigen Postfächer für eine neue Domäne. (0 für " +"generelles Verbieten, -1 für unbeschränktes Erstellen)" -#: limits/app_settings.py:132 limits/app_settings.py:249 +#: limits/app_settings.py:123 limits/app_settings.py:283 msgid "" -"Maximum number of allowed aliases for a new domain. (0 to deny any creation," -" -1 to allow unlimited creations)" -msgstr "Maximale Anzahl der erlaubten Aliase für eine neue Domäne. (0 für generelles Verbieten, -1 für unbeschränktes Erstellen)" +"Maximum number of allowed aliases for a new domain. (0 to deny any creation, " +"-1 to allow unlimited creations)" +msgstr "" +"Maximale Anzahl der erlaubten Aliase für eine neue Domäne. (0 für generelles " +"Verbieten, -1 für unbeschränktes Erstellen)" -#: limits/apps.py:13 limits/apps.py:15 +#: limits/apps.py:13 limits/apps.py:17 msgid "Limits" msgstr "Grenzwerte" -#: limits/constants.py:10 +#: limits/constants.py:14 msgid "Maximum number of domains this user can create" msgstr "Maximale Anzahl Domains, die dieser Benutzer erstellen darf" -#: limits/constants.py:14 +#: limits/constants.py:23 msgid "Maximum number of domain aliases this user can create" msgstr "Maximale Anzahl Domain Aliase, die dieser Benutzer erstellen darf" -#: limits/constants.py:18 +#: limits/constants.py:32 msgid "Maximum number of mailboxes this user can create" msgstr "Maximale Anzahl Mailboxen, die dieser Benutzer erstellen darf" -#: limits/constants.py:21 +#: limits/constants.py:40 msgid "Maximum number of mailbox aliases this user can create" msgstr "Maximale Anzahl Mailbox-Aliase, die dieser Benutzer erstellen darf" -#: limits/constants.py:25 +#: limits/constants.py:49 msgid "Maximum number of domain administrators this user can create" msgstr "Maximale Anzahl Domains, die ein Administrator erstellen darf" -#: limits/constants.py:31 +#: limits/constants.py:60 msgid "Quota shared between domains of this reseller" -msgstr "Gemeinsame Nutzung des Kontingents durch die Domänen dieses Wiederverkäufers" +msgstr "" +"Gemeinsame Nutzung des Kontingents durch die Domänen dieses Wiederverkäufers" -#: limits/constants.py:42 +#: limits/constants.py:77 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Maximale Anzahl der für diese Domäne zulässigen Domänen-Aliase." -#: limits/constants.py:46 +#: limits/constants.py:85 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Maximale Anzahl von Postfächern, die für diese Domäne zulässig sind." -#: limits/constants.py:50 +#: limits/constants.py:93 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Maximale Anzahl der für diese Domäne zulässigen Mailbox-Aliase." -#: limits/constants.py:55 +#: limits/constants.py:102 msgid "Maximum number of domain admins allowed for this domain." -msgstr "Maximale Anzahl von Domänenadministratoren, die für diese Domäne zugelassen sind." +msgstr "" +"Maximale Anzahl von Domänenadministratoren, die für diese Domäne zugelassen " +"sind." -#: limits/forms.py:38 limits/forms.py:87 +#: limits/forms.py:38 limits/forms.py:88 msgid "Invalid limit" msgstr "Ungültiger Grenzwert" -#: limits/handlers.py:118 limits/handlers.py:154 +#: limits/handlers.py:118 limits/handlers.py:151 msgid "Resources" msgstr "Ressourcen" @@ -3215,11 +3430,13 @@ msgstr "%s: Grenze erreicht" msgid "Not enough resources" msgstr "Nicht ausreichend Ressourcen" -#: limits/lib.py:47 limits/models.py:47 +#: limits/lib.py:46 limits/models.py:46 msgid "You're not allowed to define unlimited values" -msgstr "Sie verfügen nicht über die erforderlichen Rechte, um unbegrenzte Werte anzugeben" +msgstr "" +"Sie verfügen nicht über die erforderlichen Rechte, um unbegrenzte Werte " +"anzugeben" -#: limits/models.py:57 limits/models.py:121 +#: limits/models.py:56 limits/models.py:119 msgid "unlimited" msgstr "unbegrenzt" @@ -3228,91 +3445,93 @@ msgstr "unbegrenzt" msgid "Resources usage" msgstr "Ressourcen-Verbrauch" -#: maillog/api/v2/serializers.py:36 +#: maillog/api/v2/serializers.py:35 msgid "You must provide start and end dates when period is custom" -msgstr "Sie müssen Anfangs- und Enddatum angeben, wenn der Zeitraum benutzerdefiniert ist." +msgstr "" +"Sie müssen Anfangs- und Enddatum angeben, wenn der Zeitraum " +"benutzerdefiniert ist." -#: maillog/forms.py:23 +#: maillog/apps.py:20 maillog/forms.py:23 msgid "Path to the log file" msgstr "Pfad zur Log-Datei" -#: maillog/forms.py:25 +#: maillog/apps.py:22 maillog/forms.py:25 msgid "Path to log file used to collect statistics" msgstr "Pfad zur Log-Datei, um Statistiken zu sammeln" -#: maillog/forms.py:30 +#: maillog/apps.py:29 maillog/forms.py:30 msgid "Directory to store RRD files" msgstr "Ablageverzeichnis für RRD-Dateien" -#: maillog/forms.py:33 +#: maillog/apps.py:31 maillog/forms.py:32 msgid "Path to directory where RRD files are stored" msgstr "Pfad zum Verzeichnis in dem die RRD-Dateien abgelegt werden" -#: maillog/forms.py:38 +#: maillog/apps.py:38 maillog/forms.py:37 msgid "Show greylisted messages" msgstr "Grey-gelistete E-Mails anzeigen" -#: maillog/forms.py:41 +#: maillog/apps.py:40 maillog/forms.py:40 msgid "Differentiate between hard and soft rejects (greylisting)" msgstr "Unterscheidung zwischen Hard- und Soft-Rejects (Greylisting)" -#: maillog/forms.py:59 maillog/handlers.py:22 +#: maillog/apps.py:58 maillog/apps.py:62 maillog/handlers.py:21 msgid "Statistics" msgstr "Statistiken" -#: maillog/graphics.py:93 +#: maillog/graphics.py:91 msgid "Failed to locate rrdtool binary." msgstr "RRDTool Binary konnte nicht gefunden werden" -#: maillog/graphics.py:170 +#: maillog/graphics.py:168 msgid "Average traffic (msgs/min)" msgstr "Durchschnittlicher Traffic (Nachrichten/min)" -#: maillog/graphics.py:173 +#: maillog/graphics.py:171 msgid "sent messages" msgstr "Gesendete Nachrichten" -#: maillog/graphics.py:174 +#: maillog/graphics.py:172 msgid "received messages" msgstr "Empfangene Nachrichten" -#: maillog/graphics.py:175 +#: maillog/graphics.py:173 msgid "bounced messages" msgstr "Zurückgeworfene Nachrichten" -#: maillog/graphics.py:176 +#: maillog/graphics.py:174 msgid "rejected messages" msgstr "Abgewiesene Nachrichten" -#: maillog/graphics.py:177 +#: maillog/graphics.py:175 msgid "virus messages" msgstr "Virus E-Mails" -#: maillog/graphics.py:178 +#: maillog/graphics.py:176 msgid "spam messages" msgstr "Spam E-Mails" -#: maillog/graphics.py:185 +#: maillog/graphics.py:183 msgid "greylisted messages" msgstr "Grey-gelistete E-Mails" -#: maillog/graphics.py:196 +#: maillog/graphics.py:200 msgid "Average normal traffic size (bytes/min)" msgstr "Durchschnittliche Traffic-Menge (Bytes/min)" -#: maillog/graphics.py:199 +#: maillog/graphics.py:203 msgid "received size" msgstr "Empfangsgröße" -#: maillog/graphics.py:201 +#: maillog/graphics.py:204 msgid "sent size" msgstr "Versendegröße" -#: maillog/graphics.py:209 +#: maillog/graphics.py:211 msgid "Mail traffic" msgstr "Mailverkehr" -#: maillog/graphics.py:253 +#: maillog/graphics.py:254 msgid "Average account creation (account/hour)" msgstr "Durchschnittlich erstelle Konten (Konten/Stunde)" @@ -3340,181 +3559,190 @@ msgstr "Antworten" msgid "No statistics available" msgstr "Keine Statistik-Daten verfügbar" -#: maillog/views.py:40 +#: maillog/views.py:39 msgid "Day" msgstr "Tag" -#: maillog/views.py:41 +#: maillog/views.py:40 msgid "Week" msgstr "Woche" -#: maillog/views.py:42 +#: maillog/views.py:41 msgid "Month" msgstr "Monat" -#: maillog/views.py:43 +#: maillog/views.py:42 msgid "Year" msgstr "Jahr" -#: maillog/views.py:44 +#: maillog/views.py:43 msgid "Custom" msgstr "Benutzerdefiniert" -#: maillog/views.py:64 +#: maillog/views.py:66 msgid "Unknown graphic set" msgstr "Unbekanntes graphisches Set" -#: maillog/views.py:69 +#: maillog/views.py:71 msgid "Unknown domain" msgstr "Unbekannte Domäne" -#: maillog/views.py:74 +#: maillog/views.py:76 msgid "Bad custom period" msgstr "Ungültiger individueller Zeitraum" -#: pdfcredentials/api/v2/serializers.py:31 pdfcredentials/app_settings.py:164 -#: pdfcredentials/documents.py:52 +#: pdfcredentials/api/v2/serializers.py:31 pdfcredentials/app_settings.py:236 +#: pdfcredentials/documents.py:60 msgid "Personal account information" msgstr "Persönliche Kontoinformationen" -#: pdfcredentials/api/v2/serializers.py:54 +#: pdfcredentials/api/v2/serializers.py:61 msgid "Directory is not writable" msgstr "Verzeichnis ist nicht beschreibbar" -#: pdfcredentials/api/v2/serializers.py:76 pdfcredentials/views.py:28 +#: pdfcredentials/api/v2/serializers.py:82 pdfcredentials/views.py:26 msgid "No document available for this user" msgstr "Kein Dokument für diesen Benutzer verfügbar" -#: pdfcredentials/app_settings.py:23 pdfcredentials/app_settings.py:126 +#: pdfcredentials/app_settings.py:29 pdfcredentials/app_settings.py:198 msgid "Enable PDF credentials" msgstr "PDF-Anmeldeinformationen aktivieren" -#: pdfcredentials/app_settings.py:25 pdfcredentials/app_settings.py:128 +#: pdfcredentials/app_settings.py:31 pdfcredentials/app_settings.py:200 msgid "Enabled PDF credentials document generation on account creation." -msgstr "Die Erstellung von PDF-Anmeldedokumenten bei der Kontoerstellung wurde aktiviert." +msgstr "" +"Die Erstellung von PDF-Anmeldedokumenten bei der Kontoerstellung wurde " +"aktiviert." -#: pdfcredentials/app_settings.py:30 pdfcredentials/app_settings.py:131 +#: pdfcredentials/app_settings.py:42 pdfcredentials/app_settings.py:203 msgid "Documents storage" msgstr "Dokumentenablage" -#: pdfcredentials/app_settings.py:33 pdfcredentials/app_settings.py:134 +#: pdfcredentials/app_settings.py:48 pdfcredentials/app_settings.py:206 msgid "Directory to save documents into" msgstr "Speicherpfad für Dokumente" -#: pdfcredentials/app_settings.py:35 pdfcredentials/app_settings.py:136 +#: pdfcredentials/app_settings.py:50 pdfcredentials/app_settings.py:208 msgid "Path to a directory where PDF documents will be saved" msgstr "Dateipfad in dem die PDF-Dokumente abgelegt werden" -#: pdfcredentials/app_settings.py:40 pdfcredentials/app_settings.py:139 +#: pdfcredentials/app_settings.py:61 pdfcredentials/app_settings.py:211 msgid "Security options" msgstr "Sicherheitseinstellungen" -#: pdfcredentials/app_settings.py:43 pdfcredentials/app_settings.py:142 +#: pdfcredentials/app_settings.py:67 pdfcredentials/app_settings.py:214 msgid "Delete documents after the first download" msgstr "Lösche Dokumente nach dem ersten Download" -#: pdfcredentials/app_settings.py:45 pdfcredentials/app_settings.py:145 +#: pdfcredentials/app_settings.py:69 pdfcredentials/app_settings.py:217 msgid "" "Automatically delete a document just after its first download from this " "interface" -msgstr "Löscht automatisch das Dokument, wenn es das erste Mal über dieses Oberfläche heruntergeladen wurde" +msgstr "" +"Löscht automatisch das Dokument, wenn es das erste Mal über dieses " +"Oberfläche heruntergeladen wurde" -#: pdfcredentials/app_settings.py:50 pdfcredentials/app_settings.py:151 +#: pdfcredentials/app_settings.py:78 pdfcredentials/app_settings.py:223 msgid "Generate documents only at account creation" msgstr "Erzeuge Dokumente nur wenn ein Konto angelegt wurde" -#: pdfcredentials/app_settings.py:52 pdfcredentials/app_settings.py:154 +#: pdfcredentials/app_settings.py:81 pdfcredentials/app_settings.py:226 msgid "" "Generate a new document only when a new account is created. If set to no, a " "new document will be created each time a password is updated." -msgstr "Erzeuge ein neues Dokument nur wenn ein neues Konto erstellt wurde. Wenn die Option auf Nein steht wird jedes Mal ein neues Dokument erstellt, wenn ein Passwort aktualisiert wurde." +msgstr "" +"Erzeuge ein neues Dokument nur wenn ein neues Konto erstellt wurde. Wenn die " +"Option auf Nein steht wird jedes Mal ein neues Dokument erstellt, wenn ein " +"Passwort aktualisiert wurde." -#: pdfcredentials/app_settings.py:60 pdfcredentials/app_settings.py:160 +#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:232 msgid "Customization options" msgstr "Individuell angepasste Optionen" -#: pdfcredentials/app_settings.py:63 pdfcredentials/app_settings.py:163 +#: pdfcredentials/app_settings.py:100 pdfcredentials/app_settings.py:235 msgid "Title" msgstr "Titel" -#: pdfcredentials/app_settings.py:64 pdfcredentials/app_settings.py:165 +#: pdfcredentials/app_settings.py:101 pdfcredentials/app_settings.py:237 msgid "The document's title" msgstr "Titel des Dokuments" -#: pdfcredentials/app_settings.py:67 pdfcredentials/app_settings.py:169 +#: pdfcredentials/app_settings.py:107 pdfcredentials/app_settings.py:241 msgid "Web panel url" msgstr "URL der Webanwendung" -#: pdfcredentials/app_settings.py:68 pdfcredentials/app_settings.py:170 +#: pdfcredentials/app_settings.py:108 pdfcredentials/app_settings.py:241 msgid "URL of the Modoboa web panel" msgstr "URL der Modoboa Webanwendung" -#: pdfcredentials/app_settings.py:71 pdfcredentials/app_settings.py:174 +#: pdfcredentials/app_settings.py:114 pdfcredentials/app_settings.py:245 msgid "Custom message" msgstr "Eigener Nachrichtentext" -#: pdfcredentials/app_settings.py:73 pdfcredentials/app_settings.py:176 +#: pdfcredentials/app_settings.py:116 pdfcredentials/app_settings.py:246 msgid "A custom message that will appear at the end of documents" msgstr "Eine eigene Nachricht, die am Ende des Dokuments angezeigt wird" -#: pdfcredentials/app_settings.py:77 pdfcredentials/app_settings.py:181 +#: pdfcredentials/app_settings.py:123 pdfcredentials/app_settings.py:251 msgid "Include mail client connection settings" msgstr "Verbindungseinstellungen für Mailprogramme einschließen" -#: pdfcredentials/app_settings.py:79 pdfcredentials/app_settings.py:184 +#: pdfcredentials/app_settings.py:125 pdfcredentials/app_settings.py:254 msgid "" "Include required SMTP and IMAP connection information to configure a mail " "client, a tablet or a phone" -msgstr "Erforderliche SMTP und IMAP Einstellungen zur Konfiguration von Mailprogramme, Tablets oder Telefonen" +msgstr "" +"Erforderliche SMTP und IMAP Einstellungen zur Konfiguration von " +"Mailprogramme, Tablets oder Telefonen" -#: pdfcredentials/app_settings.py:84 pdfcredentials/app_settings.py:190 -#: pdfcredentials/documents.py:107 +#: pdfcredentials/app_settings.py:133 pdfcredentials/app_settings.py:260 +#: pdfcredentials/documents.py:133 msgid "SMTP server address" msgstr "SMTP Serveradresse" -#: pdfcredentials/app_settings.py:86 pdfcredentials/app_settings.py:191 +#: pdfcredentials/app_settings.py:136 pdfcredentials/app_settings.py:261 msgid "Address of the SMTP server (hostname or IP)" msgstr "Adresse des SMTP-Servers (Hostname oder IP)" -#: pdfcredentials/app_settings.py:89 pdfcredentials/app_settings.py:195 -#: pdfcredentials/documents.py:108 +#: pdfcredentials/app_settings.py:143 pdfcredentials/app_settings.py:265 +#: pdfcredentials/documents.py:134 msgid "SMTP server port" msgstr "SMTP Server-Port" -#: pdfcredentials/app_settings.py:91 pdfcredentials/app_settings.py:197 +#: pdfcredentials/app_settings.py:145 pdfcredentials/app_settings.py:267 msgid "Listening port of the SMTP server" msgstr "Port, auf dem der SMTP-Server erreicht werden kann" -#: pdfcredentials/app_settings.py:94 pdfcredentials/app_settings.py:201 -#: pdfcredentials/documents.py:109 +#: pdfcredentials/app_settings.py:151 pdfcredentials/app_settings.py:271 +#: pdfcredentials/documents.py:135 msgid "SMTP connection security" msgstr "SMTP-Verbindungssicherheit" -#: pdfcredentials/app_settings.py:96 pdfcredentials/app_settings.py:111 -#: pdfcredentials/app_settings.py:204 pdfcredentials/app_settings.py:222 +#: pdfcredentials/app_settings.py:153 pdfcredentials/app_settings.py:179 +#: pdfcredentials/app_settings.py:274 pdfcredentials/app_settings.py:292 msgid "Connection security mechanism" msgstr "Mechanismus zur Verbindungssicherung" -#: pdfcredentials/app_settings.py:99 pdfcredentials/app_settings.py:208 -#: pdfcredentials/documents.py:110 +#: pdfcredentials/app_settings.py:159 pdfcredentials/app_settings.py:278 +#: pdfcredentials/documents.py:136 msgid "IMAP server address" msgstr "IMAP Serveradresse" -#: pdfcredentials/app_settings.py:101 pdfcredentials/app_settings.py:209 +#: pdfcredentials/app_settings.py:162 pdfcredentials/app_settings.py:279 msgid "Address of the IMAP server (hostname or IP)" msgstr "Adresse des IMAP-Servers (Hostname oder IP)" -#: pdfcredentials/app_settings.py:104 pdfcredentials/app_settings.py:213 -#: pdfcredentials/documents.py:111 +#: pdfcredentials/app_settings.py:169 pdfcredentials/app_settings.py:283 +#: pdfcredentials/documents.py:137 msgid "IMAP server port" msgstr "IMAP Server-Port" -#: pdfcredentials/app_settings.py:106 pdfcredentials/app_settings.py:215 +#: pdfcredentials/app_settings.py:171 pdfcredentials/app_settings.py:285 msgid "Listening port of the IMAP server" msgstr "Port, auf dem der IMAP-Servier erreicht werden kann" -#: pdfcredentials/app_settings.py:109 pdfcredentials/app_settings.py:219 -#: pdfcredentials/documents.py:112 +#: pdfcredentials/app_settings.py:177 pdfcredentials/app_settings.py:289 +#: pdfcredentials/documents.py:138 msgid "IMAP connection security" msgstr "IMAP Verbindungssicherheit" @@ -3522,84 +3750,244 @@ msgstr "IMAP Verbindungssicherheit" msgid "PDF credentials" msgstr "PDF Anmeldeinformationen" -#: pdfcredentials/apps.py:21 +#: pdfcredentials/apps.py:24 msgid "PDF Credentials" msgstr "PDF-Anmeldeinformationen" -#: pdfcredentials/documents.py:55 +#: pdfcredentials/documents.py:65 msgid "Powered by Modoboa - Mail hosting made simple" msgstr "Powered by Modoboa - Mail hosting made simple" -#: pdfcredentials/documents.py:71 +#: pdfcredentials/documents.py:84 #, python-format msgid "" "\n" "Dear %s, this document contains the credentials you will need\n" "to connect to Modoboa. Learn the content and destroy\n" "the document as soon as possible.\n" -msgstr "\nLiebe/r %s, dieses Dokument enthält die Anmeldeinformationen, die Du benötigst um Dich mit Modoboa zu verbinden. Präge Dir bitte die Informationen ein und lösche anschliessend dieses Dokument.\n" +msgstr "" +"\n" +"Liebe/r %s, dieses Dokument enthält die Anmeldeinformationen, die Du " +"benötigst um Dich mit Modoboa zu verbinden. Präge Dir bitte die " +"Informationen ein und lösche anschliessend dieses Dokument.\n" -#: pdfcredentials/documents.py:77 +#: pdfcredentials/documents.py:95 msgid "Web panel:" msgstr "Webanwendung:" -#: pdfcredentials/documents.py:91 +#: pdfcredentials/documents.py:116 msgid "" "\n" "Here you can view your emails anytime online, create filters or manage\n" "your contacts.\n" -msgstr "\nHier können Sie Ihre Emails online ansehen, Filter oder Kontakte erstellen.\n" +msgstr "" +"\n" +"Hier können Sie Ihre Emails online ansehen, Filter oder Kontakte erstellen.\n" -#: pdfcredentials/documents.py:98 +#: pdfcredentials/documents.py:126 msgid "Please change your password!" msgstr "Bitte ändern Sie Ihr Passwort!" -#: pdfcredentials/documents.py:104 +#: pdfcredentials/documents.py:130 msgid "PC/Tablet/Smartphone configuration:" msgstr "PC/Tablet/Smartphone Konfiguration:" -#: pdfcredentials/documents.py:122 +#: pdfcredentials/documents.py:153 msgid "Use those settings for your computer, tablet or phone." -msgstr "Verwenden Sie diese Einstellungen für Ihren Computer, Ihr Tablet oder Telefon" +msgstr "" +"Verwenden Sie diese Einstellungen für Ihren Computer, Ihr Tablet oder Telefon" -#: pdfcredentials/handlers.py:51 +#: pdfcredentials/handlers.py:35 +msgid "" +"Failed to create PDF_credentials directory. Please check the permissions or " +"the path." +msgstr "" + +#: pdfcredentials/handlers.py:61 msgid "Retrieve user's credentials as a PDF document" msgstr "Erhalte die Anmeldeinformationen des Benutzer als ein PDF-Dokument" -#: pdfcredentials/handlers.py:71 +#: pdfcredentials/handlers.py:82 msgid "Download PDF credentials" msgstr "PDF-Anmeldeinformationen herunterladen" -#: pdfcredentials/lib.py:27 +#: pdfcredentials/lib.py:28 msgid "Can't write to selected directory to store PDF documents" -msgstr "Es kann nicht in das ausgewählte Verzeichnis zum Speichern von PDF-Dokumenten geschrieben werden." +msgstr "" +"Es kann nicht in das ausgewählte Verzeichnis zum Speichern von PDF-" +"Dokumenten geschrieben werden." #: pdfcredentials/lib.py:34 #, python-format msgid "Failed to create the directory that will contain PDF documents (%s)" -msgstr "Ein Fehler ist bei der Erstellung des Pfades, der die PDF Dokumente (%s) enthält, aufgetreten. " +msgstr "" +"Ein Fehler ist bei der Erstellung des Pfades, der die PDF Dokumente (%s) " +"enthält, aufgetreten. " -#: relaydomains/api/v1/serializers.py:25 +#: pdfcredentials/lib.py:81 +msgid "" +"Failed to create PDF_credentials file. Please check the permissions or the " +"path." +msgstr "" + +#: policyd/core.py:88 +#, fuzzy +#| msgid "%s: limit reached" +msgid "Daily sending limit reached" +msgstr "%s: Grenze erreicht" + +#: policyd/core.py:125 +msgid "[modoboa] Sending limit reached" +msgstr "" + +#: policyd/templates/policyd/notifications/limit_reached.html:3 +#, python-format +msgid "Daily limit of the following %(ltype)s has been reached: %(name)s." +msgstr "" + +#: postfix_autoreply/api/v2/serializers.py:27 postfix_autoreply/forms.py:88 +#, fuzzy +#| msgid "This code is invalid" +msgid "This date is over" +msgstr "Dieser Code ist Falsch" + +#: postfix_autoreply/api/v2/serializers.py:30 postfix_autoreply/forms.py:90 +#, fuzzy +#| msgid "Cannot be greater than domain quota" +msgid "Must be greater than start date" +msgstr "Kann nicht größer als Domain Kontingent sein" + +#: postfix_autoreply/apps.py:12 postfix_autoreply/forms.py:163 +#, fuzzy +#| msgid "Automatic account removal" +msgid "Automatic replies" +msgstr "Automatische Konto-Entfernung" + +#: postfix_autoreply/forms.py:23 +msgid "Activate your auto reply from this date. Format : YYYY-MM-DD HH:mm:ss" +msgstr "" + +#: postfix_autoreply/forms.py:28 +msgid "Until" +msgstr "" + +#: postfix_autoreply/forms.py:31 +msgid "Activate your auto reply until this date. Format : YYYY-MM-DD HH:mm:ss" +msgstr "" + +#: postfix_autoreply/forms.py:39 +#, python-format +msgid "" +"The content of your answer. You can use the following variables, which will " +"be automatically replaced by the appropriate value: %(name)s, %(fromdate)s, " +"%(untildate)s" +msgstr "" + +#: postfix_autoreply/forms.py:110 +msgid "Automatic reply timeout" +msgstr "" + +#: postfix_autoreply/forms.py:113 +msgid "Timeout in seconds between two auto-replies to the same recipient" +msgstr "" + +#: postfix_autoreply/forms.py:119 +msgid "Default subject" +msgstr "" + +#: postfix_autoreply/forms.py:120 +msgid "I'm off" +msgstr "" + +#: postfix_autoreply/forms.py:122 +msgid "" +"Default subject used when an auto-reply message is created automatically" +msgstr "" + +#: postfix_autoreply/forms.py:129 +#, fuzzy +#| msgid "Default domain quota" +msgid "Default content" +msgstr "Standard-Domainquota" + +#: postfix_autoreply/forms.py:131 +#, python-format +msgid "" +"I'm currently off. I'll answer as soon as I come back.\n" +"\n" +"Best regards,\n" +"%(name)s\n" +msgstr "" + +#: postfix_autoreply/forms.py:138 +#, python-format +msgid "" +"Default content used when an auto-reply message is created automatically. " +"The '%(name)s' macro will be replaced by the user's full name." +msgstr "" + +#: postfix_autoreply/handlers.py:118 +#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3 +#, fuzzy +#| msgid "Custom message" +msgid "Auto-reply message" +msgstr "Eigener Nachrichtentext" + +#: postfix_autoreply/handlers.py:131 +msgid "Auto reply" +msgstr "" + +#: postfix_autoreply/models.py:15 +#, fuzzy +#| msgid "Subject" +msgid "subject" +msgstr "Betreff" + +#: postfix_autoreply/models.py:17 +msgid "The subject that will appear in sent emails" +msgstr "" + +#: postfix_autoreply/models.py:20 +msgid "content" +msgstr "" + +#: postfix_autoreply/models.py:20 +msgid "The content that will appear in sent emails" +msgstr "" + +#: postfix_autoreply/models.py:23 +msgid "Activate/Deactivate your auto reply" +msgstr "" + +#: postfix_autoreply/templates/modoboa_postfix_autoreply/autoreply.html:3 +msgid "Define a message to automatically send when you are off" +msgstr "" + +#: postfix_autoreply/views.py:30 +msgid "Auto reply message updated successfully." +msgstr "" + +#: relaydomains/api/v1/serializers.py:24 msgid "Unsupported service" msgstr "Dienst wird nicht unterstützt" -#: relaydomains/handlers.py:61 +#: relaydomains/handlers.py:64 msgid "Transport settings" msgstr "Transport Einstellungen" -#: relaydomains/handlers.py:85 +#: relaydomains/handlers.py:89 msgid "Transport" msgstr "Transport" -#: relaydomains/transport.py:14 +#: relaydomains/transport.py:16 msgid "target host address" msgstr "Ziel-Host Adresse" -#: relaydomains/transport.py:16 +#: relaydomains/transport.py:21 msgid "target host port" msgstr "Ziel-Host Port" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:27 msgid "verify recipients" msgstr "Empfänger verifizieren" @@ -3670,7 +4058,9 @@ msgstr "Passwort vergessen?" msgid "" "Your password has been set. You may go ahead and sign " "in now." -msgstr "Ihr Passwort wurde geändert. Sie können sich jetzt anmelden ." +msgstr "" +"Ihr Passwort wurde geändert. Sie können sich jetzt anmelden ." #: templates/registration/password_reset_confirm.html:7 msgid "Change password" @@ -3680,7 +4070,9 @@ msgstr "Passwort ändern" msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." -msgstr "Der Link zum Zurücksetzen des Passwortes war ungültig, möglicherweise wurde er schon verwendet. Bitte fordern Sie einen neuen Link an." +msgstr "" +"Der Link zum Zurücksetzen des Passwortes war ungültig, möglicherweise wurde " +"er schon verwendet. Bitte fordern Sie einen neuen Link an." #: templates/registration/password_reset_confirm_code.html:20 msgid "Enter the code you've just received by SMS" @@ -3696,7 +4088,12 @@ msgid "" "exists with the email you entered. You should receive them shortly. " "If you don't receive an email, please make sure you've entered your " "primary address, and check your spam folder.
" -msgstr "Wir haben Ihnen eine E-Mail mit Anweisungen zum Festlegen Ihres Passworts geschickt, falls ein Konto mit der von Ihnen eingegebenen E-Mail-Adresse vorhanden ist. Sie sollten sie in Kürze erhalten.
Wenn Sie keine E-Mail erhalten, vergewissern Sie sich, dass Sie Ihre primäre Adresse eingegeben haben und überprüfen Sie Ihren Spamordner.
" +msgstr "" +"Wir haben Ihnen eine E-Mail mit Anweisungen zum Festlegen Ihres Passworts " +"geschickt, falls ein Konto mit der von Ihnen eingegebenen E-Mail-Adresse " +"vorhanden ist. Sie sollten sie in Kürze erhalten.
Wenn Sie keine E-" +"Mail erhalten, vergewissern Sie sich, dass Sie Ihre primäre Adresse " +"eingegeben haben und überprüfen Sie Ihren Spamordner.
" #: templates/registration/password_reset_email.html:4 #: templates/registration/password_reset_email_v2.html:4 @@ -3704,14 +4101,18 @@ msgstr "Wir haben Ihnen eine E-Mail mit Anweisungen zum Festlegen Ihres Passw msgid "" "To initiate the password reset process for your %(username)s Modoboa " "account, click the link below:" -msgstr "Um das Passwort für Ihr %(username)s Modoboa Konto zurück zu setzen, klicken Sie bitte auf den folgenden Link:" +msgstr "" +"Um das Passwort für Ihr %(username)s Modoboa Konto zurück zu setzen, klicken " +"Sie bitte auf den folgenden Link:" #: templates/registration/password_reset_email.html:10 #: templates/registration/password_reset_email_v2.html:10 msgid "" "If clicking the link above doesn't work, please copy and paste the URL in a " "new browser window instead." -msgstr "Falls der Link oben nicht funktioniert, kopieren Sie diesen bitte in ein neues Browser-Fenster." +msgstr "" +"Falls der Link oben nicht funktioniert, kopieren Sie diesen bitte in ein " +"neues Browser-Fenster." #: templates/registration/password_reset_email.html:14 #: templates/registration/password_reset_email_v2.html:14 @@ -3730,14 +4131,32 @@ msgstr "Modoboa Passwort zurücksetzen" msgid "Invalid value" msgstr "Ungültiger Wert" -#: transport/models.py:16 +#: transport/models.py:15 msgid "pattern" msgstr "Muster" -#: transport/models.py:17 +#: transport/models.py:16 msgid "service" msgstr "Dienst" -#: transport/models.py:18 +#: transport/models.py:17 msgid "next hop" msgstr "nächster Hop" + +#~ msgid "An alias with this name already exists." +#~ msgstr "Ein Alias mit diesem Namen existiert bereits." + +#~ msgid "md5crypt (weak)" +#~ msgstr "md5crypt (schwach)" + +#~ msgid "sha256 (weak)" +#~ msgstr "sha256 (schwach)" + +#~ msgid "md5 (weak)" +#~ msgstr "md5 (schwach)" + +#~ msgid "crypt (weak)" +#~ msgstr "crypt (schwach)" + +#~ msgid "plain (weak)" +#~ msgstr "plain (schwach)"